CN1398047A - 并行滑动窗涡轮码译码器及其实现方法 - Google Patents
并行滑动窗涡轮码译码器及其实现方法 Download PDFInfo
- Publication number
- CN1398047A CN1398047A CN 02129189 CN02129189A CN1398047A CN 1398047 A CN1398047 A CN 1398047A CN 02129189 CN02129189 CN 02129189 CN 02129189 A CN02129189 A CN 02129189A CN 1398047 A CN1398047 A CN 1398047A
- Authority
- CN
- China
- Prior art keywords
- sequence
- channel decoder
- likelihood ratio
- computing unit
- decoder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
一种并行滑动窗涡轮(Turbo)码译码器及其实现方法,该译码器由两个信道译码器、两个交织器、两个解交织器、解复用电路和判决器组成,其中两个信道译码器是采用并行结构设置在解复用电路的输出端,用于同时对解复用电路输出的第一路校验序列Ayk 1、系统编码序列Axk和第二个信道译码器送来的经过解交织后的外信息序列ζk 2,n-1以及第二路校验码序列Ayk 2、交织后的系统编码序列Axk p和第一个信道译码器送来的经过交织后的外信息序列ζk 1,n-1分别进行滑动窗译码处理;所述的两个信道译码器内部分别设置有一个前向度量计算单元、两个反向度量计算单元以及一个似然比计算单元。该译码器内部仅需要存储一个滑动窗长度的前向度量,大大节省了硬件资源,还提高了涡轮码译码器的整体工作性能。
Description
所属领域
本发明涉及一种并行滑动窗(PDSW,Parallel decoding algorithm with thesliding window)涡轮(Turbo)码译码器,以及该译码器的实现方法,属于信道编译码系统的技术领域。
背景技术
信道编译码技术在通信系统中有广泛的应用,例如在移动通信、卫星通信、星际通信以及磁盘、光盘存储数据检测等众多技术领域,信道编译码器都是最重要的部件之一。涡轮(Turbo)码是上个世纪90年代以来出现的一种具有超强纠错能力的信道编译码,自从涡轮(Turbo)码被提出以来,迅速得到广泛应用。当前在第三代移动通信的各种标准(例如W-CDMA(宽带码分多址,欧洲和日本使用的标准)、CDMA-2000(北美使用的标准)和TD-SCDMA(时分同步码分多址,中国使用的标准))中,对于高速数据业务的传输,均已采用Turbo码。另外,美国国家航空航天局已经将Turbo码作为今后航天飞机、宇宙飞船和空间站与地球接收站之间通信的标准信道编码技术。
传统的涡轮(Turbo)码译码器结构如图1所示。该译码器是由两个信道译码器1、2、两个交织器、两个解交织器和解复用电路、判决器等基本部件组成。传统的涡轮(Turbo)码译码器对于接收序列和外信息序列采用均匀量化,涡轮(Turbo)码译码器需要巨大的存储量,因此,其占用的硬件资源极其庞大。假设r(k)是量化接收序列,其中离散时间标记k=1,2,.......;
为信道可靠性度量,其中ES编码表示符号能量,NO是单边功率谱密度。Ax(k)、Ay1(k)、Ay2(k)和Axp(k)分别表示解复用后得到的Turbo(涡轮)码的系统编码序列、第一路校验码序列、第二路校验码序列和经过交织排列的系统编码序列。
表示第一个信道译码器送来的经过交织后的外信息序列,
表示第二个信道译码器送来的经过解交织后的外信息序列,则传统译码器的译码过程主要包括以下步骤:
(2)对接收序列进行串并变换解复用,得到三个并行的子序列Ax(k)、Ay1(k)和Ay2(k),其中Ax(k)、Ay1(k)和Ay2(k)分别表示Turbo(涡轮)码的系统编码序列、第一路校验编码序列和第二路校验码编码序列;
(3)将系统编码序列Ax(k)和第一路校验序列Ay1(k)送入译码器1,将系统编码序列经过交织后的序列Axp(k)和第二路校验序列Ay2(k)送入译码器2;(4)译码器1得到系统编码序列Ax(k)、第一路校验序列Ay1(k)和译码器2送来的经过解交织后的外信息序列
,开始进行信道译码处理;
(6)译码器2得到上述步骤(5)的外信息序列
、交织后的系统编码序列Axp(k)和第二路校验码序列Ay2(k)后,开始进行信道译码处理;
(7)译码器2输出的似然比序列分别减去译码器1的外信息序列
和交织后的系统编码序列Axp(k)后,得到译码器2的外信息序列,经过解交织后,将
送入译码器1;
(8)顺序执行步骤(3)-(7)各一次,称为一次迭代;重复执行步骤(3)-(7),即经过多次迭代循环后译码停止;第一次迭代时的初始化条件是译码器1、2的外信息序列
均为0;
(9)译码停止后,译码器2输出的似然比序列送入解交织器,经过解交织处理后的序列再送入判决器,最终得到译码输出序列。
由于传统的涡轮(Turbo)码译码器采用全序列串行译码结构,需要将接收序列完全存储后才能开始译码,并且两个译码器之间要对外信息进行的交织和解交织操作,也需要将外信息序列完全存储才能进行,因此传统的Turbo码译码器需要巨大的存储量。例如,设Turbo码数据帧长N=5000,编码速率R=1/3,对接收序列采用6比特量化,对外信息序列采用10比特量化,则译码器所需的存储量至少为3N×6+2N×10=1.9×105比特!如此巨大的存储量严重地限制了Turbo(涡轮)码译码器的推广应用;并且,由于外信息在两个译码器之间串行传递,纠错能力在两个译码器之间分配不平衡,这样会导致整体纠错性能受到一定限制。因此,业内人士都在探求如何解决这个问题。
发明内容
本发明的目的是提供一种并行滑动窗涡轮(Turbo)码译码器,该译码器采用并行译码的结构,并且在每个译码器内部采用滑动窗译码算法,可以大幅度减小存储量,降低硬件资源的消耗,同时可以获得更好的译码性能。
本发明的另一目的是提供一种并行滑动窗涡轮(Turbo)码译码器的实现方法。
本发明的并行滑动窗涡轮(Turbo)码译码器是这样实现的:一种并行滑动窗涡轮(Turbo)码泽码器,包括有:由两个信道译码器、两个交织器、两个解交织器、解复用电路和判决器组成的涡轮(Turbo)码译码器;其特征在于:所述的两个信道译码器是采用并行结构设置在解复用电路的输出端,用于同时对解复用电路输出的第一路校验序列
、系统编码序列Axk和第二个信道译码器送来的经过解交织后的外信息序列
以及第二路校验码序列
、交织后的系统编码序列
和第一个信道译码器送来的经过交织后的外信息序列
分别进行滑动窗译码处理;所述的两个信道译码器内部分别设置有一个前向度量计算单元、两个反向度量计算单元以及一个似然比计算单元。
所述的两个信道译码器所采用的滑动窗译码算法是应用Log-Map(对数最大后验概率译码)计算方法,或是应用SOVA(软输出维特比译码)计算方法。
所述的信道译码器可以多于两个,即并行滑动窗涡轮(Turbo)码译码器可以有三个或三个以上的信道译码器,且这些译码器均采用并行结构设置在解复用电路的输出端。
所述的并行滑动窗涡轮(Turbo)码译码器是用现场可编程门阵列FPGA(Field Programmable Gate Array)集成电路芯片实现的,也可用专用集成电路ASIC(Application Specific Integrated Circuit)芯片制成。
本发明的并行滑动窗涡轮(Turbo)码译码器的实现方法是这样的:该实现方法至少包括如下步骤:
(5)对第一个信道译码器输出的似然比序列分别减去第二个信道译码器送来的经过解交织后的外信息序列
和系统编码序列Axk之后,再送入交织器进行交织处理,得到第一个信道译码器第n-1次迭代输出的外信息序列
(其中译码的迭代次数n=1,2,...,M,M为最大迭代译码次数),并送入第二个信道译码器;
(7)该步骤与步骤(5)的操作同时进行:对第二个信道译码器输出的似然比序列分别减去第一个信道译码器送来的经过交织后的外信息序列
和交织后的系统编码序列
之后,再送入解交织器进行解交织处理,得到第二个信道译码器第n-1次迭代输出的外信息序列
(式中译码的迭代次数n=1,2,...,M,M为最大迭代译码次数),并送入第一个信道译码器;
(8)同时并行顺序执行上述步骤(4)-(5)和步骤(6)-(7)各一次,称为一次迭代;重复并行执行步骤(4)-(5)和步骤(6)-(7),即多次迭代后译码停止;第一次迭代时的初始化条件是第一个信道译码器和第二个信道译码器的外信息序列
均为0;
(9)经过上述多次迭代,第一个信道译码器输出的似然比序列为
,第二个信道译码器输出的似然比序列经过解交织后为序列
,接着对该两路似然比序列进行求和处理,再减去系统编码序列Axk后得到判决序列,最后送入判决器得到该译码器的最终输出序列。
其中步骤(4)和(6)中的译码器进行的滑动窗译码处理方法至少包括如下步骤(设序列总长度为NL,其中L为滑动窗的长度,N为滑动窗的数目):
(1)在t=0的起始时刻,两个信道译码器同时启动,开始滑动窗译码处理;
(2)第一个信道译码器的前向度量计算单元处理从0到L的序列,并存储0-L的前向度量;与此同时,第二个信道译码器的前向度量计算单元也处理从0到L的序列,并存储0-L的前向度量;
(3)在同一时刻,第一个信道译码器的第一个反向度量计算单元从2L序列开始计算,直至L序列为止;第二个信道译码器的第一个反向度量计算单元也从2L序列开始计算,直至L序列为止;
(4)从t=L时刻开始,第一个信道译码器的前向度量计算单元处理从L到2L的序列,并存储L-2L序列的前向度量;该第一个信道译码器的第一个反向度量计算单元则从L序列开始计算,直至0为止;而其第二个反向度量计算单元则从3L序列开始计算,直至2L序列为止;同时,第二个信道译码器的前向度量计算单元也处理从L到2L的序列,并存储L-2L序列的前向度量;该第二个信道译码器的第一个反向度量计算单元则从L序列开始计算,直至0为止;而其第二个反向度量计算单元则从3L开始计算,直至2L为止;
(5)在第一个信道译码器的第一个反向度量计算单元开始从L计算时,就开始将其计算结果和前L时间已经完成计算并存储的第一个信道译码器的前向度量序列一起送入第一个信道译码器的似然比计算单元;同时,在第二个信道译码器的第一个反向度量计算单元开始从L计算时,就开始将其计算结果和前L时间已经完成计算并存储的第二个信道译码器的前向度量序列一起送入第二个信道译码器的似然比计算单元;
(6)在t=L-2L的时间段内,第一个信道译码器的似然比计算单元倒序计算出第一个信道译码器的第一个滑动窗内序列的似然比;即先计算出L时刻序列的似然比,然后计算出L-1时刻的似然比,依次类推,直至算出0时刻序列的似然比;在同一时间段内,第二个信道译码器的似然比计算单元也倒序计算出第二个信道译码器的第一个滑动窗内序列的似然比;即先计算出L时刻序列的似然比,然后计算出L-1时刻的似然比,依次类推,直至算出0时刻序列的似然比;
(7)从t=2L时刻开始,第一个信道译码器的前向度量计算单元处理从2L到3L的序列,并存储2L-3L序列的前向度量;同时,第二个信道译码器的前向度量计算单元也在处理从2L到3L的序列,并存储2L-3L的前向度量;
(8)从t=2L时刻开始,第一个信道译码器的第一个反向度量计算单元从4L序列开始计算,直至3L为止;该译码器的第二个反向度量计算单元从2L序列开始计算,直至L序列为止;同时,第二个信道译码器的第一个反向度量计算单元21也从4L序列开始计算,直至3L序列为止;该译码器的第二个反向度量计算单元也从2L序列开始计算,直至L序列为止;
(9)在第一个信道译码器的第二个反向度量计算单元开始从2L序列计算时,就开始将其计算结果和前面已经完成计算并存储的第一个信道译码器的L-2L序列段的前向度量一起送入第一个信道译码器的似然比计算单元;同时,在第二个信道译码器的第二个反向度量计算单元开始从2L序列计算时,就开始将其计算结果和前面已经完成计算并存储的第二个信道译码器的L-2L序列段的前向度量一起送入第二个信道译码器的似然比计算单元;
(10)在t=2L-3L的时间段内,第一个信道译码器的似然比计算单元就可以倒序计算出第一个信道译码器的第一个滑动窗内序列的似然比,即先计算出2L时刻序列的似然比,然后计算出2L-1时刻的似然比,依次类推,直至算出L时刻序列的似然比;在相同的时间段内,第二个信道译码器的似然比计算单元也可以倒序计算出第二个信道译码器的第一个滑动窗内序列的似然比,即先计算出2L时刻序列的似然比,然后计算出2L-1时刻的似然比,依次类推,直至算出L时刻序列的似然比;
(11)在t=3L-4L、4L-5L、……、(N-2)L-(N-1)L的各个时间段内,分别执行步骤(4)-(10)的同样处理过程,两个译码器同时分别得到按滑动窗长度L划分的一段一段的似然比输出序列;
(12)从t=(N-1)L时刻开始,第一个信道译码器的前向度量计算单元处理从(N-1)L到NL的序列,并存储(N-1)L-NL序列的前向度量;同时,第二个信道译码器的前向度量计算单元也在处理从(N-1)L到NL的序列,并存储(N-1)L-NL的前向度量;
(13)在t=(N-1)L-NL时间段,第一个信道译码器只有其第一个反向度量计算单元继续运算,其第二个反向度量计算单元停止工作;在该第一个信道译码器的第一个反向度量计算单元开始从(N-1)L序列计算时,就将其计算结果和前面已经完成计算并存储的第一个信道译码器的(N-2)L-(N-1)L序列段的前向度量一起送入第一个信道译码器的似然比计算单元;同样的,第二个信道译码器只有其第一个反向度量计算单元继续运算,其第二个反向度量计算单元停止工作;在该第二个信道译码器的第一个反向度量计算单元开始从(N-1)L序列计算时,就将其计算结果和前面已经完成计算并存储的第二个信道译码器的(N-2)L-(N-1)L序列段的前向度量一起送入第二个信道译码器的似然比计算单元;
(14)在t=(N-1)L-NL的时间段内,第一个信道译码器的似然比计算单元倒序计算出第一个信道译码器的第(N-1)个滑动窗内序列的似然比,即先计算出(N-1)L时刻序列的似然比,然后计算出(N-1)L-1时刻的似然比,依次类推,直至算出(N-2)L时刻序列的似然比;在相同的时间段内,第二个信道译码器的似然比计算单元也倒序计算出第二个信道译码器的第(N-1)个滑动窗内序列的似然比,即先计算出(N-1)L时刻序列的似然比,然后计算出(N-1)L-1时刻的似然比,依次类推,直至算出(N-2)L时刻序列的似然比;
(15)在t=NL-(N+1)L时间段,第一个信道译码器只有其第二个反向度量计算单元工作,其第一个反向度量计算单元停止工作;在该第一个信道译码器的第二个反向度量计算单元开始从NL序列计算时,就将其计算结果和前面已经完成计算并存储的第一个信道译码器的(N-1)L-NL序列段的前向度量一起送入第一个信道译码器的似然比计算单元;同样的,第二个信道译码器只有其第二个反向度量计算单元工作,其第一个反向度量计算单元停止工作;在该第二个信道译码器的第二个反向度量计算单元开始从NL序列计算时,就将其计算结果和前面已经完成计算并存储的第二个信道译码器的(N-1)L-NL序列段的前向度量一起送入第二个信道译码器的似然比计算单元;
(16)在t=NL-(N+1)L的时间段内,第一个信道译码器的似然比计算单元倒序计算出第一个信道译码器的第N个滑动窗内序列的似然比,即先计算出NL时刻序列的似然比,然后计算出NL-1时刻的似然比,依次类推,直至算出(N-1)L时刻序列的似然比;在相同的时间段内,第二个信道译码器的似然比计算单元也倒序计算出第二个信道译码器的第N个滑动窗内序列的似然比,即先计算出NL时刻序列的似然比,然后计算出NL-1时刻的似然比,依次类推,直至算出(N-1)L时刻序列的似然比,如此完成整个似然比序列的计算。
本发明的并行滑动窗涡轮(Turbo)码译码器主要是由两个并行结构的信道译码器构成,在每个译码器内部采用滑动窗的涡轮(Turbo)码译码算法,这样在信道译码器内部仅需要存储一个滑动窗长度的前向度量,与传统译码器要存储整个序列长度的前向度量相比,明显地减小了译码所需的存储量,大大节省了硬件资源。另一方面,由于采用了两个信道译码器并行译码的结构,能够克服传统的串行译码结构的两个译码器在输出性能上存在偏差的缺陷,从而可以提高涡轮(Turbo)码译码器的整体性能。
附图说明
图1是传统的涡轮(Turbo)码译码器的结构示意图。
图2是本发明并行滑动窗涡轮(Turbo)码译码器的结构示意图。
图3是本发明并行滑动窗涡轮(Turbo)码译码器中信道译码器所采用的滑动窗算法的处理流程示意图。
图4(A)、(B)分别是本发明并行滑动窗涡轮(Turbo)码译码器在采用6次迭代,二进制移相键控(BPSK)调制方式,帧长为500个符号,滑动窗WL与延迟长度DL均为50,交织方式为随机交织条件下仿真得到的误码率(缩写为BER)和误帧率(缩写为FER)曲线示意图。
具体实施方式
参见图2,本发明是一种并行滑动窗涡轮(Turbo)码译码器,包括有:由两个信道译码器、两个交织器、两个解交织器、解复用电路和判决器组成的涡轮(Turbo)码译码器;其与传统译码器的区别之处在于:所述的两个信道译码器1、2是采用并行结构设置在解复用电路的输出端,用于同时对解复用电路输出的第一路校验序列
、系统编码序列Axk和第二个信道译码器送来的经过解交织后的外信息序列
以及第二路校验码序列
、交织后的系统编码序列和第一个信道译码器送来的经过交织后的外信息序列
分别进行滑动窗译码处理;所述的两个信道译码器内部分别设置有一个前向度量计算单元、两个反向度量计算单元以及一个似然比计算单元。
本发明并行滑动窗涡轮(Turbo)码译码器中的两个信道译码器所采用的滑动窗译码算法是Log-Map(对数最大后验概率译码)计算方法,或是SOVA(软输出维特比译码)计算方法。其中信道译码器可以多于两个,即并行滑动窗涡轮(Turbo)码译码器可以有三个或三个以上的信道译码器,且这些译码器均采用并行结构设置在解复用电路的输出端。该并行滑动窗涡轮(Turbo)码译码器是用现场可编程门阵列FPGA(Field Programmable Gate Array)集成电路芯片实现的,也可用专用集成电路ASIC(Application Specific Integrated Circuit)芯片制成。
本发明的并行滑动窗涡轮(Turbo)码译码器的实现方法至少包括如下步骤:
(1)将量化接收序列rk(其中离散时间标记k=1,2,.......)与信道可靠性度量(其中ES编码表示符号能量,NO是单边功率谱密度)进行相乘处理,得到接收序列;
(3)分别将系统编码序列Axk和第一路校验序列
送入第一个信道译码器,以及将系统编码序列经过交织后的序列
和第二路校验序列
送入第二个信道译码器;
(5)对第一个信道译码器输出的似然比序列分别减去第二个信道译码器送来的经过解交织后的外信息序列
和系统编码序列Axk之后,再送入交织器进行交织处理,得到第一个信道译码器第n-1次迭代输出的外信息序列
(其中译码的迭代次数n=1,2,...,M,M为最大迭代译码次数),并送入第二个信道译码器;
(7)该步骤与步骤(5)的操作同时进行:对第二个信道译码器输出的似然比序列分别减去第一个信道译码器送来的经过交织后的外信息序列
和交织后的系统编码序列
之后,再送入解交织器进行解交织处理,得到第二个信道译码器第n-1次迭代输出的外信息序列
(式中译码的迭代次数n=1,2,...,M,M为最大迭代译码次数),并送入第一个信道译码器;
(8)同时并行顺序执行上述步骤(4)-(5)和步骤(6)-(7)各一次,称为一次迭代;重复并行执行步骤(4)-(5)和步骤(6)-(7),即多次迭代后译码停止;第一次迭代时的初始化条件是第一个信道译码器和第二个信道译码器的外信息序列
均为0;
(9)经过上述多次迭代,第一个信道译码器输出的似然比序列为
,第二个信道译码器输出的似然比序列经过解交织后为序列
,接着对该两路似然比序列进行求和处理,再减去系统编码序列Axk后得到判决序列,最后送入判决器得到该译码器的最终输出序列。
参见图3,假设序列总长度为NL,其中L为滑动窗的长度,N为滑动窗的数目,上述步骤(4)和(6)中的译码器进行的滑动窗译码处理方法至少包括如下步骤:
(1)在t=0的起始时刻,两个信道译码器同时启动,开始滑动窗译码处理;
(2)信道译码器1的前向度量计算单元处理从0到L的序列,并存储0-L的前向度量;与此同时,信道译码器2的前向度量计算单元也处理从0到L的序列,并存储0-L的前向度量;
(3)在同一时刻,信道译码器1的反向度量计算单元1从2L序列开始计算,直至L序列为止;信道译码器2的反向度量计算单元1也从2L序列开始计算,直至L序列为止;
(4)从t=L时刻开始,信道译码器1的前向度量计算单元1处理从L到2L的序列,并存储L-2L序列的前向度量;该信道译码器1的反向度量计算单元1则从L序列开始计算,直至0为止;而其反向度量计算单元2则从3L序列开始计算,直至2L序列为止;同时,信道译码器2的前向度量计算单元也处理从L到2L的序列,并存储L-2L序列的前向度量;该信道译码器2的反向度量计算单元1则从L序列开始计算,直至0为止;而其反向度量计算单元2则从3L开始计算,直至2L为止;
(5)在信道译码器1的反向度量计算单元1开始从L计算时,就开始将其计算结果和前L时间已经完成计算并存储的信道译码器1的前向度量序列一起送入信道译码器1的似然比计算单元;同时,在信道译码器2的反向度量计算单元1开始从L计算时,就开始将其计算结果和前L时间已经完成计算并存储的信道译码器2的前向度量序列一起送入信道译码器2的似然比计算单元;
(6)在t=L-2L的时间段内,信道译码器1的似然比计算单元倒序计算出信道译码器1的第一个滑动窗内序列的似然比;即先计算出L时刻序列的似然比,然后计算出L-1时刻的似然比,依次类推,直至算出0时刻序列的似然比;在同一时间段内,信道译码器2的似然比计算单元也倒序计算出信道译码器2的第一个滑动窗内序列的似然比;即先计算出L时刻序列的似然比,然后计算出L-1时刻的似然比,依次类推,直至算出0时刻序列的似然比;
(7)从t=2L时刻开始,信道译码器1的前向度量计算单元处理从2L到3L的序列,并存储2L-3L序列的前向度量;同时,信道译码器2的前向度量计算单元也在处理从2L到3L的序列,并存储2L-3L的前向度量;
(8)从t=2L时刻开始,信道译码器1的反向度量计算单元1从4L序列开始计算,直至3L为止;该译码器1的反向度量计算单元2从2L序列开始计算,直至L序列为止;同时,信道译码器2的反向度量计算单元1也从4L序列开始计算,直至3L序列为止;该译码器2的反向度量计算单元2也从2L序列开始计算,直至L序列为止;
(9)在信道译码器1的反向度量计算单元2开始从2L序列计算时,就开始将其计算结果和前面已经完成计算并存储的信道译码器1的L-2L序列段的前向度量一起送入信道译码器1的似然比计算单元;同时,在信道译码器2的反向度量计算单元2开始从2L序列计算时,就开始将其计算结果和前面已经完成计算并存储的信道译码器2的L-2L序列段的前向度量一起送入信道译码器2的似然比计算单元;
(10)在t=2L-3L的时间段内,信道译码器1的似然比计算单元就可以倒序计算出信道译码器1的第一个滑动窗内序列的似然比,即先计算出2L时刻序列的似然比,然后计算出2L-1时刻的似然比,依次类推,直至算出L时刻序列的似然比;在相同的时间段内,信道译码器2的似然比计算单元也可以倒序计算出信道译码器2的第一个滑动窗内序列的似然比,即先计算出2L时刻序列的似然比,然后计算出2L-1时刻的似然比,依次类推,直至算出L时刻序列的似然比;
(11)在t=3L-4L、4L-5L、……、(N-2)L-(N-1)L的各个时间段内,分别执行步骤(4)-(10)的同样处理过程,两个信道译码器1、2同时分别得到按滑动窗长度L划分的一段一段的似然比输出序列;
(12)从t=(N-1)L时刻开始,信道译码器1的前向度量计算单元处理从(N-1)L到NL的序列,并存储(N-1)L-NL序列的前向度量;同时,信道译码器2的前向度量计算单元也在处理从(N-1)L到NL的序列,并存储(N-1)L-NL的前向度量;
(13)在t=(N-1)L-NL时间段,信道译码器1只有其反向度量计算单元1继续运算,其反向度量计算单元2停止工作;在该信道译码器1的反向度量计算单元1开始从(N-1)L序列计算时,就将其计算结果和前面已经完成计算并存储的信道译码器1的(N-2)L-(N-1)L序列段的前向度量一起送入信道译码器1的似然比计算单元;同样的,信道译码器2只有其反向度量计算单元1继续运算,其反向度量计算单元2停止工作;在该信道译码器2的反向度量计算单元1开始从(N-1)L序列计算时,就将其计算结果和前面已经完成计算并存储的信道译码器2的(N-2)L-(N-1)L序列段的前向度量一起送入信道译码器2的似然比计算单元;
(14)在t=(N-1)L-NL的时间段内,信道译码器1的似然比计算单元倒序计算出信道译码器1的第(N-1)个滑动窗内序列的似然比,即先计算出(N-1)L时刻序列的似然比,然后计算出(N-1)L-1时刻的似然比,依次类推,直至算出(N-2)L时刻序列的似然比;在相同的时间段内,信道译码器2的似然比计算单元也倒序计算出信道译码器2的第(N-1)个滑动窗内序列的似然比,即先计算出(N-1)L时刻序列的似然比,然后计算出(N-1)L-1时刻的似然比,依次类推,直至算出(N-2)L时刻序列的似然比;
(15)在t=NL-(N+1)L时间段,信道译码器1只有其反向度量计算单元2工作,其反向度量计算单元1停止工作;在该信道译码器1的反向度量计算单元2开始从NL序列计算时,就将其计算结果和前面已经完成计算并存储的信道译码器1的(N-1)L-NL序列段的前向度量一起送入信道译码器1的似然比计算单元;同样的,信道译码器2只有其反向度量计算单元2工作,其反向度量计算单元1停止工作;在该信道译码器2的反向度量计算单元2开始从NL序列计算时,就将其计算结果和前面已经完成计算并存储的信道译码器2的(N-1)L-NL序列段的前向度量一起送入信道译码器2的似然比计算单元;
(16)在t=NL-(N+1)L的时间段内,信道译码器1的似然比计算单元倒序计算出信道译码器1的第N个滑动窗内序列的似然比,即先计算出NL时刻序列的似然比,然后计算出NL-1时刻的似然比,依次类推,直至算出(N-1)L时刻序列的似然比;在相同的时间段内,信道译码器2的似然比计算单元也倒序计算出信道译码器2的第N个滑动窗内序列的似然比,即先计算出NL时刻序列的似然比,然后计算出NL-1时刻的似然比,依次类推,直至算出(N-1)L时刻序列的似然比,如此完成了整个似然比序列的计算。
对于本发明并行滑动窗涡轮(Turbo)码译码器,发明人利用VirtexII系列的现场可编程门阵列FPGA集成电路芯片来设计和实施试验。其主要的设计参数如下:接收信号采用6比特量化,外信息采用10比特量化。使用Verilog语言描述并行滑动窗涡轮(Turbo)码译码器的结构,再使用Synplify软件进行综合,最后用Xilinx公司的ISE软件进行时序仿真、布线,和芯片编程。上述研制实施的试验结果参见图4所示的传统的全序列串行译码与采用并行滑动窗译码的性能曲线比较图,由图4(A)、(B)两图可知,并行滑动窗译码器的误码率特性要比串行全序列译码器提高0.1dB,而误帧率特性两者相差不多。所以,本发明较好地实现了发明目的。
Claims (6)
2、根据权利要求1所述的并行滑动窗涡轮(Turbo)码译码器,其特征在于:所述的两个信道译码器所采用的滑动窗译码算法是应用Log-Map(对数最大后验概率译码)计算方法,或是应用SOVA(软输出维特比译码)计算方法。
3、根据权利要求1所述的并行滑动窗涡轮(Turbo)码译码器,其特征在于:所述的信道译码器可以多于两个,即并行滑动窗涡轮(Turbo)码译码器可以是三个或三个以上,这些译码器均采用并行结构设置在解复用电路的输出端。
4、根据权利要求1所述的并行滑动窗涡轮(Turbo)码译码器,其特征在于:所述的并行滑动窗涡轮(Turbo)码译码器是用现场可编程门阵列FPGA集成电路芯片实现的,也可用专用集成电路ASIC芯片制成。
5、一种并行滑动窗涡轮(Turbo)码译码器的实现方法,其特征在于:该实现方法至少包括如下步骤:
(1)将量化接收序列rk(其中离散时间标记k=1,2,.......)与信道可靠性度量(其中ES编码表示符号能量,NO是单边功率谱密度)进行相乘处理,得到接收序列;
(4)第一个信道译码器在得到系统编码序列Axk、第一路校验序列
和第二个信道译码器送来的经过解交织后的外信息序列
之后,开始进行滑动窗译码处理;
(5)对第一个信道译码器输出的似然比序列分别减去第二个信道译码器送来的经过解交织后的外信息序列
和系统编码序列Axk之后,再送入交织器进行交织处理,得到第一个信道译码器第n-1次迭代输出的外信息序列
(其中译码的迭代次数n=1,2,...,M,M为最大迭代译码次数),并送入第二个信道译码器;
(7)该步骤与步骤(5)的操作同时进行:对第二个信道译码器输出的似然比序列分别减去第一个信道译码器送来的经过交织后的外信息序列
和交织后的系统编码序列
之后,再送入解交织器进行解交织处理,得到第二个信道译码器第n-1次迭代输出的外信息序列
(式中译码的迭代次数n=1,2,...,M,M为最大迭代译码次数),并送入第一个信道译码器;
(8)同时并行顺序执行上述步骤(4)-(5)和步骤(6)-(7)各一次,称为一次迭代;重复并行执行步骤(4)-(5)和步骤(6)-(7),即多次迭代后译码停止;第一次迭代时的初始化条件是第一个信道译码器和第二个信道译码器的外信息序列
均为0;
6、根据权利要求5所述的并行滑动窗涡轮(Turbo)码译码器的实现方法,其特征在于:其中步骤(4)和(6)中的译码器进行的滑动窗译码处理方法至少包括如下步骤(设序列总长度为NL,其中L为滑动窗的长度,N为滑动窗的数目):
(1)在t=0的起始时刻,两个信道译码器同时启动,开始滑动窗译码处理;
(2)第一个信道译码器的前向度量计算单元处理从0到L的序列,并存储0-L的前向度量;与此同时,第二个信道译码器的前向度量计算单元也处理从0到L的序列,并存储0-L的前向度量;
(3)在同一时刻,第一个信道译码器的第一个反向度量计算单元从2L序列开始计算,直至L序列为止;第二个信道译码器的第一个反向度量计算单元也从2L序列开始计算,直至L序列为止;
(4)从t=L时刻开始,第一个信道译码器的前向度量计算单元处理从L到2L的序列,并存储L-2L序列的前向度量;该第一个信道译码器的第一个反向度量计算单元则从L序列开始计算,直至0为止;而其第二个反向度量计算单元则从3L序列开始计算,直至2L序列为止;同时,第二个信道译码器的前向度量计算单元也处理从L到2L的序列,并存储L-2L序列的前向度量;该第二个信道译码器的第一个反向度量计算单元则从L序列开始计算,直至0为止;而其第二个反向度量计算单元则从3L开始计算,直至2L为止;
(5)在第一个信道译码器的第一个反向度量计算单元开始从L计算时,就开始将其计算结果和前L时间已经完成计算并存储的第一个信道译码器的前向度量序列一起送入第一个信道译码器的似然比计算单元;同时,在第二个信道译码器的第一个反向度量计算单元开始从L计算时,就开始将其计算结果和前L时间已经完成计算并存储的第二个信道译码器的前向度量序列一起送入第二个信道译码器的似然比计算单元;
(6)在t=L-2L的时间段内,第一个信道译码器的似然比计算单元倒序计算出第一个信道译码器的第一个滑动窗内序列的似然比;即先计算出L时刻序列的似然比,然后计算出L-1时刻的似然比,依次类推,直至算出0时刻序列的似然比;在同一时间段内,第二个信道译码器的似然比计算单元也倒序计算出第二个信道译码器的第一个滑动窗内序列的似然比;即先计算出L时刻序列的似然比,然后计算出L-1时刻的似然比,依次类推,直至算出0时刻序列的似然比;
(7)从t=2L时刻开始,第一个信道译码器的前向度量计算单元处理从2L到3L的序列,并存储2L-3L序列的前向度量;同时,第二个信道译码器的前向度量计算单元也在处理从2L到3L的序列,并存储2L-3L的前向度量;
(8)从t=2L时刻开始,第一个信道译码器的第一个反向度量计算单元从4L序列开始计算,直至3L为止;该译码器的第二个反向度量计算单元从2L序列开始计算,直至L序列为止;同时,第二个信道译码器的第一个反向度量计算单元21也从4L序列开始计算,直至3L序列为止;该译码器的第二个反向度量计算单元也从2L序列开始计算,直至L序列为止;
(9)在第一个信道译码器的第二个反向度量计算单元开始从2L序列计算时,就开始将其计算结果和前面已经完成计算并存储的第一个信道译码器的L-2L序列段的前向度量一起送入第一个信道译码器的似然比计算单元;同时,在第二个信道译码器的第二个反向度量计算单元开始从2L序列计算时,就开始将其计算结果和前面已经完成计算并存储的第二个信道译码器的L-2L序列段的前向度量一起送入第二个信道译码器的似然比计算单元;
(10)在t=2L-3L的时间段内,第一个信道译码器的似然比计算单元就可以倒序计算出第一个信道译码器的第一个滑动窗内序列的似然比,即先计算出2L时刻序列的似然比,然后计算出2L-1时刻的似然比,依次类推,直至算出L时刻序列的似然比;在相同的时间段内,第二个信道译码器的似然比计算单元也可以倒序计算出第二个信道译码器的第一个滑动窗内序列的似然比,即先计算出2L时刻序列的似然比,然后计算出2L-1时刻的似然比,依次类推,直至算出L时刻序列的似然比;
(11)在t=3L-4L、4L-5L、……、(N-2)L-(N-1)L的各个时间段内,分别执行步骤(4)-(10)的同样处理过程,两个译码器同时分别得到按滑动窗长度L划分的一段一段的似然比输出序列;
(12)从t=(N-1)L时刻开始,第一个信道译码器的前向度量计算单元处理从(N-1)L到NL的序列,并存储(N-1)L-NL序列的前向度量;同时,第二个信道译码器的前向度量计算单元也在处理从(N-1)L到NL的序列,并存储(N-1)L-NL的前向度量;
(13)在t=(N-1)L-NL时间段,第一个信道译码器只有其第一个反向度量计算单元继续运算,其第二个反向度量计算单元停止工作;在该第一个信道译码器的第一个反向度量计算单元开始从(N-1)L序列计算时,就将其计算结果和前面已经完成计算并存储的第一个信道译码器的(N-2)L-(N-1)L序列段的前向度量一起送入第一个信道译码器的似然比计算单元;同样的,第二个信道译码器只有其第一个反向度量计算单元继续运算,其第二个反向度量计算单元停止工作;在该第二个信道译码器的第一个反向度量计算单元开始从(N-1)L序列计算时,就将其计算结果和前面已经完成计算并存储的第二个信道译码器的(N-2)L-(N-1)L序列段的前向度量一起送入第二个信道译码器的似然比计算单元;
(14)在t=(N-1)L-NL的时间段内,第一个信道译码器的似然比计算单元倒序计算出第一个信道译码器的第(N-1)个滑动窗内序列的似然比,即先计算出(N-1)L时刻序列的似然比,然后计算出(N-1)L-1时刻的似然比,依次类推,直至算出(N-2)L时刻序列的似然比;在相同的时间段内,第二个信道译码器的似然比计算单元也倒序计算出第二个信道译码器的第(N-1)个滑动窗内序列的似然比,即先计算出(N-1)L时刻序列的似然比,然后计算出(N-1)L-1时刻的似然比,依次类推,直至算出(N-2)L时刻序列的似然比;
(15)在t=NL-(N+1)L时间段,第一个信道译码器只有其第二个反向度量计算单元工作,其第一个反向度量计算单元停止工作;在该第一个信道译码器的第二个反向度量计算单元开始从NL序列计算时,就将其计算结果和前面已经完成计算并存储的第一个信道译码器的(N-1)L-NL序列段的前向度量一起送入第一个信道译码器的似然比计算单元;同样的,第二个信道译码器只有其第二个反向度量计算单元工作,其第一个反向度量计算单元停止工作;在该第二个信道译码器的第二个反向度量计算单元开始从NL序列计算时,就将其计算结果和前面已经完成计算并存储的第二个信道译码器的(N-1)L-NL序列段的前向度量一起送入第二个信道译码器的似然比计算单元;
(16)在t=NL-(N+1)L的时间段内,第一个信道译码器的似然比计算单元倒序计算出第一个信道译码器的第N个滑动窗内序列的似然比,即先计算出NL时刻序列的似然比,然后计算出NL-1时刻的似然比,依次类推,直至算出(N-1)L时刻序列的似然比;在相同的时间段内,第二个信道译码器的似然比计算单元也倒序计算出第二个信道译码器的第N个滑动窗内序列的似然比,即先计算出NL时刻序列的似然比,然后计算出NL-1时刻的似然比,依次类推,直至算出(N-1)L时刻序列的似然比,如此完成整个似然比序列的计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02129189 CN1398047A (zh) | 2002-08-20 | 2002-08-20 | 并行滑动窗涡轮码译码器及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02129189 CN1398047A (zh) | 2002-08-20 | 2002-08-20 | 并行滑动窗涡轮码译码器及其实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1398047A true CN1398047A (zh) | 2003-02-19 |
Family
ID=4746147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 02129189 Pending CN1398047A (zh) | 2002-08-20 | 2002-08-20 | 并行滑动窗涡轮码译码器及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1398047A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100461664C (zh) * | 2005-07-15 | 2009-02-11 | 联发科技股份有限公司 | 包含有多个平行运作的错误更正模块的错误更正装置及方法 |
CN101741398A (zh) * | 2009-12-01 | 2010-06-16 | 深圳华为通信技术有限公司 | Turbo译码器和Turbo译码方法 |
CN101180800B (zh) * | 2005-05-18 | 2012-05-23 | 三星电子株式会社 | 用于在软件无线电系统中使用的涡式译码器及软件无线电系统 |
CN102484485A (zh) * | 2009-08-18 | 2012-05-30 | 瑞典爱立信有限公司 | 软输出维特比算法方法和解码器 |
CN103299591A (zh) * | 2010-12-23 | 2013-09-11 | 密克罗奇普技术公司 | 用于使用具有线性量化输入的格子数字地解调msk信号的方法及设备 |
CN105450236A (zh) * | 2015-11-17 | 2016-03-30 | 中国人民解放军理工大学 | 一种单层迭代联合解调译码结构及其算法 |
CN114915373A (zh) * | 2022-03-28 | 2022-08-16 | 西安电子科技大学 | 一种基于ir-harq的scma加窗联合检测和译码方法 |
-
2002
- 2002-08-20 CN CN 02129189 patent/CN1398047A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101180800B (zh) * | 2005-05-18 | 2012-05-23 | 三星电子株式会社 | 用于在软件无线电系统中使用的涡式译码器及软件无线电系统 |
CN100461664C (zh) * | 2005-07-15 | 2009-02-11 | 联发科技股份有限公司 | 包含有多个平行运作的错误更正模块的错误更正装置及方法 |
CN102484485A (zh) * | 2009-08-18 | 2012-05-30 | 瑞典爱立信有限公司 | 软输出维特比算法方法和解码器 |
CN101741398A (zh) * | 2009-12-01 | 2010-06-16 | 深圳华为通信技术有限公司 | Turbo译码器和Turbo译码方法 |
CN103299591A (zh) * | 2010-12-23 | 2013-09-11 | 密克罗奇普技术公司 | 用于使用具有线性量化输入的格子数字地解调msk信号的方法及设备 |
CN103299591B (zh) * | 2010-12-23 | 2017-06-09 | 密克罗奇普技术公司 | 用于使用具有线性量化输入的格子数字地解调msk信号的方法及设备 |
CN105450236A (zh) * | 2015-11-17 | 2016-03-30 | 中国人民解放军理工大学 | 一种单层迭代联合解调译码结构及其算法 |
CN105450236B (zh) * | 2015-11-17 | 2019-03-29 | 中国人民解放军理工大学 | 一种单层迭代联合解调译码结构及其算法 |
CN114915373A (zh) * | 2022-03-28 | 2022-08-16 | 西安电子科技大学 | 一种基于ir-harq的scma加窗联合检测和译码方法 |
CN114915373B (zh) * | 2022-03-28 | 2023-07-25 | 西安电子科技大学 | 一种基于ir-harq的scma加窗联合检测和译码方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6603412B2 (en) | Interleaved coder and method | |
CN1853350A (zh) | 用于移动通信系统的维特比/涡轮联合译码器 | |
CN100546207C (zh) | 一种基于DVB-RCS标准的双二元Turbo码译码方法 | |
US7616713B2 (en) | System and method for forward and backward recursive computation | |
CN1398047A (zh) | 并行滑动窗涡轮码译码器及其实现方法 | |
CN101252409B (zh) | 基于符号级超格图的联合信源信道解码新算法 | |
CN1157883C (zh) | 实现并行滑动窗最大后验概率算法的高速Turbo码译码器 | |
CN1328384A (zh) | Turbo译码器及其实现方法 | |
CN107196666B (zh) | 一种通用Turbo编译码器快速验证方法 | |
CN1211931C (zh) | 用于最大后验概率解码器的存储器体系结构 | |
CN1183687C (zh) | Turbo码编码器及编码方法 | |
CN1147169C (zh) | 用于Turbo码的解码方法和解码器 | |
CN101075812A (zh) | 一种并行级联结构的系统形式低密度码的构造方法 | |
CN103595424A (zh) | 分量译码方法、译码器及Turbo译码方法、装置 | |
CN1129257C (zh) | 串行回溯的最大似然解码方法及其使用该方法的解码器 | |
CN1142629C (zh) | 用于特博码的解码方法及其解码器 | |
CN114826284A (zh) | 基于扩展Turbo码和连续相位调制的迭代译码方法 | |
CN1145266C (zh) | 特博码解码方法及其解码器 | |
CN109831217B (zh) | 一种Turbo码译码器、用于Turbo码的分量译码器及分量译码方法 | |
CN1148006C (zh) | 一种特博码软输入软输出解码方法以及解码器 | |
Bogawar et al. | Implementation of turbo encoder and decoder | |
Omeira et al. | A code-matched collision-free S-random interleaver for turbo codes | |
CN1133276C (zh) | 一种高速并行级联码的译码方法及译码器 | |
CN1883120A (zh) | 解码装置和解码方法 | |
CN1163094C (zh) | 对数压扩编码的涡轮码译码器及其实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |