发明名称 一种空时网格码的构造方法
摘要 本发明提供了一种空时网格码的构造方法,它是通过构造特定的码字,使得从同一状态出发的不同路径的输出相减得到的矩阵(以下称为差错矩阵)为上三角阵,且对角线元素全不为零,从而差错矩阵满秩——即获得满分集增益,然后再在这些满分集增益的码中搜寻具有最大编码增益的最优码。它适用于构造任意天线数目的空时网格码,根据该方法搜索出的网格码还具有较大的编码增益,采用该方法构造多天线的空时网格码,具有运算量小、搜索速度快、容易实现的特点。
申请公布号 CN1722637A 申请公布日期 2006.01.18
申请号 CN200410040218.6 申请日期 2004.07.15
申请人 电子科技大学 发明人 孙刚;孙洁;龚耀寰
分类号 H04B7/06(2006.01);H03M7/00(2006.01) 主分类号 H04B7/06(2006.01)
代理机构 代理人
主权项 1、一种空时网格码的构造方法,其特征是采用下面的码字搜索步骤和编码步骤:所述的码字搜索步骤包括下面的步骤:步骤1:初始化置循环标志变量s=0,确定发射天线数nT,以及调制方式,由调制方式就可以确定了相移键控调制后的每个符号对应的二进制信息的bit数b的值;步骤2:确定与码字的状态转移矩阵Y唯一对应的矩阵X,根据一个这样的X可以生成一个空时网格码的状态转移矩阵Y,Y的表达式:选取一组向量x0,x1,…,(Ω表示(0,1,…,2b-1)按任意顺序排列的组合)则构造矩阵:由于Ω的大小为2b!,X为nT行,从上面X的表达式发现X一共有(2b!)nT种可能的情况,表示空时网格码的搜索空间为(2b!)nT;步骤3:根据步骤2中确定的矩阵X确定码字状态转移矩阵Y的所有组的第一个元素,它们表示经过空时网格编码后第一根天线的输出;令矩阵Y中元素yi,j,0=x0,j;<math> <mrow> <mi>i</mi> <mo>=</mo> <mn>0,1</mn> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <msup> <mn>2</mn> <mrow> <mi>b</mi> <mrow> <mo>(</mo> <msub> <mi>n</mi> <mi>T</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msup> <mo>-</mo> <mn>1</mn> <mo>,</mo> </mrow> </math> j=0,1,…,2b-1;这样就确定了矩阵Y中所有组的第一个元素,同时保证了在空时网格码的状态转移图中从相同起始状态到达不同终止状态时,第一根天线上的输出不同;步骤4:根据步骤2中确定的矩阵X确定码字状态转移矩阵Y的所有组的除第一个元素外的其它元素,这样就确定了所有可能状态转移发生时,经过空时网格编码后不同天线上的输出;令矩阵Y中的元素yi,j,k=xk,p;其中<math> <mrow> <mi>p</mi> <mo>=</mo> <mo>[</mo> <mi>mod</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>,</mo> <msup> <mn>2</mn> <mi>bk</mi> </msup> <mo>)</mo> </mrow> <mo>/</mo> <msup> <mn>2</mn> <mrow> <mi>b</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msup> <mo>]</mo> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>0,1</mn> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <msup> <mn>2</mn> <mrow> <mi>b</mi> <mrow> <mo>(</mo> <msub> <mi>n</mi> <mi>T</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </msup> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>0,1</mn> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <msup> <mn>2</mn> <mi>b</mi> </msup> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mi>k</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <msub> <mi>n</mi> <mi>T</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>;</mo> </mrow> </math> 这时就确定了Y的所有元素,记此时的状态转移矩阵Y为Ys;这一步保证了构造的网格码从同一个状态出发的不同路径所对应的差错矩阵为上三角阵;步骤5:计算本次搜索的空时网格码的编码增益取所有满足如下关系的整数对(l,m):0<l<2b,0≤m≤l,算出每一对(l,m)所对应的并取最小的一个记为Js;于是得出此次搜索的码字的编码增益Js:置s=s+1,重复步骤2~5可得到(2b!)nT个不同空时网格码编码增益Js,其中s=0,1,…,(2b!)nT,重复步骤2~5时矩阵X的选取不能重复:步骤6:确定最优空时网格码对应的状态转移矩阵Ys 找出最大的Js 记为Js0以及这时对应的Ys0,则Ys0即为搜索到的最优码的状态转移矩阵;步骤7:根据步骤6得到的最优的空时网格码的状态转移矩阵Ys0,求出最优的空时网格码的生成矩阵Gs0:<math> <mrow> <mover> <msub> <mi>g</mi> <mi>i</mi> </msub> <mo>&OverBar;</mo> </mover> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mo>[</mo> <msub> <mi>f</mi> <mi>b</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mrow> <mn>0</mn> <mo>,</mo> <msup> <mn>2</mn> <mrow> <mi>b</mi> <mo>-</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> <mn>0</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>f</mi> <mi>b</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mrow> <mn>0,</mn> <msup> <mn>2</mn> <mrow> <mi>b</mi> <mo>-</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <msub> <mi>f</mi> <mi>b</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mrow> <mn>0</mn> <mo>,</mo> <msup> <mn>2</mn> <mrow> <mi>b</mi> <mo>-</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> <msub> <mi>n</mi> <mi>T</mi> </msub> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <msup> <mo>]</mo> <mi>T</mi> </msup> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>0,1</mn> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <mi>b</mi> <mo>-</mo> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <mo>[</mo> <msub> <mi>f</mi> <mi>b</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mrow> <msup> <mn>2</mn> <mrow> <mi>b</mi> <mrow> <mo>(</mo> <msub> <mi>n</mi> <mi>T</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>-</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> <mn>0,0</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>f</mi> <mi>b</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mrow> <msup> <mn>2</mn> <mrow> <mi>b</mi> <mrow> <mo>(</mo> <msub> <mi>n</mi> <mi>T</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>-</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> <mn>0,1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <msub> <mi>f</mi> <mi>b</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mrow> <msup> <mn>2</mn> <mrow> <mi>b</mi> <mrow> <mo>(</mo> <msub> <mi>n</mi> <mi>t</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>-</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> <mn>0</mn> <mo>,</mo> <msub> <mi>n</mi> <mi>T</mi> </msub> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <msup> <mo>]</mo> <mi>T</mi> </msup> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mi>b</mi> <mo>,</mo> <mi>b</mi> <mo>+</mo> <mn>1</mn> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <mi>b</mi> <msub> <mi>n</mi> <mi>T</mi> </msub> <mo>-</mo> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> </mrow> </math> (fb(x)见符号定义7)令<math> <mrow> <msub> <mi>G</mi> <msub> <mi>s</mi> <mn>0</mn> </msub> </msub> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mover> <mi>g</mi> <mo>&OverBar;</mo> </mover> <mn>0</mn> </msub> </mtd> <mtd> <msub> <mover> <mi>g</mi> <mo>&OverBar;</mo> </mover> <mn>1</mn> </msub> </mtd> <mtd> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> </mtd> <mtd> <msub> <mover> <mi>g</mi> <mo>&OverBar;</mo> </mover> <mrow> <msub> <mi>bn</mi> <mi>T</mi> </msub> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>;</mo> </mrow> </math> 则Gs0就是搜索到的最优的空时网格码的生成矩阵;步骤1~7为码字搜索步骤:所述的编码步骤是:步骤8:根据空时网格码的生成矩阵Gs0进行空时编码:得到最优码的生成矩阵Gs0后,网格码编码方法描述如下:假如编码器当前状态为Si,i的二进制表示为m0,m1,…,mb(nT-2)-1,当前输入的二进制表示为u0,u1,…,ub-1,则此时输出的二进制向量形式为:<math> <mrow> <mi>V</mi> <mo>=</mo> <mo>[</mo> <msub> <mi>u</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>u</mi> <mn>1</mn> </msub> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <msub> <mi>u</mi> <mrow> <mi>b</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>m</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>m</mi> <mn>1</mn> </msub> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <msub> <mi>m</mi> <mrow> <mi>b</mi> <mrow> <mo>(</mo> <msub> <mi>n</mi> <mi>T</mi> </msub> <mo>-</mo> <mn>2</mn> <mo>)</mo> </mrow> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>]</mo> <mo>*</mo> <msubsup> <mi>G</mi> <msub> <mi>s</mi> <mn>0</mn> </msub> <mi>T</mi> </msubsup> <mi>mod</mi> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> V的列数是bnT,V可表达为:<math> <mrow> <mi>V</mi> <mo>=</mo> <mo>[</mo> <msub> <mi>v</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <msub> <mi>v</mi> <mrow> <mi>b</mi> <msub> <mi>n</mi> <mi>T</mi> </msub> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>]</mo> <mo>,</mo> </mrow> </math> 由此可以得到空时网格编码输出的星座符号:<math> <mrow> <mi>c</mi> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <msub> <mi>v</mi> <mrow> <mi>b</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mi>c</mi> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mrow> <mi>b</mi> <mo>+</mo> <mn>0</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>v</mi> <mrow> <mi>b</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <msub> <mi>v</mi> <mrow> <mi>b</mi> <mo>+</mo> <mi>b</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <mi>c</mi> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mrow> <mi>b</mi> <mrow> <mo>(</mo> <msub> <mi>n</mi> <mi>T</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mn>0</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>v</mi> <mrow> <mi>b</mi> <mrow> <mo>(</mo> <msub> <mi>n</mi> <mi>T</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <msub> <mi>v</mi> <mrow> <mi>b</mi> <mrow> <mo>(</mo> <msub> <mi>n</mi> <mi>T</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mi>b</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </math> (其中<math> <mrow> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>v</mi> <mn>1</mn> </msub> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <msub> <mi>v</mi> <mrow> <mi>b</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mrow> <mi>b</mi> <mo>+</mo> <mn>0</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>v</mi> <mrow> <mi>b</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <msub> <mi>v</mi> <mrow> <mi>b</mi> <mo>+</mo> <mi>b</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <mrow> <mo>(</mo> <msub> <mi>v</mi> <mrow> <mi>b</mi> <mrow> <mo>(</mo> <msub> <mi>n</mi> <mi>T</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mn>0</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>v</mi> <mrow> <mi>b</mi> <mrow> <mo>(</mo> <msub> <mi>n</mi> <mi>T</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>&CenterDot;</mo> <mo>,</mo> <msub> <mi>v</mi> <mrow> <mi>b</mi> <mrow> <mo>(</mo> <msub> <mi>n</mi> <mi>T</mi> </msub> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <mi>b</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow> </math> 分别表示nT个b位的二进制数),这些星座符号分别被映射到nT根天线发射出去;假设到达的新状态为Si′,则该新状态的序号i′的二进制表示为:[u0,u1,…,ub-1,m0,m1,…,mb(nT-2)-1]这样就完成了整个空时编码的过程。
地址 610054四川省成都市建设北路二段四号