CN1859014A - Turbo码编码中的交织方法及相关装置 - Google Patents
Turbo码编码中的交织方法及相关装置 Download PDFInfo
- Publication number
- CN1859014A CN1859014A CN 200510037386 CN200510037386A CN1859014A CN 1859014 A CN1859014 A CN 1859014A CN 200510037386 CN200510037386 CN 200510037386 CN 200510037386 A CN200510037386 A CN 200510037386A CN 1859014 A CN1859014 A CN 1859014A
- Authority
- CN
- China
- Prior art keywords
- value
- row
- displacement
- turbo code
- looking ahead
- 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.)
- Granted
Links
Images
Landscapes
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明涉及通信系统中信号编码技术,公开了一种Turbo码编码中的交织方法及相关装置,使得Turbo码编码中的交织计算复杂度降低,提高Turbo码编码速度,进而提高系统数据面的处理速度,适应实时性业务需求。这种Turbo码编码中的交织方法中,采用预取余处理和乘法、移位等简单运算实现高效取模算法,基于不同精度需求的高效取模算法完成快速取模运算,并在此基础上发展Turbo码编码的交织方法。
Description
技术领域
本发明涉及通信系统中信号编码技术,特别涉及通信系统中对信号进行Turbo码编码交织的技术。
背景技术
信息论诞生50多年以来,人们一直努力寻找更加接近香农(Shannon)限、误差概率小的编码方法。在1993年国际通信年会(International Conference onCommunication)上,C.Berrou,A.Glavieux和P.Thitimajshiwa提出了一种称之为Turbo码的编、译码方案,并进行了计算机仿真,仿真结果表明,其编码增益与香农信道容量的差距小于1dB。
由于Turbo码的性能接近香农理论限,在低信噪比的应用环境下比其他编码好,因而第三代移动通信系统多种方案中,考虑将Turbo码作为无线信道的编码标准之一。第三代移动通信系统候选方案普遍要求提供中速或者高速的数据业务,一般的数据业务信道为64kbps、144kbps、384kbps。在低信噪比的无线信道中,Turbo码的性能要优异得多,与第二代移动通信中的级联RS加卷积码相比,Turbo码性能可提高1dB以上。同时,Turbo码具有优异的纠错性能,适用于高速率对译码时延要求不高的数据传输业务,并可降低对发射功率的要求、增加系统容量。
Turbo编码器由两个系统递归卷积(Recursive Systematic Convolution,简称“RSC”)编码器、交织器和删除器组成。每个RSC编码器有两路交验位输出,两个输出经删除复用后形成Turbo码。事实上,当码率大于2/3时,在任何大小信噪比情况下,由于RSC编码的自由距离都比非系统卷积(Nonsystematic Convolution,“NSC”)编码大,比特误码率(Bit Error Rate,简称“BER”)比其小,显出更好的性能,因而Turbo码中采用了RSC编码器。
Turbo译码器由两个软输入、软输出的译码器、交织器、去交织器构成,经对输入信号交替译码、软输出多轮译码、过零判决后得到译码输出。
在Turbo码编码过程中,输入信息编码器的信息单元一方面直接输入第一个RSC编码器进行编码,生成一个校验序列;另一方面经过交织器交织后,产生一个经交织的系统序列,经过第二个RSC编码器产生另一个校验序列。编码器由多个存储单元构成,其输入为信息比特。为使编码器初始状态置于全零状态,需在信息序列之后增加尾信息比特,而要使两个编码器同步置零,要在不进行交织的一路加上延时。
Turbo码编码的交织器通常是对输入的原始信息序列进行随机置换后从前向后读出。交织器的两个主要作用是:可以产生长码;使两个RSC编码器的输入不相关,编码过程趋于独立。交织使编码产生随机度,使码随机化、均匀化,起着对码重量整形的作用,直接影响Turbo码的性能。在译码端,由于交织使得信息相互关联,对于某一个子译码器来说不可纠正的错误事件,交织后在另一个译码器被打散,成为可纠正差错,由此提高容错性能。
Turbo码编码的交织方式主要有规则交织、不规则交织和随机交织3种。通常规则交织即行写列读,实现起来简单,但编码效果不好,随机程度、均匀程度不够。随机交织指交织格式是随机分配的,是理论上性能最好的交织方式,但是由于要将整个交织信息位置信息等传送给译码器,占用了带宽,降低了编码效率,不适合实际应用。实际应用中一般采用不规则交织,这是一种伪随机交织方式,对每一编码块采用固定的交织方式,但块与块之间交织器结构不一样。一方面为了获得较高的编码增益,往往增加交织器的长度;另一方面在无线移动通信系统对时延要求较高,交织器长度不能太大,因此一般采用交织长度为400左右的伪随机短交织器。
信道编码技术可改善数字信息在传输过程中由于噪声和干扰而造成的误差,提高系统可靠性和信道容量。因而提供高效的信道编译码技术成为第三代(3rd Generation,简称“3G”)移动通信系统中的关键技术之一。3G移动通信系统所提供的业务种类的多样性、灵活性,对差错控制编译码提出了更高的要求。3G候选方案宽带码分多址(Wideband Code Division MultipleAccess,简称“WCDMA”)和码分多址2000(Code Division Multiple Access,简称“cdma2000”)都建议采用除Turbo编码技术。
下面简单介绍3G移动通信系统所采用的Turbo码编码技术,该技术规范由第三代合作伙伴项目(3rd Generation Partnership Project,简称“3GPP”)TS 25.212详细描述。
cdma2000方案中,Turbo码被用在CDMA系统前向、反向链路信道中。RSC编码器基于8状态的并行级联卷积码(8-state Parallel ConcatenatedConvolutional Code,简称“PCCC”)。交织采用了比特翻转技术。通过删余处理,Turbo码的码率可以1/4,1/2,1/3。WCDMA方案中,对于业务服务质量需求较高,并且允许时延较长的数据业务,RSC子编码器使用8PCCC。
图1示出了3G移动通信系统所采用的Turbo码编码器组成结构。该编码器包含两个基于8PCCC的RSC编码器101和102和一个Turbo码内部交织器103,编码速率为1/3。其中RSC编码器101和102的传递函数为
这里g0(D)=1+D2+D3,g1(D)=1+D+D3。D表示延时算子。RSC编码器用移位寄存器实现,在开始输入时移位寄存器初始值被置为0。输入比特流为x1,x2,...,xK,同时输入RSC编码器101和Turbo码内部交织器103,K为比特流长度。经过交织后从Turbo码内部交织器103输出为x′1,x′2,...,x′K,交织后的信息进入RSC编码器102。输出比特流z1,z2,...,zK and z′1,z′2,...,z′K分别从RSC编码101和102输出。
Turbo码内部交织器103的实现又分为交织地址表的计算和交织操作两部分。所谓交织地址表的计算,即计算出交织前每个信息比特在交织之后的位置。交织操作,就是根据交织地址表,对输入数据流进行数据重排。
由于Turbo码的译码性能除了受交织器随机作用影响外,很大程度上取决于交织深度。在3G移动通信系统中,业务速率由32kbit/s到2Mbit/s,10ms一帧,帧长由20到20000。因此为了提高译码器性能,在一些低速业务中,可采用多帧组成一个数据块,加大交织深度。
在WCDMA方案中,Turbo码交织器是可截短型块交织器。交织行数为5、10或20行,在行数确定的基础上选择列数。数据按行读入交织器,按固定模式进行行间转换,不同输入序列长度对应不同的行数和行间转换模式。行转换完成后,进行列转换。不同行对应不同列间转换参数,采取的是接近随机化的素数取模算法。数据在完成行列转换后,按列读出。
cdma2000方案也是基于块交织。交织行数为25-32行,列数N-2n,n为满足使32N大于或等于帧长度的最小值。数据按行读入。行间转换的依据是比特翻转原则。列间转换的置换为同模取余法,为了更接近随机化,使每列的偏置取不同值。数据经过行列转换后,按列输出。
可以看出当前Turbo码编码中采用的交织方法均包含较多的取模运算。在实际工程应用中,Turbo码编码通常用数字信号处理器(Digital SignalProcessor,简称“DSP”)或中央处理单元(Central Process Unit,简称“CPU”)实现,而DSP或CPU器件均通过定点除法实现取模运算,比如A对B取模运算是先计算A/B的值并取整得到[A/B],然后由A-[A/B]×B计算得到Amod B的值。由于除法运算效率较低,使得Turbo码编码的交织速度较慢,不能满足对实时性要求高的业务需求。
另外,考虑到实际业务数据交互过程中,数据量是随机动态变化的,导致Turbo码交织表长度动态变化,而不同长度下的交织表是完全不同的,因此需要实时计算Turbo码交织表。这更需要加快Turbo码交织表的运算速度,而现有的Trubo码编码中的交织方法则由于处理速度慢而直接影响系统数据面的处理效率。
在实际应用中,上述方案存在以下问题:现有Turbo码编码中的交织方法运算速度较慢,直接影响系统数据面的处理效率,不能满足实时性要求高的业务需求。
造成这种情况的主要原因在于,现有Turbo码编码中的交织方法均采用了取模运算,取模运算大大增加了计算复杂度。
发明内容
有鉴于此,本发明的主要目的在于提供一种Turbo码编码中的交织方法,使得Turbo码编码中的交织计算复杂度降低,提高Turbo码编码速度,进而提高系统数据面的处理速度,适应实时性业务需求。
为实现上述目的,本发明提供了一种Turbo码编码中的交织方法,包含以下步骤,
A将输入比特流填入交织矩阵;
B对所述交织矩阵进行行内置换和行间置换;
C从交织后的所述交织矩阵输出比特流;
其中,所有取模运算均采用高效取模算法实现。
所述高效取模算法包含以下步骤,
对所有可能的模值进行预取余处理,根据以下式子计算得到预取余值,建立模值到预取余值的映射表:A=[2N/P],其中A为所述预取余值,P为所述模值,N为位数,[g]表示取整运算;
对任意取模运算,查询所述模值到预取余值的映射表得到所述预取余值,并根据以下式子通过乘法和移位运算计算取模结果:L=M-((M×A)>>N)×P,其中L为所述取余结果,M为被取模值,A为所述预取余值,N为所述位数,P为所述模值,X>>n表示移位运算,即将左值X右移,移动位数为右值n。
所述位数N的值可以根据实际精度需要而设定,N越大精度越高。
所述步骤A包含以下子步骤,
据输入比特流长度确定所述交织矩阵的行数;
根据所述输入比特流长度确定用于行内置换的质数和所述交织矩阵的列数;
将输入比特流按行填入所述交织矩阵,并将多余比特填满。
所述步骤B包含以下子步骤,
B1根据所述用于行内置换的质数查表得到相应的初始根;
B2根据以下递推公式构建用于行内置换的基序列:
S(0)=1,对于j>0有S(j)=(v×S(j-1))fmod p,其中S(j),j=0,1,..,p-2表示所述用于行内置换的基序列,p为所述用于行内置换的质数,v为所述初始根,fmod为采用所述高效取模算法实现的取模运算,其左值为所述被取模值,右值为所述模值;
B3选择连续的最小质数集;<qi>,i=1,2,..,R-1:q0=1,对于任意i>0选择满足条件“qi和p-1的最大公约数为1,且qi>6,qi>qi-1”的最小质数作为qi值。
B4根据所述输入比特流长度和所述交织矩阵的行数选择行间交换模式T(i),i=0,1,..,R-1;
B5将所述最小质数集<qi>转换得到转换后最小质数集<ri>;
B6根据所述交织矩阵的列数不同选择不同的行内置换模式,进行所述行内置换,所述交织矩阵的列数与所述行内置换模式对应关系如下:
当C=p时,Ui(j)=S((j×ri)fmod(p-1)),j=0,1,..,p-2,且Ui(p-1)=0,
当C=p+1时,Ui(j)=S((j×ri)fmod(p-1)),j=0,1,..,p-2,且Ui(p-1)=0,Ui(p)=p,另外若K=C×R成立,即没有填入空比特时,还要交换UR-1(p)和UR-1(0),
当C=p-1时,Ui(j)=S((j×ri)fmod(p-1))-1,j=0,1,..,p-2,
其中C为所述交织矩阵的列数,Ui(j)为所述行内置换模式,即表示第i行的第j列在经过所述行内置换后为的Ui(j)列,S(g)为所述用于行内置换的基序列,ri为所述转换后最小质数集,p为所述用于行内置换的质数,K为所述输入比特流长度,R为所述交织矩阵的行数,fmod为采用所述高效取模算法实现的取模运算,其左值为所述被取模值,右值为所述模值;
B7根据所述行间置换模式进行行间置换。
所述步骤B2中的所述高效取模算法中的所述位数N=18;
所述步骤B6中的所述高效取模算法中的所述位数由以下式子确定:
所述步骤C包含以下子步骤,
从所述交织矩阵按列读取输出比特流;
将所述多余比特去除。
本发明还提出了一种高效取模装置,包含:
乘法器,用于将输入的两数相乘后输出;
移位器,用于将输入的数作向右移位操作,所移动的位数至少为1;
减法器,用于将输入的被减数减去输入的减数后输出;
预取余器,用于将输入的模值作预取余处理,根据以下式子计算并输出预取余值:A=[2N/P],其中A为所述预取余值,P为所述模值,N为所述位数,[g]表示取整运算;
为了将输入的被取模值M和所述模值P作取模运算后输出取模结果L,所述预取余器先将输入的所述模值P作预取余处理后输出所述预取余值A;第一个所述乘法器将输入的所述预取余值A和所述被取模值M相乘后输入到所述移位器;所述移位器将第一个所述乘法器输出的结果右移N位后再输入到第二个所述乘法器;第二个所述乘法器将所述移位器输出的结果和所述模值P相乘后输入到所述减法器;所述减法器将所述被取模值减去第二个所述乘法器输出的结果后输出所述取模结果L。
通过比较可以发现,本发明的技术方案与现有技术的主要区别在于,采用预取余处理和乘法、移位等简单运算实现高效取模算法,基于不同精度需求的高效取模算法完成快速取模运算,并在此基础上发展Turbo码编码的交织方法。
这种技术方案上的区别,带来了较为明显的有益效果,即通过高效取模算法对取模运算的改进,降低了取模运算的复杂度,大大提高了Turbo码编码中交织表的计算效率,从而提高系统数据面的处理速度。
附图说明
图1是3G移动通信系统采用的Turbo码编码器结构示意图;
图2是根据本发明的一个实施例的高效取模算法流程图;
图3是根据本发明的一个实施例的高效取模算法实现装置图;
图4是根据本发明的一个实施例的Turbo码编码中的交织方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
本发明通过采用乘法和移位等简单运算实现高效取模算法,并且用高效取模算法实现取模运算,可以有效地提高Turbo码编码中交织地址表的处理速度,进而提高整个系统数据面的处理速度。
图2示出了在本发明的一个实施例中高效取模算法流程图,对于如下的取模运算L=M mod p,即M对p取模得到L,进行如下步骤的处理:
步骤201中,对所有可能的模值p进行预取余处理得到预取余值A,建立p-A表,计算公式为A=[2N/p],其中[g]为取整运算,位数N为一整数,N的值根据实际精度需要设定,N越大精度越高。由于在Turbo码编码中,所有取模运算的模值都取自一个固定的集合,因此对于所有p值计算A值,建立p-A表是可行的。
接着进入步骤202,对于任意取模运算L=M mod p,用乘法和移位计算取模结果L值,计算公式为L=M-((M×A)>>N)×p,其中X>>n为移位运算,即将X右移n位,其效果相当于X除以2n。可以看出,该运算中只需两次乘法一次移位一次减法即可,其复杂度远远低于除法运算,这正是本发明提出的高效取模算法的优点所在。为区别普通取模运算,下文用L=L fmod p表示采用高效取模算法实现的取模运算。
图3示出了在本发明的一个实施例中高效取模算法实现装置图。图中的构件包括乘法器、加法器、移位器和预取余器。关键点在于先将模值p输入到预取余器中进行预取余,具体计算方法和公式在前面已经阐述。图中的移位器是用N个一阶的移位器来表示一个N位的移位器。这里的预取余器可以通过一个存储的映射表实现。
本发明所采用的高效取模算法巧妙的将除法操作事先用预取余处理代替,这使得每次取余操作都只需进行简单的查表即可获得预取余值,并用于取模运算,极大的降低了取模运算的复杂度,从而提高整个交织过程及其Turbo码编码的效率。
通过以上对取模运算的改进,可以得到运算效率更高的交织方法。图4示出了根据本发明的一个实施例的Turbo码编码中的交织方法流程,包含以下三个步骤:步骤401,将输入比特流填入交织矩阵;步骤402,对交织矩阵进行行内置换和行间置换;步骤403,从交织后的交织矩阵输出比特流。
其中,步骤401将输入比特流填入交织矩阵包含以下子步骤:
首先,根据输入比特流的长度确定交织矩阵的行数。如前所述用x1,x2,x3,K,xK表示输入比特流,其中为K比特流长度,满足条件40≤K≤5114。用R表示交织矩阵的行数,则根据如下公式K由确定R,
由此交织矩阵的行号自上而下分别定义为0,1,...,R-1。
接着,由输入比特流长度K确定用于行内置换的质数p以及交织矩阵的。判断条件481≤K≤530是否满足,如果满足,则取p=53,且C=p;否则,从表一查询满足条件K≤R×(p+1)的最小的质数p值作为p的值,且根据下式确定列数C的值,
由此交织矩阵的列号自左而右分别定义为0,1,...,C-1。
表一:
p | v | p | v | p | v | p | v | p | v |
7 | 3 | 47 | 5 | 101 | 2 | 157 | 5 | 223 | 3 |
11 | 2 | 53 | 2 | 103 | 5 | 163 | 2 | 227 | 2 |
13 | 2 | 59 | 2 | 107 | 2 | 167 | 5 | 229 | 6 |
17 | 3 | 61 | 2 | 109 | 6 | 173 | 2 | 233 | 3 |
19 | 2 | 67 | 2 | 113 | 3 | 179 | 2 | 239 | 7 |
23 | 5 | 71 | 7 | 127 | 3 | 181 | 2 | 241 | 7 |
29 | 2 | 73 | 5 | 131 | 2 | 191 | 19 | 251 | 6 |
31 | 3 | 79 | 3 | 137 | 3 | 193 | 5 | 257 | 3 |
37 | 2 | 83 | 2 | 139 | 2 | 197 | 2 | ||
41 | 6 | 89 | 3 | 149 | 2 | 199 | 3 | ||
43 | 3 | 97 | 5 | 151 | 6 | 211 | 2 |
注:p为质数,v为初始根
最后,将输入比特流x1,x2,x3,K,xK填入大小为R×C的交织矩阵中。当交织矩阵不能被填满时,即R×C>K时,剩余比特将被任意填补,这些填补的比特在交织完成后将被剔除。
在得到交织矩阵后,步骤402分为以下子步骤完成:
第一步,根据步骤401中确定的质数p查询表一得到相应的初始根v。易见,所有可能的p取值在表一中均能查到。
第二步,构建用于行内置换的基序列,用<S(j)>,j=0,1,..,p-2表示,其中尖括号表示序列,下标j从0至p-2。基序列的值由以下递推式计算得到S(j)=[v×S(j-1)]fmod p,S(0)=1,其中fmod即为采用高效取模算法实现的取模运算。可见,这里采用连乘取模的方法获得一串伪随机数,以达到随机交织的目的。如前所述,由于高效取模算法的高效性,使得本步骤运算所需时间锐减,注意到这里模值p的取值集合即为表一中所有质数p值,需要事先对所有质数p值做预取余处理。
在本发明的一个较佳实施例中,针对p值可能取的值以及一般系统所要求的精度设定高效取模算法中的位数N=18。
第三步,根据以下方法选择连续的最小质数集<qi>,i=1,2,..,R-1:q0=1,对于任意i>0选择满足条件“qi和p-1的最大公约数为1,且qi>6,qi>qi-1”的最小质数作为qi值。
第四步,根据编码码块长度K和行数R选择行间交换模式T(i),i=0,1,..,R-1,交换模式根据表2选取。其中T(i)的值代表原先行号为i的行在交换之后的行号。
表二:
K(输入比特流长度) | R(交织矩阵行数) | <T(0),T(1),...,T(R-1)>(行间置换模式) |
(40≤K≤159) | 5 | <4,3,2,1,0> |
(160≤K≤200)or(481≤K≤530) | 10 | <9,8,7,6,5,4,3,2,1,0> |
(2281≤K≤2480)or(3161≤K≤3210) | 20 | <19,9,14,4,0,2,5,7,12,18,16,13,17,15,3,1,6,11,8,10> |
其他 | 20 | <19,9,14,4,0,2,5,7,12,18,10,8,13,17,3,1,16,6,15,11> |
第五步,按下列关系将<qi>转换为<ri>:rT(i)=qi,i=0,1,..,R-1。其中T(i)由第四部得到。可见,质数集<ri>即为相应行间置换后的质数集。
第六步,进行行内置换,行内置换根据列数不同选择不同的模式进行,由于步骤401中确定列数C时只可能取三个值p,p+1,p-1,因此对应三个值分别用三种行内置换模式如下:
当C=p时,Ui(j)=S((j×ri)fmod(p-1)),j=0,1,..,p-2,其中Ui(p-1)=0;这里Ui(j)指是第i行在完成行内置换后第j个输出比特在输入时的位置,下同。
当C=p+1时,Ui(j)=S((j×ri)fmod(p-1)),j=0,1,..,p-2,其中Ui(p-1)=0且Ui(p)=p,另外若K=C×R成立,即没有填入空比特时,还要交换UR-1(p)和UR-1(0)。
当C=p-1时,Ui(j)=S((j×ri)fmod(p-1))-1,j=0,1,..,p-2。
上述模式中fmod均表示采用高效取模算法实现取模运算。在本发明的一个较佳实施例中,针对模值p-1的取值范围以及一般系统的精度要求,设定高效取模算法中的位数如下:
这里的p为质数p。
第七步,根据模式T(i),i=0,1,..,R-1进行行间置换,这里T(i)的值即为原先行号为i的行在交换之后的行号。
步骤403中,在完成矩阵的行内置换和行间置换后,按列顺序读出矩阵内容:从0,1,...,C-1,同时计算出对应的输入比特的位置,并去掉大于K的地址值。这里采用行写列读的方式使得交织更加彻底。
虽然通过参照本发明的某些优选实施例,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。
Claims (8)
1.一种Turbo码编码中的交织方法,其特征在于,包含以下步骤,
A将输入比特流填入交织矩阵;
B对所述交织矩阵进行行内置换和行间置换;
C从交织后的所述交织矩阵输出比特流;
其中,所有取模运算均采用高效取模算法实现。
2.根据权利要求1所述一种Turbo码编码中的交织方法,其特征在于,所述高效取模算法包含以下步骤,
对所有可能的模值进行预取余处理,根据以下式子计算得到预取余值,建立模值到预取余值的映射表:A=[2N/P],其中A为所述预取余值,P为所述模值,N为位数,[g]表示取整运算;
对任意取模运算,查询所述模值到预取余值的映射表得到所述预取余值,并根据以下式子通过乘法和移位运算计算取模结果:L=M-((M×A)>>N)×P,其中L为所述取余结果,M为被取模值,A为所述预取余值,N为所述位数,P为所述模值,X>>n表示移位运算,即将左值X右移,移动位数为右值n。
3.根据权利要求2所述一种Turbo码编码中的交织方法,其特征在于,所述位数N的值可以根据实际精度需要而设定,N越大精度越高。
4.根据权利要求3所述一种Turbo码编码中的交织方法,其特征在于,所述步骤A包含以下子步骤,
据输入比特流长度确定所述交织矩阵的行数;
根据所述输入比特流长度确定用于行内置换的质数和所述交织矩阵的列数;
将输入比特流按行填入所述交织矩阵,并将多余比特填满。
5.根据权利要求4所述一种Turbo码编码中的交织方法,其特征在于,所述步骤B包含以下子步骤,
B1根据所述用于行内置换的质数查表得到相应的初始根;
B2根据以下递推公式构建用于行内置换的基序列:
S(0)=1,对于j>0有S(j)=(v×S(j-1))fmod p,其中S(j),j=0,1,..,p-2表示所述用于行内置换的基序列,p为所述用于行内置换的质数,v为所述初始根,fmod为采用所述高效取模算法实现的取模运算,其左值为所述被取模值,右值为所述模值;
B3选择连续的最小质数集;<qi>,i=1,2,..,R-1:q0=1,对于任意i>0选择满足条件“qi和p-1的最大公约数为1,且qi>6,qi>qi-1”的最小质数作为qi值。
B4根据所述输入比特流长度和所述交织矩阵的行数选择行间交换模式T(i),i=0,1,..,R-1;
B5将所述最小质数集<qi)转换得到转换后最小质数集<ri);
B6根据所述交织矩阵的列数不同选择不同的行内置换模式,进行所述行内置换,所述交织矩阵的列数与所述行内置换模式对应关系如下:
当C=p时,Ui(j)=S((j×ri)fmod(p-1)),j=0,1,..,p-2,且Ui(P-1)=0,
当C=p+1时,Ui(j)=S((j×ri)fmod(p-1)),j=0,1,..,p-2,且Ui(p-1)=0,Ui(p)=p,另外若K=C×R成立,即没有填入空比特时,还要交换UR-1(p)和UR-1(0),
当C=p-1时,Ui(j)=S((j×ri)fmod(p-1))-1,j=0,1,...,p-2,
其中C为所述交织矩阵的列数,Ui(j)为所述行内置换模式,即表示第i行的第j列在经过所述行内置换后为的Ui(j)列,S(g)为所述用于行内置换的基序列,ri为所述转换后最小质数集,p为所述用于行内置换的质数,K为所述输入比特流长度,R为所述交织矩阵的行数,fmod为采用所述高效取模算法实现的取模运算,其左值为所述被取模值,右值为所述模值;
B7根据所述行间置换模式进行行间置换。
6.根据权利要求5所述一种Turbo码编码中的交织方法,其特征在于,
所述步骤B2中的所述高效取模算法中的所述位数N=18;
所述步骤B6中的所述高效取模算法中的所述位数由以下式子确定: 其中N所述位数,p为所述用于行内置换的质数,所述步骤B6中的取模运算中的所述模值均为p-1。
7.根据权利要求3所述一种Turbo码编码中的交织方法,其特征在于,所述步骤C包含以下子步骤,
从所述交织矩阵按列读取输出比特流;
将所述多余比特去除。
8.一种高效取模装置,其特征在于,包含:
乘法器,用于将输入的两数相乘后输出;
移位器,用于将输入的数作向右移位操作,所移动的位数至少为1;
减法器,用于将输入的被减数减去输入的减数后输出;
预取余器,用于将输入的模值作预取余处理,根据以下式子计算并输出预取余值:A=[2N/P],其中A为所述预取余值,P为所述模值,N为所述位数,[g]表示取整运算;
为了将输入的被取模值M和所述模值P作取模运算后输出取模结果L,所述预取余器先将输入的所述模值P作预取余处理后输出所述预取余值A;第一个所述乘法器将输入的所述预取余值A和所述被取模值M相乘后输入到所述移位器;所述移位器将第一个所述乘法器输出的结果右移N位后再输入到第二个所述乘法器;第二个所述乘法器将所述移位器输出的结果和所述模值P相乘后输入到所述减法器;所述减法器将所述被取模值减去第二个所述乘法器输出的结果后输出所述取模结果L。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100373864A CN100438344C (zh) | 2005-09-16 | 2005-09-16 | Turbo码编码中的交织方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100373864A CN100438344C (zh) | 2005-09-16 | 2005-09-16 | Turbo码编码中的交织方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1859014A true CN1859014A (zh) | 2006-11-08 |
CN100438344C CN100438344C (zh) | 2008-11-26 |
Family
ID=37297882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100373864A Expired - Fee Related CN100438344C (zh) | 2005-09-16 | 2005-09-16 | Turbo码编码中的交织方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100438344C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931419B (zh) * | 2009-06-24 | 2013-04-03 | 中兴通讯股份有限公司 | 一种turbo码内交织器的计算方法及装置 |
CN103236905A (zh) * | 2013-04-27 | 2013-08-07 | 清华大学 | 用于正交频分复用通信的交织方法及装置 |
WO2015021641A1 (zh) * | 2013-08-16 | 2015-02-19 | 华为技术有限公司 | 一种发送比特流方法、设备及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1178417C (zh) * | 2001-07-11 | 2004-12-01 | 信息产业部电信传输研究所 | 现场实时产生宽带码分多址Turbo码内交织器方法 |
CN1247035C (zh) * | 2003-03-10 | 2006-03-22 | 大唐移动通信设备有限公司 | 一种用可编程门阵列实现的第三代移动通信标准协议中的Turbo码内交织器 |
-
2005
- 2005-09-16 CN CNB2005100373864A patent/CN100438344C/zh not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101931419B (zh) * | 2009-06-24 | 2013-04-03 | 中兴通讯股份有限公司 | 一种turbo码内交织器的计算方法及装置 |
CN103236905A (zh) * | 2013-04-27 | 2013-08-07 | 清华大学 | 用于正交频分复用通信的交织方法及装置 |
CN103236905B (zh) * | 2013-04-27 | 2015-09-30 | 清华大学 | 用于正交频分复用通信的交织方法及装置 |
WO2015021641A1 (zh) * | 2013-08-16 | 2015-02-19 | 华为技术有限公司 | 一种发送比特流方法、设备及系统 |
CN104541467A (zh) * | 2013-08-16 | 2015-04-22 | 华为技术有限公司 | 一种发送比特流方法、设备及系统 |
CN104541467B (zh) * | 2013-08-16 | 2018-08-17 | 华为技术有限公司 | 一种发送比特流方法、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN100438344C (zh) | 2008-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1202625C (zh) | 利用线性同余序列的turbo码交织器 | |
CN1271796C (zh) | 涡式交织方法 | |
CN1112776C (zh) | 在移动通信系统中用于特伯编码器的删截设备和方法 | |
CN1564485A (zh) | 数据传输的速率匹配方法和装置 | |
CN1169320C (zh) | 宽带码分多址发送速率估计方法和设备 | |
CN1615592A (zh) | 通信系统的交织设备和方法 | |
CN1241329C (zh) | 对卷积编码的代码字进行解码的方法和设备 | |
CN1761160A (zh) | 解码方法和设备 | |
CN1505273A (zh) | 通信系统的交织/解交织装置和方法 | |
CN1297616A (zh) | Turbo交错器/解交错器中使用的地址发生器和地址发生方法 | |
CN1252936C (zh) | 用于透平编码的块交织 | |
CN1431594A (zh) | 一种多通道多位并行计算crc码的方法 | |
CN101034951A (zh) | 一种Turbo码内交织器的实现方法 | |
CN1394417A (zh) | 在通信系统中生成编码 | |
CN1859014A (zh) | Turbo码编码中的交织方法及相关装置 | |
CN1271791C (zh) | Turbo译码器及其实现方法 | |
CN1758543A (zh) | 提高Turbo码译码速度的并行译码方法及译码装置 | |
CN1349361A (zh) | 特博码的解码方法 | |
CN1328386A (zh) | 并行滑动窗最大后验概率算法及其高速Turbo码译码器 | |
CN1147169C (zh) | 用于Turbo码的解码方法和解码器 | |
CN100350751C (zh) | Turbo解码装置 | |
CN1349357A (zh) | 在移动通信系统中执行特博解码的方法 | |
CN1773867A (zh) | Turbo码译码方法 | |
CN1166073C (zh) | 达到香农限的随机扩展迭代编码调制方法 | |
CN1738229A (zh) | TD-SCDMA系统中的Woven卷积码纠错编、译码器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20081126 Termination date: 20170916 |
|
CF01 | Termination of patent right due to non-payment of annual fee |