主权项 |
一种通用的高性能基‑4的软输出维特比Radix‑4SOVA译码器,包括:输入数据存储模块(1),用于接收并存储接收到的信道信息序列;分支度量计算模块(2),利用输入数据存储模块(1)提供的信道信息序列,以及Turbo外信息计算存储模块(7)或CTC外信息计算存储模块(10)提供的先验信息序列,并根据分支度量计算公式,计算译码时两步状态转移的分支度量,并将计算得到的分支度量输出给累积路径度量计算模块(3);累积路径度量计算模块(3),用于对分支度量计算模块(2)输出的分支度量,利用累积路径度量的递归计算公式,计算译码路径的累积路径度量,并将累积路径度量输出给可信度计算模块(4);可信度计算模块(4),利用累积路径度量计算模块(3)输出的累积路径度量,并根据可信度递归更新公式,对译码比特对的可信度进行更新,得到如下k+1时刻状态<img file="FDA00009210075900000110.GIF" wi="81" he="68" />关于译码比特对u<sub>l,l+1</sub>=00、u<sub>l,l+1</sub>=01、u<sub>l,l+1</sub>=10和u<sub>l,l+1</sub>=11的可信度,并将更新后的可信度输出给可信度存储模块(5):<maths num="0001"><math><![CDATA[<mrow><mi>L</mi><mi>L</mi><mi>R</mi><mrow><mo>(</mo><msub><mi>u</mi><mrow><mi>l</mi><mo>,</mo><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mn>00</mn><mo>|</mo><msubsup><mi>P</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mi>s</mi></msubsup><mo>,</mo><msubsup><mi>y</mi><msub><mrow></mrow><mn>1</mn></msub><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>=</mo><munder><mi>max</mi><msubsup><mi>P</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>s</mi><mi>i</mi></msub></msubsup></munder><mo>{</mo><mi>L</mi><mi>L</mi><mi>R</mi><mrow><mo>(</mo><msub><mi>u</mi><mrow><mi>l</mi><mo>,</mo><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mn>00</mn><mo>|</mo><msubsup><mi>P</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>s</mi><mi>i</mi></msub></msubsup><mo>,</mo><msubsup><mi>y</mi><mn>1</mn><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>+</mo><msubsup><mi>Δ</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn><mo>→</mo><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mrow><msub><mi>s</mi><mi>i</mi></msub><mo>→</mo><mi>s</mi></mrow></msubsup><mo>}</mo></mrow>]]></math><img file="FDA0000921007590000011.GIF" wi="1440" he="120" /></maths><maths num="0002"><math><![CDATA[<mrow><mi>L</mi><mi>L</mi><mi>R</mi><mrow><mo>(</mo><msub><mi>u</mi><mrow><mi>l</mi><mo>,</mo><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mn>01</mn><mo>|</mo><msubsup><mi>P</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mi>s</mi></msubsup><mo>,</mo><msubsup><mi>y</mi><mn>1</mn><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>=</mo><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><msubsup><mi>P</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>s</mi><mi>i</mi></msub></msubsup></munder><mo>{</mo><mi>L</mi><mi>L</mi><mi>R</mi><mrow><mo>(</mo><msub><mi>u</mi><mrow><mi>l</mi><mo>,</mo><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mn>01</mn><mo>|</mo><msubsup><mi>P</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>s</mi><mi>i</mi></msub></msubsup><mo>,</mo><msubsup><mi>y</mi><mn>1</mn><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>+</mo><msubsup><mi>Δ</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn><mo>→</mo><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mrow><msub><mi>s</mi><mi>i</mi></msub><mo>→</mo><mi>s</mi></mrow></msubsup><mo>}</mo></mrow>]]></math><img file="FDA0000921007590000012.GIF" wi="1430" he="123" /></maths><maths num="0003"><math><![CDATA[<mrow><mi>L</mi><mi>L</mi><mi>R</mi><mrow><mo>(</mo><msub><mi>u</mi><mrow><mi>l</mi><mo>,</mo><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mn>10</mn><mo>|</mo><msubsup><mi>P</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mi>s</mi></msubsup><mo>,</mo><msubsup><mi>y</mi><mn>1</mn><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>=</mo><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><msubsup><mi>P</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>s</mi><mi>i</mi></msub></msubsup></munder><mo>{</mo><mi>L</mi><mi>L</mi><mi>R</mi><mrow><mo>(</mo><msub><mi>u</mi><mrow><mi>l</mi><mo>,</mo><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mn>10</mn><mo>|</mo><msubsup><mi>P</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>s</mi><mi>i</mi></msub></msubsup><mo>,</mo><msubsup><mi>y</mi><mn>1</mn><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>+</mo><msubsup><mi>Δ</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn><mo>→</mo><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mrow><msub><mi>s</mi><mi>i</mi></msub><mo>→</mo><mi>s</mi></mrow></msubsup><mo>}</mo></mrow>]]></math><img file="FDA0000921007590000013.GIF" wi="1427" he="122" /></maths><maths num="0004"><math><![CDATA[<mrow><mi>L</mi><mi>L</mi><mi>R</mi><mrow><mo>(</mo><msub><mi>u</mi><mrow><mi>l</mi><mo>,</mo><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mn>11</mn><mo>|</mo><msubsup><mi>P</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mi>s</mi></msubsup><mo>,</mo><msubsup><mi>y</mi><mn>1</mn><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>=</mo><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><msubsup><mi>P</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>s</mi><mi>i</mi></msub></msubsup></munder><mo>{</mo><mi>L</mi><mi>L</mi><mi>R</mi><mrow><mo>(</mo><msub><mi>u</mi><mrow><mi>l</mi><mo>,</mo><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>=</mo><mn>11</mn><mo>|</mo><msubsup><mi>P</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>s</mi><mi>i</mi></msub></msubsup><mo>,</mo><msubsup><mi>y</mi><mn>1</mn><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>+</mo><msubsup><mi>Δ</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn><mo>→</mo><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mrow><msub><mi>s</mi><mi>i</mi></msub><mo>→</mo><mi>s</mi></mrow></msubsup><mo>}</mo></mrow>]]></math><img file="FDA0000921007590000014.GIF" wi="1427" he="122" /></maths>其中,u<sub>l,l+1</sub>表示相邻两个时刻编码器输入的信息比特组成的一个信息比特对,l=k‑2,k‑4,…,k‑δ,δ=20,k=3,5,…,N‑1,N表示码长且取偶数,<img file="FDA0000921007590000015.GIF" wi="89" he="78" />表示k+1时刻编码器的状态s,s∈{0,1,…,2<sup>v</sup>‑1},v表示编码器的寄存器个数,<img file="FDA0000921007590000016.GIF" wi="92" he="83" />表示译码器从1到k+1时刻接收到的信息序列,LLR表示译码比特对的可信度符号,<img file="FDA0000921007590000017.GIF" wi="88" he="72" />表示k‑1时刻编码器的状态s<sub>i</sub>,i=0,1,2,3,<maths num="0005"><math><![CDATA[<mrow><msubsup><mi>Δ</mi><mrow><mi>k</mi><mo>-</mo><mn>1</mn><mo>→</mo><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mrow><msub><mi>s</mi><mi>i</mi></msub><mo>→</mo><mi>s</mi></mrow></msubsup><mo>=</mo><mi>M</mi><mrow><mo>(</mo><msubsup><mover><mi>l</mi><mo>‾</mo></mover><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>s</mi><mi>i</mi></msub></msubsup><mo>→</mo><msubsup><mi>P</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mi>s</mi></msubsup><mo>)</mo></mrow><mo>-</mo><munder><mi>max</mi><msubsup><mover><mi>l</mi><mo>‾</mo></mover><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>s</mi><mi>j</mi></msub></msubsup></munder><mo>{</mo><mi>M</mi><mrow><mo>(</mo><msubsup><mover><mi>l</mi><mo>‾</mo></mover><mrow><mi>k</mi><mo>-</mo><mn>1</mn></mrow><msub><mi>s</mi><mi>j</mi></msub></msubsup><mo>→</mo><msubsup><mi>P</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mi>s</mi></msubsup><mo>)</mo></mrow><mo>}</mo></mrow>]]></math><img file="FDA0000921007590000018.GIF" wi="994" he="131" /></maths>表示从k‑1时刻状态s<sub>i</sub>转移到k+1时刻状态s的累积路径度量与转移到状态s的最大累积路径度量之差,<img file="FDA0000921007590000019.GIF" wi="76" he="83" />表示k‑1时刻状态s<sub>i</sub>的幸存路径,<img file="FDA0000921007590000021.GIF" wi="319" he="97" />表示从k‑1时刻的幸存路径<img file="FDA0000921007590000022.GIF" wi="65" he="81" />转移到第k+1时刻状态s的累积路径度量;s<sub>j</sub>表示k‑1时刻的编码器状态,j=0,1,2,3,<img file="FDA0000921007590000023.GIF" wi="73" he="83" />表示k‑1时刻状态s<sub>j</sub>的幸存路径,<img file="FDA0000921007590000024.GIF" wi="312" he="105" />表示从k‑1时刻的幸存路径<img file="FDA0000921007590000025.GIF" wi="63" he="80" />转移到第k+1时刻状态s的累积路径度量;可信度存储模块(5),用于存储可信度计算模块(4)输出的译码比特对的可信度,当译码器工作在LTE系统时,将译码比特对的可信度输出给Turbo对数似然比计算模块(6),当译码器工作在WiMAX系统时,将译码比特对的可信度输出给双二进制卷积Turbo码CTC对数似然比计算模块(9);Turbo对数似然比计算模块(6),利用可信度存储模块(5)提供的译码比特对的可信度,根据二进制Turbo码的对数似然比计算公式,计算译码比特的对数似然比,并将计算得到的对数似然比输出给Turbo外信息计算存储模块(7)和Turbo硬判决模块(8);Turbo外信息计算存储模块(7),利用Turbo对数似然比计算模块(6)输出的对数似然比,计算译码比特的外信息,并对该外信息交织后存储,将存储的信息输出给分支度量计算模块(2),作为下一次分量译码的先验信息;Turbo硬判决模块(8),利用Turbo译码的硬判决规则对Turbo对数似然比计算模块(6)输出的对数似然比进行硬判决,输出待译码比特的估计值;双二进制卷积Turbo码CTC对数似然比计算模块(9),利用可信度存储模块(5)的译码比特对的可信度,根据双二进制卷积Turbo码CTC的对数似然比计算公式,计算译码比特对的对数似然比,并将计算得到的对数似然比输出给双二进制卷积Turbo码CTC外信息计算存储模块(10)和双二进制卷积Turbo码CTC硬判决模块(11);双二进制卷积Turbo码CTC外信息计算存储模块(10),利用双二进制卷积Turbo码CTC对数似然比计算模块(9)输出的对数似然比,计算译码比特对的外信息,并对该外信息交织后存储,将存储的外信息输出给分支度量计算模块(2),作为下一次分量译码的先验信息;双二进制卷积Turbo码CTC硬判决模块(11),利用双二进制卷积Turbo码CTC译码的硬判决规则对双二进制卷积Turbo码CTC对数似然比计算模块(9)输出的对数似然比进行硬判决,输出待译码比特的估计值。 |