CN103840842A - 一种译码器 - Google Patents
一种译码器 Download PDFInfo
- Publication number
- CN103840842A CN103840842A CN201410079569.1A CN201410079569A CN103840842A CN 103840842 A CN103840842 A CN 103840842A CN 201410079569 A CN201410079569 A CN 201410079569A CN 103840842 A CN103840842 A CN 103840842A
- Authority
- CN
- China
- Prior art keywords
- data
- memory cell
- interleaving
- address
- iteration
- 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
Landscapes
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明公开了一种译码器,其包括至少一个软输入软输出SISO单元、存储单元以及数据交织网络,译码器通过多次迭代进行译码,每次迭代包括第一迭代和第二迭代;其中,在第一系统中,SISO单元在第一迭代时直接从存储单元读取第一数据,以根据第一数据产生第二数据,并通过数据交织网络将第二数据写入存储单元;SISO单元在第二迭代时直接从存储单元读取第三数据,以根据第三数据产生第四数据,并通过数据交织网络将第四数据写入存储单元。通过上述方式,本发明能够减少译码器的缓存数据量。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种译码器。
背景技术
目前,Turbo码为第3代移动通信网络(3rd Generation Network,3G)或第4代移动通信网络(4th Generation Network,4G)数据通道的主要编码方案,Turbo译码由于算法复杂、处理时延大,需要专用的译码器处理。
现有技术的Turbo译码器包括软输入软输出(Soft Input Soft Output,SISO)单元、交织器、解交织器以及判决器,数据经过SISO单元运算后提取增益信息,然后按交织地址或顺序地址输入到SISO单元再次运算,该过程为迭代。当经过数次迭代后,译码增益逐渐收敛,通过判决器判决出最终的译码结果。
其中,每次迭代包括第一次迭代和第二次迭代,现有技术的Turbo译码器在UMTS(Universal Mobile Telecommunications System,通用移动通信系统)中,SISO单元在第一次迭代时顺序输入数据和顺序输出数据;SISO单元在第二次迭代时按交织地址输入数据和按解交织地址输出数据,即SISO单元输入数据需要进行交织处理,SISO单元输出数据需要进行解交织处理。
现有技术的Turbo译码器具有以下缺点:在第二次迭代时SISO单元交织数据量非常大,当并行度为N时,需要的存储单元的数量为M=8*N,译码器的缓存数据量大。
发明内容
本发明实施例提供了一种译码器,以解决译码器的缓存数据量大的问题。
第一方面提供一种译码器,其包括至少一个软输入软输出SISO单元、存储单元以及数据交织网络,译码器通过多次迭代进行译码,每次迭代包括第一迭代和第二迭代;其中,在第一系统中,SISO单元在第一迭代时直接从存储单元读取第一数据,以根据第一数据产生第二数据,并通过数据交织网络将第二数据写入存储单元;SISO单元在第二迭代时直接从存储单元读取第三数据,以根据第三数据产生第四数据,并通过数据交织网络将第四数据写入存储单元。
结合第一方面的实现方式,在第一种可能的实现方式中,存储单元存储用于第一系统的第一交织地址和第一解交织地址,SISO单元在第一迭代时通过数据交织网络根据第一解交织地址将第二数据写入存储单元;SISO单元在第二迭代时通过数据交织网络根据第一交织地址将第四数据写入存储单元。
结合第一方面的第一种可能实现方式,在第二种可能的实现方式中,数据交织网络为环形网络RIBB结构的数据交织网络。
结合第一方面的第一种可能实现方式,在第三种可能的实现方式中,存储单元还存储用于第二系统的第二交织地址,在第二系统中,SISO单元在第一迭代时直接从存储单元顺序读取第五数据,以根据第五数据产生第六数据,并直接将第六数据顺序写入存储单元;SISO单元在第二迭代时通过数据交织网络根据第二交织地址从存储单元交织读取第七数据,以根据第七数据产生第八数据,并通过数据交织网络根据第二交织地址将第八数据交织写入存储单元。
结合第一方面的第三种可能实现方式,在第四种可能的实现方式中,第一解交织地址存储在存储单元的第一解交织表,第一交织地址存储在存储单元的第一交织表,第二交织地址存储在第二交织表。
结合第一方面的第四种可能实现方式,在第五种可能的实现方式中,SISO单元通过偏移位置对第二交织表进行重编码。
结合第一方面的第五种可能实现方式,在第六种可能的实现方式中,在第二系统中,SISO单元将第七数据中相邻的两个地址的数据合并至一个地址内,且通过时分复用设置计算窗读使能和训练窗读使能,以使SISO单元从存储单元读取第七数据的数据量等于SISO单元将第八数据写入存储单元的数据量。
结合第一方面的第六种可能实现方式,在第七种可能的实现方式中,第二交织表复用第一交织表和第一解交织表。
结合第一方面的第三种可能实现方式,在第八种可能的实现方式中,在第二系统中,数据交织网络为交叉总线crossbus结构的数据交织网络。
结合第一方面的第三种可能实现方式,在第九种可能的实现方式中,第一系统为通用移动通信系统UMTS系统,第二系统为长期演进LTE系统。
本发明的技术方案可以应用在Turbo译码其中。通过上述方案,本发明的有益效果是:本发明所揭示的译码器通过SISO单元在第一迭代时直接从存储单元读取第一数据,以根据第一数据产生第二数据,并通过数据交织网络将第二数据写入存储单元;SISO单元在第二迭代时直接从存储单元读取第三数据,以根据第三数据产生第四数据,并通过数据交织网络将第四数据写入存储单元,能够减少译码器的缓存数据量,进而减少存储单元的数量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本发明第一实施例的译码器的结构示意框图;
图2是图1中译码器的迭代框图;
图3是图1中顺序地址、第一交织地址以及第一解交织地址的关系图;
图4是图1中SISO单元的结构图;
图5是图1中SISO单元与存储单元的关系图;
图6是本发明第二实施例的译码器的迭代框图;
图7是图6中SISO单元将相邻的两个地址的数据合并至一个地址的示意图;
图8是图6中在第二系统中数据交织网络的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性的劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中,所采用的译码器为Turbo译码器。但是可以应用本发明实施例的其他译码器不应该被限制在本发明的保护范围之外。
请参见图1,图1是本发明第一实施例的译码器的结构示意框图。本实施例所揭示的译码器10包括:至少一个SISO单元101、存储单元102以及数据交织网络103。其中,译码器10优选为Turbo译码器。存储单元102包括多个存储器,存储器用于存储译码器10的缓存数据量。
在本实施例中,译码器10通过多次迭代进行译码,每次迭代包括第一迭代SISO1和第二迭代SISO2。译码器10在第一系统中,SISO单元101在第一迭代SISO1时直接从存储单元102读取第一数据,以根据第一数据产生第二数据;SISO单元101通过数据交织网络103将第二数据写入存储单元102。SISO单元101在第二迭代时直接从存储单元102读取第三数据,以根据第三数据产生第四数据;SISO单元101通过数据交织网络103将第四数据写入存储单元102。因此,本实施例所揭示的译码器10的SISO单元101按顺序从存储单元102读取数据,不需要经过数据交织网络103,大大减少数据交织网络103的交织数据量,进而减少译码器10的缓存数据量。
可选地,存储单元102还存储用于第一系统的第一交织地址和第一解交织地址。如图2所示,在第一迭代SISO1时,SISO单元101直接从存储单元102顺序读取第一数据,并通过数据交织网络103根据从存储单元102获取的第一解交织地址将第二数据写入存储单元102,相当于SISO单元101对第二数据进行交织。在第二迭代SISO2时,SISO单元101直接从存储单元102顺序读取第三数据,并通过数据交织网络103根据从存储单元102获取的第一交织地址将第四数据写入存储单元102,相当于SISO单元101对第四数据解交织。本实施例所揭示的SISO单元101从存储单元102读取数据均按递增顺序,无需经过数据交织网络103,大大减少数据交织网络103的交织数据量,因此数据交织网络103内部的buffer深度和交织网络延时也将减少,进而满足并行译码实现的需求。其中,本实施例所揭示的顺序地址、第一交织地址以及第一解交织地址的关系如图3所示,顺序地址为第一数据存储在存储单元102的地址或者第三数据存储在存储单元102的地址。在其他实施例中,本领域的技术人员完全可以通过其他方式设置顺序地址、第一交织地址以及第一解交织地址的关系。
其中,第一解交织地址存储在存储单元102的第一解交织表,第一交织地址存储在存储单元102的第一交织表。第一解交织表的长度最大为5114比特,第一交织表的长度最大为5114比特。
本实施例所揭示的SISO单元101优选采用Radix-4算法,每个时刻SISO单元101需要读取2组La数据,并且产生2个Le数据,如图4所示。优选地,2组La数据包括LAn和LAn+1、LAm和LAm+1,2个Le数据为LEn和LEn+1。
以下以SISO单元A、SISO单元B、SISO单元C以及SISO单元D为例进行说明。
如图5所示,SISO单元A、SISO单元B、SISO单元C以及SISO单元D在第一迭代SISO1时通过数据交织网络103将第二数据写入存储单元102。SISO单元A、SISO单元B、SISO单元C以及SISO单元D在第二迭代SISO2时直接从存储单元102读取第三数据。当并行度为N时,存储单元102的存储器的数量M=4*N,相对于现有技术的译码器,存储单元102的数量减少一半。其中,并行度为多个存储单元并行处理的读写指令的最大条数,在本发明实施例中,即SISO单元A、SISO单元B、SISO单元C或SISO单元D并行处理的读写指令的最大指令条数。
可选地,数据交织网络103在第一系统中优选为RIBB(RingInterleaver Bottleneck Breaker,环形网络)结构的数据交织网络。在其他实施例中,本领域的技术人员还可以将数据交织网络103设置为其他结构的数据交织网络。
本发明还提供第二实施例的译码器,其在第一实施例所揭示的译码器10的基础上进行详细描述。本实施例所揭示的存储单元102还存储用于第二系统的第二交织地址。如图6所示,在第二系统中,SISO单元101在第一迭代SISO1时直接从存储单元102顺序读取第五数据,以根据第五数据产生第六数据;SISO单元101直接将第六数据顺序写入存储单元102。SISO单元101在第二迭代SISO2时通过数据交织网络103根据第二交织地址从存储单元102交织读取第七数据,以根据第七数据产生第八数据;SISO单元101通过数据交织网络103根据第二交织地址将第八数据交织写入存储单元102。其中,第二交织地址存储在第二交织表,第二交织表的长度最大为6144比特,由于第二系统不需要解交织表,因此第二交织表可以复用第一系统的第一交织表和第一解交织表。
第一系统优选为UMTS系统,第二系统优选为LTE(Long TermEvolution,长期演进)系统。其中第二系统采用QPP交织,即确保奇数位地址一定交织到奇数位,偶数位地址一定交织到偶数位。在其他实施例中,第二系统还可以是采用QPP交织的系统。
可选地,SISO单元101根据第二系统的QPP交织特性,对第二交织表进行重编码。其中,SISO单元101通过偏移位置对第二交织表进行重编码,以SISO单元A、SISO单元B、SISO单元C以及SISO单元D为例,SISO单元A、SISO单元B、SISO单元C以及SISO单元D均偏移4*13bit,第二交织地址合为10+4*2=18bit。
由于SISO单元101从存储单元102读取数据的数据量大,相当于SISO单元101写入存储单元102的数据量的两倍,因此,SISO单元101将第七数据中相邻的两个地址的数据合并至一个地址内,如图7所示。SISO单元101将相邻的地址addr0和地址addr1的数据La0和La1合并至地址addr0,相邻的地址addr2和地址addr3的数据La2和La3合并至地址addr1。此外,SISO单元101通过时分复用设置计算窗读使能和训练窗读使能,以使SISO单元101从存储单元102读取第七数据的数据量等于SISO单元101将第八数据写入存储单元102的数据量。
可选的,在第二系统中,数据交织网络103优选为交叉总线crossbus结构的数据交织网络,如图8所示。数据交织网络103利用第二系统读写不冲突的特点使用crossbus结构的数据交织网络实现数据交织读写,能够确保SISO单元101将2个值即时写入存储单元102。
通过以上方式,译码器在第一系统的第一交织表和第一解交织表可以共享第二系统的第二交织表,进而可以共享存储单元102。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种译码器,其特征在于,所述译码器包括至少一个软输入软输出SISO单元、存储单元以及数据交织网络,所述译码器通过多次迭代进行译码,每次所述迭代包括第一迭代和第二迭代;
其中,在第一系统中,所述SISO单元在所述第一迭代时直接从所述存储单元读取第一数据,以根据所述第一数据产生第二数据,并通过所述数据交织网络将所述第二数据写入所述存储单元;所述SISO单元在所述第二迭代时直接从所述存储单元读取第三数据,以根据所述第三数据产生第四数据,并通过所述数据交织网络将所述第四数据写入所述存储单元。
2.根据权利要求1所述的译码器,其特征在于,所述存储单元存储用于所述第一系统的第一交织地址和第一解交织地址,所述SISO单元在所述第一迭代时通过所述数据交织网络根据所述第一解交织地址将所述第二数据写入所述存储单元;所述SISO单元在所述第二迭代时通过所述数据交织网络根据所述第一交织地址将所述第四数据写入所述存储单元。
3.根据权利要求2所述的译码器,其特征在于,所述数据交织网络为环形网络RIBB结构的数据交织网络。
4.根据权利要求2所述的译码器,其特征在于,所述存储单元还存储用于第二系统的第二交织地址,在所述第二系统中,所述SISO单元在所述第一迭代时直接从所述存储单元顺序读取第五数据,以根据所述第五数据产生第六数据,并直接将所述第六数据顺序写入所述存储单元;所述SISO单元在所述第二迭代时通过所述数据交织网络根据所述第二交织地址从所述存储单元交织读取第七数据,以根据所述第七数据产生第八数据,并通过所述数据交织网络根据所述第二交织地址将所述第八数据交织写入所述存储单元。
5.根据权利要求4所述的译码器,其特征在于,所述第一解交织地址存储在所述存储单元的第一解交织表,所述第一交织地址存储在所述存储单元的第一交织表,所述第二交织地址存储在第二交织表。
6.根据权利要求5所述的译码器,其特征在于,所述SISO单元通过偏移位置对所述第二交织表进行重编码。
7.根据权利要求6所述的译码器,其特征在于,在所述第二系统中,所述SISO单元将所述第七数据中相邻的两个地址的数据合并至一个地址内,且通过时分复用设置计算窗读使能和训练窗读使能,以使所述SISO单元从所述存储单元读取所述第七数据的数据量等于所述SISO单元将所述第八数据写入所述存储单元的数据量。
8.根据权利要求7所述的译码器,其特征在于,所述第二交织表复用所述第一交织表和所述第一解交织表。
9.根据权利要求4所述的译码器,其特征在于,在所述第二系统中,所述数据交织网络为交叉总线crossbus结构的数据交织网络。
10.根据权利要求4所述的译码器,其特征在于,所述第一系统为通用移动通信系统UMTS系统,所述第二系统为长期演进LTE系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410079569.1A CN103840842A (zh) | 2014-03-05 | 2014-03-05 | 一种译码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410079569.1A CN103840842A (zh) | 2014-03-05 | 2014-03-05 | 一种译码器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103840842A true CN103840842A (zh) | 2014-06-04 |
Family
ID=50804040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410079569.1A Pending CN103840842A (zh) | 2014-03-05 | 2014-03-05 | 一种译码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103840842A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1335684A (zh) * | 2000-07-25 | 2002-02-13 | 华为技术有限公司 | 一种高速Turbo码解码器 |
CN101026439A (zh) * | 2007-02-07 | 2007-08-29 | 重庆重邮信科股份有限公司 | 一种提高Turbo码译码速率的译码方法 |
US20080104488A1 (en) * | 2006-10-27 | 2008-05-01 | Jung-Fu Cheng | Sliding Window Method and Apparatus for Soft Input/Soft Output Processing |
CN101192837A (zh) * | 2006-11-29 | 2008-06-04 | 美国博通公司 | turbo解码器及解码turbo编码信号的方法 |
CN102111162A (zh) * | 2009-12-28 | 2011-06-29 | 重庆重邮信科通信技术有限公司 | Turbo 分量译码方法、分量译码器、支路计算器及Turbo 译码器 |
-
2014
- 2014-03-05 CN CN201410079569.1A patent/CN103840842A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1335684A (zh) * | 2000-07-25 | 2002-02-13 | 华为技术有限公司 | 一种高速Turbo码解码器 |
US20080104488A1 (en) * | 2006-10-27 | 2008-05-01 | Jung-Fu Cheng | Sliding Window Method and Apparatus for Soft Input/Soft Output Processing |
CN101192837A (zh) * | 2006-11-29 | 2008-06-04 | 美国博通公司 | turbo解码器及解码turbo编码信号的方法 |
CN101026439A (zh) * | 2007-02-07 | 2007-08-29 | 重庆重邮信科股份有限公司 | 一种提高Turbo码译码速率的译码方法 |
CN102111162A (zh) * | 2009-12-28 | 2011-06-29 | 重庆重邮信科通信技术有限公司 | Turbo 分量译码方法、分量译码器、支路计算器及Turbo 译码器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104219019A (zh) | 编码方法及编码设备 | |
CN101777921B (zh) | 用于显式存储片上系统的结构化ldpc码译码方法及装置 | |
US9374110B2 (en) | Multimode decoder implementation method and device | |
CN101489135B (zh) | 一种方便ldpc长码在fpga实现的编码器及编码方法 | |
TWI569587B (zh) | 解迴旋交錯器 | |
CN100546207C (zh) | 一种基于DVB-RCS标准的双二元Turbo码译码方法 | |
CN102111162A (zh) | Turbo 分量译码方法、分量译码器、支路计算器及Turbo 译码器 | |
CN101969310B (zh) | Turbo码并行译码器的QPP内交织器及其交织方法 | |
CN102255687A (zh) | 速率匹配方法与装置 | |
US8108762B2 (en) | Operating method and circuit for low density parity check (LDPC) decoder | |
CN102801981B (zh) | 一种基于jpeg-ls算法的多路压缩内核并行编码的控制方法 | |
CN103812510A (zh) | 译码方法及装置 | |
CN103840842A (zh) | 一种译码器 | |
CN103560797A (zh) | 超强前向纠错五次迭代译码的方法及装置 | |
US8627022B2 (en) | Contention free parallel access system and a method for contention free parallel access to a group of memory banks | |
CN105450333A (zh) | Ldpc码字的交织映射方法及解交织解映射方法 | |
CN103166736A (zh) | 一种交织器读写方法 | |
CN106254872A (zh) | 熵转换编码的方法以及相关装置 | |
CN110601792A (zh) | 一种用于宽带电力载波通讯的前端编解码系统及方法 | |
CN102035558A (zh) | turbo译码方法和装置 | |
CN102227097A (zh) | 一种可变长度s随机交织器的生成方法 | |
Sanchez et al. | A dedicated approach to explore design space for hardware architecture of turbo decoders | |
CN103795425A (zh) | 码率兼容rs码译码器 | |
CN103078702B (zh) | 数据交织处理方法、装置和系统 | |
CN111045965B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140604 |
|
RJ01 | Rejection of invention patent application after publication |