主权项 |
1.一种基于LDPC-BCH网格的低码率编码方法,其特征在于,采用BCH码约束替换常规LDPC网格中的奇偶校验码约束来扩展校验序列,该方法包括以下步骤;1)进行LDPC编码:设LDPC的校验矩阵H<sub>L</sub>为M<sub>L</sub>×N<sub>L</sub>维,输入一个长度为K<sub>L</sub>=N<sub>L</sub>-M<sub>L</sub>的信息序列a<sub>L</sub>=[a(0),a(1),…,a(K<sub>L</sub>-1)],进行LDPC编码后得到一个长度为N<sub>L</sub>的LDPC码字c<sub>L</sub>=[p<sub>L</sub>,a<sub>L</sub>],其中p<sub>L</sub>=[p(0),p(1),…,p(M<sub>L</sub>-1)]为生成的LDPC码校验序列;2)利用步骤1)得到的LDPC码字c<sub>L</sub>进行BCH编码,具体包括:(1)设LDPC码的双向Tanner图中第y个校验节点为i<sub>y</sub>阶(y=0,1,…,M<sub>L</sub>-1),初始条件下,设置y=0;(2)若i<sub>y</sub>≥5,将第y个校验节点替换为i<sub>y</sub>阶的BCH校验节点,否则转入步骤(13);(3)令连接到第y个BCH校验节点的前i<sub>y</sub>-1个LDPC变量节点所对应的比特组成进行BCH编码的信息序列u<sub>B,y</sub>=[u(0),u(1),…,u(i<sub>y</sub>-2)];(4)选择一个信息序列长度为i<sub>y</sub>-1比特的BCH码,对应的码长为n<sub>y</sub>,将该码的生成矩阵表示为系统结构:<img file="FDA00002900354000011.GIF" wi="957" he="340" />(5)选择<img file="FDA00002900354000012.GIF" wi="94" he="71" />中的最大列重w<sub>y</sub>所在列为t<sub>y</sub>,若w<sub>y</sub>=i<sub>y</sub>-1,转入步骤(6)或步骤(8);若w<sub>y</sub><i<sub>y</sub>-1,转入步骤(9);(6)利用系统结构<img file="FDA00002900354000013.GIF" wi="94" he="74" />对信息序列u<sub>B,y</sub>进行系统BCH编码,生成系统BCH序列<img file="FDA00002900354000014.GIF" wi="103" he="74" /><maths num="0001"><![CDATA[<math><mrow><msubsup><mi>v</mi><mrow><mi>B</mi><mo>,</mo><mi>y</mi></mrow><mi>sys</mi></msubsup><mo>=</mo><msub><mi>u</mi><mrow><mi>B</mi><mo>,</mo><mi>y</mi></mrow></msub><mo>·</mo><msubsup><mi>G</mi><mrow><mi>B</mi><mo>,</mo><mi>y</mi></mrow><mi>sys</mi></msubsup></mrow></math>]]></maths>(7)在提取出的<img file="FDA00002900354000016.GIF" wi="85" he="71" />的前n<sub>y</sub>-i<sub>y</sub>+1比特里删除<img file="FDA00002900354000017.GIF" wi="95" he="71" />中的最大列重w<sub>y</sub>所在列t<sub>y</sub>所生成的校验比特<img file="FDA00002900354000018.GIF" wi="178" he="76" />得到删除BCH序列v<sub>punc,y</sub>(y=0,1,…,M<sub>L</sub>-1),转入步骤(13);(8)选择信息序列u<sub>B,y</sub>中进行非系统BCH编码处理的比特u<sub>B,y</sub>(l)(0≤l≤i<sub>y</sub>-2),构造一个k=i<sub>y</sub>-1维的单位阵E,将其中的第l行(0≤l≤i<sub>y</sub>-2)置换为全1的行向量,转入步骤(10);(9)找出系统结构<img file="FDA00002900354000021.GIF" wi="95" he="75" />中第t<sub>y</sub>列所有零元素的行位置l<sub>0</sub>,l<sub>1</sub>,…,<img file="FDA00002900354000022.GIF" wi="164" he="79" />构造一个k=i<sub>y</sub>-1维的单位阵E,将其中的l<sub>0</sub>,l<sub>1</sub>,…,<img file="FDA00002900354000023.GIF" wi="131" he="78" />行置换为全1的行向量;(10)利用系统结构<img file="FDA00002900354000024.GIF" wi="90" he="71" />生成非系统BCH码的生成矩阵:<maths num="0002"><![CDATA[<math><mrow><msubsup><mi>G</mi><mrow><mi>B</mi><mo>,</mo><mi>y</mi></mrow><mi>NS</mi></msubsup><mo>=</mo><mi>E</mi><mo>·</mo><msubsup><mi>G</mi><mrow><mi>B</mi><mo>,</mo><mi>y</mi></mrow><mi>sys</mi></msubsup></mrow></math>]]></maths>(11)利用步骤(10)生成的非系统BCH码的生成矩阵对信息序列u<sub>B,y</sub>进行非系统BCH编码,生成非系统BCH序列<img file="FDA00002900354000025.GIF" wi="106" he="77" /><maths num="0003"><![CDATA[<math><mrow><msubsup><mi>v</mi><mrow><mi>B</mi><mo>,</mo><mi>y</mi></mrow><mi>NS</mi></msubsup><mo>=</mo><msub><mi>u</mi><mrow><mi>B</mi><mo>,</mo><mi>y</mi></mrow></msub><mo>·</mo><msubsup><mi>G</mi><mrow><mi>B</mi><mo>,</mo><mi>y</mi></mrow><mi>NS</mi></msubsup></mrow></math>]]></maths>(12)删除非系统BCH序列<maths num="0004"><![CDATA[<math><msubsup><mi>v</mi><mrow><mi>B</mi><mo>,</mo><mi>y</mi></mrow><mi>NS</mi></msubsup></math>]]></maths>中的<maths num="0005"><![CDATA[<math><mrow><msubsup><mi>v</mi><mrow><mi>B</mi><mo>,</mo><mi>y</mi></mrow><mi>NS</mi></msubsup><mrow><mo>(</mo><msub><mi>n</mi><mi>y</mi></msub><mo>-</mo><msub><mi>i</mi><mi>y</mi></msub><mo>+</mo><mn>1</mn><mo>+</mo><msub><mi>l</mi><mn>0</mn></msub><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths><maths num="0006"><![CDATA[<math><mrow><msubsup><mi>v</mi><mrow><mi>B</mi><mo>,</mo><mi>y</mi></mrow><mi>NS</mi></msubsup><mrow><mo>(</mo><msub><mi>n</mi><mi>y</mi></msub><mo>-</mo><msub><mi>i</mi><mi>y</mi></msub><mo>+</mo><mn>1</mn><mo>+</mo><msub><mi>l</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>,</mo><mo>·</mo><mo>·</mo><mo>·</mo><mo>,</mo></mrow></math>]]></maths><maths num="0007"><![CDATA[<math><mrow><msubsup><mi>v</mi><mrow><mi>B</mi><mo>,</mo><mi>y</mi></mrow><mi>NS</mi></msubsup><mrow><mo>(</mo><msub><mi>n</mi><mi>y</mi></msub><mo>-</mo><msub><mi>i</mi><mi>y</mi></msub><mo>+</mo><mn>1</mn><mo>+</mo><msub><mi>l</mi><mrow><msub><mi>i</mi><mi>y</mi></msub><mo>-</mo><msub><mi>w</mi><mi>y</mi></msub><mo>-</mo><mn>2</mn></mrow></msub><mo>)</mo></mrow></mrow></math>]]></maths>和<maths num="0008"><![CDATA[<math><mrow><msubsup><mi>v</mi><mrow><mi>B</mi><mo>,</mo><mi>y</mi></mrow><mi>NS</mi></msubsup><mrow><mo>(</mo><msub><mi>t</mi><mi>y</mi></msub><mo>)</mo></mrow></mrow></math>]]></maths>(或<maths num="0009"><![CDATA[<math><mrow><msubsup><mi>v</mi><mrow><mi>B</mi><mo>,</mo><mi>y</mi></mrow><mi>NS</mi></msubsup><mrow><mo>(</mo><msub><mi>n</mi><mi>y</mi></msub><mo>-</mo><msub><mi>i</mi><mi>y</mi></msub><mo>+</mo><mn>1</mn><mo>+</mo><mi>l</mi><mo>)</mo></mrow></mrow></math>]]></maths>和<maths num="0010"><![CDATA[<math><mrow><msubsup><mi>v</mi><mrow><mi>B</mi><mo>,</mo><mi>y</mi></mrow><mi>NS</mi></msubsup><mrow><mo>(</mo><msub><mi>t</mi><mi>y</mi></msub><mo>)</mo></mrow></mrow></math>]]></maths>),得到删除BCH序列v<sub>punc,y</sub>;(13)若y=M<sub>L</sub>-1,则完成BCH编码,转步骤3);否则令y=y+1,转入步骤(2);3)将步骤1)得到的LDPC码字c<sub>L</sub>和步骤2)得到的M<sub>L</sub>个删除BCH序列v<sub>punc,y</sub>(y=0,1,…,M<sub>L</sub>-1)组合,得到LDPC-BCH码字<maths num="0011"><![CDATA[<math><mrow><mi>c</mi><mo>=</mo><mo>[</mo><msub><mi>c</mi><mi>L</mi></msub><mo>,</mo><msub><mi>v</mi><mrow><mi>punc</mi><mo>,</mo><mn>0</mn></mrow></msub><mo>,</mo><msub><mi>v</mi><mrow><mi>punc</mi><mo>,</mo><mn>1</mn></mrow></msub><mo>,</mo><mo>·</mo><mo>·</mo><mo>·</mo><mo>,</mo><msub><mi>v</mi><mrow><mi>punc</mi><mo>,</mo><msub><mi>M</mi><mi>L</mi></msub><mo>-</mo><mn>1</mn></mrow></msub><mo>]</mo><mo>.</mo></mrow></math>]]></maths> |