发明名称 一种改进的软输出咬尾卷积码译码方法
摘要 本发明公开了一种改进的软输出咬尾卷积码译码方法,具体步骤:(1)获得对数似然比序列;(2)计算分支度量;(3)计算前向度量;(4)计算后向度量;(5)计算信息位对数似然比值组成对数似然比序列;(6)判决。本发明对分支度量进行一次计算,对前向度量和后向度量进行两次计算,再利用拼接,将对数似然比进行组合计算,复杂度较低,且提高了译码性能。本发明将计算信息位对数似然比序列作为软输出,使得本发明能将咬尾卷积码作为内码在整个系统中与外码进行迭代,扩展了应用价值。
申请公布号 CN106301391A 申请公布日期 2017.01.04
申请号 CN201610643446.5 申请日期 2016.08.08
申请人 西安电子科技大学 发明人 平磊;曹明星;白宝明;孙韶辉;王加庆
分类号 H03M13/23(2006.01)I;H03M13/41(2006.01)I 主分类号 H03M13/23(2006.01)I
代理机构 陕西电子工业专利中心 61205 代理人 田文英;王品华
主权项 一种改进的软输出咬尾卷积码译码方法,包括如下步骤:(1)获得对数似然比序列:将接收的码字序列按照信息位在校验位之前的排列方式,分别从接收的码字序列中取出所有的信息位的对数似然比和校验位的对数似然比,得到信息位对数似然比序列和校验位的对数似然比序列;(2)计算分支转移度量值:依次计算每个对数似然比序列所对应的时刻中,所有可能的状态对应的分支转移度量值;(3)计算前向度量:(3a)按照下式,计算0时刻,编码器中寄存器的状态的前向度量值:α<sub>0</sub>(s)=log(1/2<sup>m</sup>)其中,α<sub>0</sub>(s)表示0时刻编码器中寄存器的第s个状态的前向度量值,s的取值范围为[0,2<sup>m</sup>‑1],m表示编码器中寄存器的总数,log表示以e为底的对数操作;(3b)按照下式,依次计算1≤l≤L时刻内,编码器中寄存器的状态的第一段的前向度量值:<maths num="0001"><math><![CDATA[<mrow><msub><mi>&alpha;</mi><mi>l</mi></msub><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mo>=</mo><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><msup><mi>s</mi><mo>&prime;</mo></msup></munder><mo>&lsqb;</mo><msub><mi>&alpha;</mi><mrow><mi>l</mi><mo>-</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><msup><mi>s</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>+</mo><msub><mi>&gamma;</mi><mrow><mi>l</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>l</mi></mrow></msub><mrow><mo>(</mo><msup><mi>s</mi><mo>&prime;</mo></msup><mo>,</mo><mi>s</mi><mo>)</mo></mrow><mo>&rsqb;</mo></mrow>]]></math><img file="FDA0001072500150000011.GIF" wi="676" he="87" /></maths>其中,α<sub>l</sub>(s)表示l时刻,编码器中寄存器的第s个状态的前向状态度量,l表示译码时刻,s的取值范围为[0,2<sup>m</sup>‑1],m表示编码器中寄存器的总数,max表示取最大值操作,α<sub>l‑1</sub>(s′)表示l‑1时刻编码器中寄存器的第s'状态的前向状态度量,s'的取值范围为[0,2<sup>m</sup>‑1],γ<sub>l‑1,l</sub>(s′,s)表示从l‑1时刻编码器中寄存器的第s′个状态,转移到l时刻编码器中寄存器的第s个状态的分支转移度量值;(3c)按照下式,依次计算L+1≤l≤2L‑1时刻内,编码器中寄存器的状态的第二段的前向度量值:<maths num="0002"><math><![CDATA[<mrow><msub><mi>&alpha;</mi><mi>l</mi></msub><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mo>=</mo><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><msup><mi>s</mi><mo>&prime;</mo></msup></munder><mo>&lsqb;</mo><msub><mi>&alpha;</mi><mrow><mi>l</mi><mo>-</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><msup><mi>s</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>+</mo><msub><mi>&gamma;</mi><mrow><mi>l</mi><mo>-</mo><mn>1</mn><mo>-</mo><mi>L</mi><mo>,</mo><mi>l</mi><mo>-</mo><mi>L</mi></mrow></msub><mrow><mo>(</mo><msup><mi>s</mi><mo>&prime;</mo></msup><mo>,</mo><mi>s</mi><mo>)</mo></mrow><mo>&rsqb;</mo></mrow>]]></math><img file="FDA0001072500150000012.GIF" wi="745" he="86" /></maths>其中,α<sub>l</sub>(s)表示l时刻编码器中寄存器的第s个状态的前向状态度量,l表示译码时刻,s的取值范围为[0,2<sup>m</sup>‑1],m表示编码器中寄存器的总数,max表示取最大值操作,α<sub>l‑1</sub>(s′)表示l‑1时刻编码器中寄存器的第s'个状态的前向状态度量,s'的取值范围为[0,2<sup>m</sup>‑1],γ<sub>l‑1‑L,l‑L</sub>(s′,s)表示从l‑1‑L时刻编码器中寄存器的第s′个状态,转移到l‑L时刻编码器中寄存器的第s个状态的分支转移度量值,L表示编码时候信息位对数似然比序列的长度;(4)计算后向度量:(4a)按照下式,计算2L时刻编码器中寄存器的状态的后向度量值:β<sub>2L</sub>(s)=log(1/2<sup>m</sup>)其中,β<sub>2L</sub>(s)表示2L时刻编码器中寄存器的第s个状态的后向度量值,log表示以e为底的对数操作,m表示编码器的寄存器总数;(4b)按照下式,依次计算L+1≤l≤2L‑1时刻内,编码器中寄存器的状态的第二段的后向度量值:<maths num="0003"><math><![CDATA[<mrow><msub><mi>&beta;</mi><mi>l</mi></msub><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mo>=</mo><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><msup><mi>s</mi><mo>&prime;</mo></msup></munder><mo>&lsqb;</mo><msub><mi>&beta;</mi><mrow><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><msup><mi>s</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>+</mo><msub><mi>&gamma;</mi><mrow><mi>l</mi><mo>-</mo><mi>L</mi><mo>,</mo><mi>l</mi><mo>+</mo><mn>1</mn><mo>-</mo><mi>L</mi></mrow></msub><mrow><mo>(</mo><msup><mi>s</mi><mo>&prime;</mo></msup><mo>,</mo><mi>s</mi><mo>)</mo></mrow><mo>&rsqb;</mo></mrow>]]></math><img file="FDA0001072500150000021.GIF" wi="745" he="87" /></maths>其中,β<sub>l</sub>(s)表示l时刻编码器中寄存器的第s个状态的后向状态度量,l表示译码时刻,s的取值范围为[0,2<sup>m</sup>‑1],m表示编码器中寄存器的总数,max表示取最大值操作,β<sub>l+1</sub>(s′)表示l+1时刻编码器中寄存器的第s'个状态的前向状态度量,s'的取值范围为[0,2<sup>m</sup>‑1],γ<sub>l‑L,l+1‑L</sub>(s′,s)表示从l‑L时刻编码器中寄存器从第s′个状态转移到l+1‑L时刻,编码器中寄存器的第s个状态的分支转移度量值,L表示编码时候信息位对数似然比序列的长度;(4c)按照下式,依次计算1≤l≤L时刻内,编码器中寄存器的状态的第一段的后向度量值:<maths num="0004"><math><![CDATA[<mrow><msub><mi>&beta;</mi><mi>l</mi></msub><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mo>=</mo><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><msup><mi>s</mi><mo>&prime;</mo></msup></munder><mo>&lsqb;</mo><msub><mi>&beta;</mi><mrow><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><msup><mi>s</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>+</mo><msub><mi>&gamma;</mi><mrow><mi>l</mi><mo>,</mo><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><msup><mi>s</mi><mo>&prime;</mo></msup><mo>,</mo><mi>s</mi><mo>)</mo></mrow><mo>&rsqb;</mo></mrow>]]></math><img file="FDA0001072500150000022.GIF" wi="675" he="87" /></maths>其中,β<sub>l</sub>(s)表示l时刻编码器中寄存器的第s个状态的后向状态度量,l表示译码时刻,s的取值范围为[0,2<sup>m</sup>‑1],m表示编码器中寄存器的总数,max表示取最大值操作,β<sub>l+1</sub>(s′)表示l+1时刻编码器中寄存器的第s'个状态的前向状态度量,s'的取值范围为[0,2<sup>m</sup>‑1],γ<sub>l,l+1</sub>(s′,s)表示从l时刻编码器的寄存器s′个状态,转移到l+1时刻编码器中寄存器的第s状态的分支转移度量值;(5)按照下式,依次计算0≤l≤L‑1时刻内信息位对数似然比值,将按照计算得到的所有时刻的信息位对数似然比值的顺序,排列组成信息位对数似然比序列:<maths num="0005"><math><![CDATA[<mrow><mi>L</mi><mrow><mo>(</mo><msub><mi>u</mi><mi>l</mi></msub><mo>)</mo></mrow><mo>=</mo><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><mrow><mo>(</mo><msup><mi>s</mi><mo>&prime;</mo></msup><mo>,</mo><mi>s</mi><mo>)</mo></mrow></munder><mo>&lsqb;</mo><msub><mi>&alpha;</mi><mrow><mi>l</mi><mo>+</mo><mi>L</mi><mo>-</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><msup><mi>s</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>+</mo><msub><mi>&gamma;</mi><mrow><mi>l</mi><mo>,</mo><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><msup><mi>s</mi><mo>&prime;</mo></msup><mo>,</mo><mi>s</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>&beta;</mi><mi>l</mi></msub><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mo>|</mo><mn>1</mn><mo>&rsqb;</mo><mo>-</mo><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><mrow><mo>(</mo><msup><mi>s</mi><mo>&prime;</mo></msup><mo>,</mo><mi>s</mi><mo>)</mo></mrow></munder><mo>&lsqb;</mo><msub><mi>&alpha;</mi><mrow><mi>l</mi><mo>+</mo><mi>L</mi><mo>-</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><msup><mi>s</mi><mo>&prime;</mo></msup><mo>)</mo></mrow><mo>+</mo><msub><mi>&gamma;</mi><mrow><mi>l</mi><mo>,</mo><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><msup><mi>s</mi><mo>&prime;</mo></msup><mo>,</mo><mi>s</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>&beta;</mi><mi>l</mi></msub><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mo>|</mo><mn>0</mn><mo>&rsqb;</mo></mrow>]]></math><img file="FDA0001072500150000031.GIF" wi="1678" he="95" /></maths>其中,L(u<sub>l</sub>)表示l时刻信息位的对数似然比值,l表示译码时刻,max表示取最大值操作,s′表示编码器中寄存器的第s′个状态,s′的取值范围为[0,2<sup>m</sup>‑1],m表示编码器中寄存器的总数,s表示编码器中寄存器的第s个状态,s的取值范围为[0,2<sup>m</sup>‑1],α<sub>l+L‑1</sub>(s′)表示第二段l+L‑1时刻编码器中寄存器的第s个状态前向度量值,L表示编码时候信息位对数似然比序列的长度,γ<sub>l,l+1</sub>(s′,s)表示从l时刻编码器中寄存器的第s′个状态,转移到l+1时刻编码器中寄存器的第s个状态的分支转移度量值,β<sub>l</sub>(s)表示表示第一段l时刻编码器中寄存器第s个状态的后向度量值,|表示条件转移符号;(6)判决:将信息位对数似然比序列大于0的值判决为1,小于等于0的值判决为0。
地址 710071 陕西省西安市太白南路2号