CN101557235B - Turbo乘积码译码器迭代因子的构造方法 - Google Patents
Turbo乘积码译码器迭代因子的构造方法 Download PDFInfo
- Publication number
- CN101557235B CN101557235B CN2009101073028A CN200910107302A CN101557235B CN 101557235 B CN101557235 B CN 101557235B CN 2009101073028 A CN2009101073028 A CN 2009101073028A CN 200910107302 A CN200910107302 A CN 200910107302A CN 101557235 B CN101557235 B CN 101557235B
- Authority
- CN
- China
- Prior art keywords
- factor
- product code
- beta
- turbo product
- alpha
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
一种Turbo乘积码译码器迭代因子的构造方法,包括以下步骤:a、选定Turbo乘积码结构,根据通信协议要求的误码率预设迭代次数,设定权重因子α(1)和可靠因子β(1)的值;b、通过公式计算权重因子α(m)和可靠因子β(m);c、根据获得的权重因子α(m)和可靠因子β(m)对Turbo乘积码译码器的性能进行仿真,若仿真结果不符合要求,则将迭代次数增大,转步骤b重新计算权重因子α(m)和可靠因子β(m),直至仿真结果符合要求,将最后一次获得的权重因子α(m)和可靠因子β(m)作为Turbo乘积码译码器的迭代因子。本方法大大减少了确定迭代因子所需的时间。可广泛应用于不同协议或不同结构的Turbo乘积码的软输入软输出译码器的实现上。
Description
技术领域
本发明属于差错控制编码领域,具体是在Turbo乘积码(Turbo ProductCodes or Block Turbo Codes)译码器的实现上,提出了一种新的用于计算Turbo乘积码的软译码器迭代因子的方法,适用于使用Turbo乘积码作为差错控制编码的通信协议。
背景技术
Turbo码最早由C.Berrou等于1993年提出。它的译码算法是软输入软输出(SISO)迭代译码算法,其译码性能可以在多次迭代后非常逼近香农极限。因为它的分量码是卷积码,所以它被称为Turbo卷积码(TCC)。受迭代译码的启示,R.Pyndiah等人于1994年利用Chase算法提出了适用于线性分组码的SISO算法,并将迭代译码应用到乘积码,这种码被称为Turbo乘积码。Turbo乘积码在译码性能上接近Turbo卷积码,译码性能曲线具有更陡峭的“瀑布区”并且能够避免“地板效应”(error floor),同时译码复杂度更低,适合并行和流水线(pipeline)处理,也适合于现场可编程逻辑门阵列(FPGA)和专用集成电路(ASIC)的实现。Turbo乘积码已经成为IEEE 802.16无线城域网前向纠错码(FEC)的一种选择。
Turbo乘积码编码器结构如图1所示。一般地,行列编码器结构相同,并且行列编码器均为线性分组码。BCH(n,k,δ)2是常用的Turbo乘积码编码方式,其中n,k,δ分别表示总码长,信息码长,最小汉明距。
Turbo乘积码SISO迭代译码器结构如图2所示。它的译码过程需要用到两个迭代因子:权重因子α和可靠因子β。以双相移相键控(BPSK)调制为例说明软译码过程,其中0→-1,1→+1,具体软译码过程如下:
1.计算软输入Rm=R+α(m)×Wm。
2.计算可靠码字Rabs=(|r1|,...|rl|,...|rn|)和硬判决码字Y=(y1,...yl,...yn),其中Y=0.5(1+sgn(rl)),从Rabs获得绝对值最小的p个最不可靠位置,
3.构造2p个掩膜码字集Ti,i=1,2,...,2p,在不可靠比特位,是1或者0,其余皆为0。
4.构造测试码字集Zi=Y+Ti,对码字Zi进行硬译码并经BPSK映射得到有效码字集Ci。
5.按照最大似然算法,获得发送码字E对应的最优判决D是距离接收码字欧式距离最近的码字Ci:
6.计算最优判决码字D的归一化可靠性函数r′j:
7.计算软输出Wm+1:
wj=r′j-rj
按照上述步骤就完成了Turbo乘积码SISO迭代译码器软输入和软输出的计算过程。在该算法下对Turbo乘积码进行译码时,迭代因子对Turbo乘积码的译码性能有重要影响,其中权重因子α决定了软输入,可靠因子β决定了软输出,两者共同决定了下一次进入SISO译码器的软输入向最优判决码字收敛的速度和可靠性。
传统上迭代因子的确定存在以下问题:
1.迭代因子中的可靠因子需要通过Matlab或C等语言反复仿真优化,并且每构造一个新的结构的Turbo乘积码,就可能需要重新仿真。每次仿真需要较长的时间来获得合适的结果。例如BCH(64,57,4)2在迭代次数M=4,Eb/N0=3.5,使用Matlab在Pentium Dual Core E6850 onWindows XP系统下,至少需要10个小时才能获得比较可靠的结果。
下面一组数据是BCH(64,57,4)2在迭代次数M=4时常常采用的迭代因子:
1)权重因子α(m)=[0.0,0.2,0.3,0.5,0.7,0.9,1.0,1.0]。
2)可靠因子β(m)=[0.2,0.4,0.6,0.8,1.0,1.0,1.0,1.0]。
2.在已有的参考文献中,没有严格的理论证明这两个因子必须存在于区间[0,1],这就使得在采用重复仿真获得迭代因子的方法时,即使改进算法减少仿真时间,也可能得不到较好的迭代因子。
3.最优判决码字D的归一化可靠性函数r′j的矛盾。平均意义下,当有效码字集不存在竞争码字时,最优判决码字的可靠性应更好,对应的归一化可靠性函数的绝对值|r′j|应更大。这种情况下应该有:
已经公开的迭代因子,例如BCH(64,57,4)2在迭代次数M=4时采用的迭代因子,并不满足该公式。
4.传统上获得的参数没有考虑有限字长效应。
发明内容
鉴于现有技术存在上述缺陷,本发明的目的是提供一种Turbo乘积码译码器迭代因子的构造方法,以减少确定迭代因子所需的时间,减少仿真和重构不同结构的Turbo乘积码译码器的时间。
为达到上述目的,本发明Turbo乘积码译码器迭代因子的构造方法包括以下步骤:
a、选定Turbo乘积码结构,根据通信协议要求的误码率预设迭代次数,设定权重因子α(1)和可靠因子β(1)的值;
b、通过下式计算权重因子α(m)和可靠因子β(m),
其中,M为迭代次数,m=1,2,3,...,2M;
c、根据获得的权重因子α(m)和可靠因子β(m)对Turbo乘积码译码器的性能进行仿真,若仿真结果不符合要求,则将迭代次数增大,转步骤b重新计算权重因子α(m)和可靠因子β(m),直至仿真结果符合要求,将最后一次获得的权重因子α(m)和可靠因子β(m)作为Turbo乘积码译码器的迭代因子。
其中还包括确定最佳迭代次数的步骤,具体为:在上述步骤c中,当第一次仿真结果符合要求时,将迭代次数减小,转步骤b重新计算权重因子α(m)和可靠因子β(m),直至仿真结果不符合要求,将最后一次仿真结果符合要求的迭代次数作为最佳迭代次数,并将在最佳迭代次数下计算得到的权重因子α(m)和可靠因子β(m)作为Turbo乘积码译码器的迭代因子。
上述步骤a中,由于第一次译码时不存在前一次的软输入,因此可设定权重因子α(1)等于0或约等于0;而根据第一次译码时最优判决码字的可靠性,最好设定可靠因子β(1)等于1。
Turbo乘积码SISO迭代译码方法,其特征在于其迭代因子采用上述Turbo乘积码译码器迭代因子的构造方法确定。
上述步骤b中的公式是通过约束可靠性函数的变化率这一判据来约束软信息的变化速度和可靠性,从而获得的有限迭代次数下对应的迭代因子的计算公式。具体方法如下:从提出判据入手,
1.对存在竞争码字的比特位,确定约束条件为连续两次迭代译码得到的归一化可靠性函数的增量为δ/2M:
2.在平均意义下归一化可靠性函数可以近似为:
3.由于 可以获得对应的连续两次输入的软信息之间的关系为:
4.竞争码字的存在与否可能随迭代译码过程改变,应用约束条件公式得到:
仍然可以保持两种情况的连续性。这时,迭代因子之间的关系可以表达为:
5.在AWGN信道下并且信息是随机的,因此E(rj)=0;在其他信道下, 也总是成立的,进一步控制α(m+1)-α(m)≈1/2M,那么在平均意义下有:
这就获得了本发明所提出的迭代因子的计算公式:
本发明具有以下有益效果:
本发明通过公式计算权重因子α(m)和可靠因子β(m),与现有的反复设定权重因子和可靠因子进而通过反复仿真确定迭代因子的方法相比,大大减少了确定最佳迭代次数及相应迭代因子的仿真次数,从而大大减少了确定迭代因子所需的时间,大大减少了仿真和重构不同结构的Turbo乘积码译码器的时间。可广泛应用于不同协议或不同结构的Turbo乘积码的软输入软输出译码器的实现上。
本发明提出了一个可靠的约束函数来评判迭代因子对码字收敛速度和有效性的影响,它提供了本发明利用公式计算迭代因子的依据。
本发明明确地指出了权重因子α(m)和可靠因子β(m)之间存在的确定关系,可以根据权重因子α(m)和可靠因子β(m)之间的关系调整对应的数值大小。
此外,本发明方法中考虑了对硬件实现的有限字长效应的影响,对于Turbo乘积码迭代译码具有较大的实用价值。
附图说明
图1是Turbo乘积码编码器的结构图。
图2是Turbo乘积码SISO迭代译码器的结构图。
具体实施方式
本发明是一种新的确定Turbo乘积码译码器迭代因子的方法,该方法可用于不同结构Turbo乘积码译码器的设计,能够极大地减少传统方法通过反复仿真确定迭代因子所需的时间,同时兼顾考虑了译码速度、可靠性及硬件实现的有限字长效应。下面举例说明具体实施方式。
本Turbo乘积码译码器迭代因子的构造方法包括以下步骤:
a、选定Turbo乘积码结构,例如BCH(64,57,4)2,根据通信协议要求的误码率(BER)假定迭代次数M,例如M=4。考虑到有限字长效应设定:
b、计算迭代因子。根据本发明提出的迭代因子计算公式:
可以获得在M=4次下对应的权重因子和可靠因子分别为:
1)权重因子
2)可靠因子
c、使用Matlab或C语言对Turbo乘积码译码性能进行仿真,观察结果,看是否符合要求。若不符合,则尝试增加迭代次数M,利用迭代因子计算公式重新计算迭代因子并重新仿真;若符合,则尝试减少迭代次数M,重新计算迭代因子并重做仿真。比较几次仿真结果,确定最佳迭代次数及相应迭代因子。
Claims (4)
1.Turbo乘积码译码器迭代因子的构造方法,其特征在于包括以下步骤:
a、选定Turbo乘积码结构,根据通信协议要求的误码率预设迭代次数,设定权重因子α(1)和可靠因子β(1)的值;
b、通过下式计算权重因子α(m)和可靠因子β(m),
其中,M为迭代次数,m=1,2,3,...,2M;
c、根据获得的权重因子α(m)和可靠因子β(m)对Turbo乘积码译码器的性能进行仿真,若仿真结果不符合要求,则将迭代次数增大,转步骤b重新计算权重因子α(m)和可靠因子β(m),直至仿真结果符合要求,将最后一次获得的权重因子α(m)和可靠因子β(m)作为Turbo乘积码译码器的迭代因子。
2.如权利要求1所述的Turbo乘积码译码器迭代因子的构造方法,其特征在于还包括确定最佳迭代次数的步骤,具体为:在步骤c中,当第一次仿真结果符合要求时,将迭代次数减小,转步骤b重新计算权重因子α(m)和可靠因子β(m),直至仿真结果不符合要求,将最后一次仿真结果符合要求的迭代次数作为最佳迭代次数,并将在最佳迭代次数下计算得到的权重因子α(m)和可靠因子β(m)作为Turbo乘积码译码器的迭代因子。
3.如权利要求1或2所述的Turbo乘积码译码器迭代因子的构造方法,其特征在于:步骤a中,权重因子α(1)设定为0,可靠因子β(1)设定为1。
4.Turbo乘积码SISO迭代译码方法,其特征在于其迭代因子采用权利要求1或2所述方法确定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101073028A CN101557235B (zh) | 2009-05-12 | 2009-05-12 | Turbo乘积码译码器迭代因子的构造方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101073028A CN101557235B (zh) | 2009-05-12 | 2009-05-12 | Turbo乘积码译码器迭代因子的构造方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101557235A CN101557235A (zh) | 2009-10-14 |
CN101557235B true CN101557235B (zh) | 2011-08-17 |
Family
ID=41175201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101073028A Expired - Fee Related CN101557235B (zh) | 2009-05-12 | 2009-05-12 | Turbo乘积码译码器迭代因子的构造方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101557235B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102412930A (zh) * | 2011-10-27 | 2012-04-11 | 优能通信科技(杭州)有限公司 | 一种bptc码在4fsk调制方式下的译码方法 |
CN104716965A (zh) * | 2015-03-09 | 2015-06-17 | 复旦大学 | 一种bch软解码算法及其实现电路 |
CN107682019B (zh) * | 2017-09-28 | 2020-12-22 | 成都傅立叶电子科技有限公司 | 一种tpc高速译码方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633032A (zh) * | 2003-12-25 | 2005-06-29 | 上海贝尔阿尔卡特股份有限公司 | 信道编码方法和装置以及信道译码方法和装置 |
CN1756247A (zh) * | 2004-09-29 | 2006-04-05 | 上海贝尔阿尔卡特股份有限公司 | 编码调制数据传输方法及其装置和系统 |
US7100101B1 (en) * | 2002-11-08 | 2006-08-29 | Xilinx, Inc. | Method and apparatus for concatenated and interleaved turbo product code encoding and decoding |
-
2009
- 2009-05-12 CN CN2009101073028A patent/CN101557235B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7100101B1 (en) * | 2002-11-08 | 2006-08-29 | Xilinx, Inc. | Method and apparatus for concatenated and interleaved turbo product code encoding and decoding |
CN1633032A (zh) * | 2003-12-25 | 2005-06-29 | 上海贝尔阿尔卡特股份有限公司 | 信道编码方法和装置以及信道译码方法和装置 |
CN1756247A (zh) * | 2004-09-29 | 2006-04-05 | 上海贝尔阿尔卡特股份有限公司 | 编码调制数据传输方法及其装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101557235A (zh) | 2009-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103281166B (zh) | 一种基于极化码的混合自动重传请求传输方法 | |
CN103138768B (zh) | 编码和解码通信系统中的信道的设备和方法 | |
US7831884B2 (en) | Method of correcting message errors using cyclic redundancy checks | |
CN102932309B (zh) | 联合导频和迭代译码的载波同步系统及方法 | |
CN107395324A (zh) | 一种基于qup方法的低译码复杂度速率匹配极化码传输方法 | |
CN101159514A (zh) | 一种传输块循环冗余码的添加方法 | |
CN106330207A (zh) | 基于Turbo‑SCMA系统的联合检测译码算法 | |
CN104579369A (zh) | 一种Turbo迭代译码方法和译码装置 | |
CN103236900B (zh) | 一种串行级联Turbo码交织器参数盲估计方法 | |
CN101557235B (zh) | Turbo乘积码译码器迭代因子的构造方法 | |
CN101753152A (zh) | 一种Turbo码译码器及译码方法 | |
CN109194448A (zh) | 卷积码的自叠加传输方法 | |
CN100571046C (zh) | 一种在SCDMA系统中实现Turbo编译码方案的装置和方法 | |
CN106656208A (zh) | 一种纠正同步错误的符号级硬判决迭代译码的级联码方法 | |
CN105763205A (zh) | 基于高斯列消元的螺旋形交织器参数盲估计方法 | |
CN110233628A (zh) | 极化码的自适应置信传播列表译码方法 | |
CN104135345A (zh) | 一种应用于长期演进系统的跨层编解码方法 | |
US6732327B1 (en) | Scaled-feedback turbo decoder | |
CN106656209B (zh) | 一种采用迭代译码的纠正同步错误的级联码方法 | |
CN100486235C (zh) | 软信息保留的迭代接收方法 | |
CN102130747A (zh) | 一种长期演进系统的拓扑码传输块译码迭代的动态分配方法 | |
CN103501182A (zh) | 一种卷积码生成多项式的盲估计方法 | |
CN100581089C (zh) | TD-SCDMA系统中的Woven卷积码纠错编、译码器 | |
CN103595424A (zh) | 分量译码方法、译码器及Turbo译码方法、装置 | |
CN101908947A (zh) | 基于ldpc码和星座旋转准正交空时码的级联编码和译码方法及其信号发射和接收方法 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110817 Termination date: 20140512 |