CN116896427A - 一种高效的TurboFSK译码迭代方法 - Google Patents
一种高效的TurboFSK译码迭代方法 Download PDFInfo
- Publication number
- CN116896427A CN116896427A CN202310926469.7A CN202310926469A CN116896427A CN 116896427 A CN116896427 A CN 116896427A CN 202310926469 A CN202310926469 A CN 202310926469A CN 116896427 A CN116896427 A CN 116896427A
- Authority
- CN
- China
- Prior art keywords
- iteration
- measurement
- state transition
- calculation
- backward
- 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
- 238000000034 method Methods 0.000 title claims abstract description 14
- 230000007704 transition Effects 0.000 claims abstract description 26
- 238000004364 calculation method Methods 0.000 claims abstract description 25
- 238000005259 measurement Methods 0.000 claims abstract description 24
- 230000003993 interaction Effects 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000006467 substitution reaction Methods 0.000 description 4
- 230000004075 alteration Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2957—Turbo codes and decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/27—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
- H03M13/2771—Internal interleaver for turbo codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0064—Concatenated codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种高效的TurboFSK译码迭代方法,包括以下步骤:将信道观测的噪声干扰的FSK波形,和从其它译码器获得后验信息输入单路译码器;同时进行状态转移概率、前向度量和后向度量递推计算,具体包括:将状态转移概率、前向度量和后向度量的计算放在同一个For循环下;采用由两边向中间递推的方法,同时进行状态转移概率、前向度量和后向度量的计算;译码结束后输出判决结果。本发明能够降低代码循环嵌套的层数,减少内存和寄存器数据交互的次数,从而显著提高代码运行效率,降低代码执行时间。
Description
技术领域
本发明属于无线通信技术领域,尤其涉及一种高效的TurboFSK译码迭代方法。
背景技术
Turbo码是信息论中一种前向纠错的编码技术,首个得以接近香农极限的现实可行的编码。Turbo码不仅在信道信噪比很低的高噪声环境下性能优越,而且还具有很强的抗衰落、抗干扰能力,因此它在信道条件差的移动通信系统中有很大的应用潜力,在低信噪比条件下有着优越的性能,广泛运用于3G/4G移动通信(如UMTS与LTE)、深空卫星通信等领域。
Turbo码编码器由两个(或多个)带反馈的系统卷积码器经一交织器并行级联而成,编码技术主要包括并行级联编码、串行级联编码的分析以及混合级联编码,译码技术主要包括迭代译码和译码算法,一般采用逐位最大后验概率译码器通过反复迭代循环来译码。Turbo码有一重要特点是其译码较为复杂,比常规的卷积码要复杂的多,这种复杂不仅在于其译码要采用迭代的过程,而且采用的算法本身也比较复杂。这些算法的关键是不但要能够对每比特进行译码,而且还要伴随着译码给出每比特译出的可靠性信息,有了这些可靠性信息,迭代才能进行下去。
TurboFSK波形是把FSK调制和Turbo码相结合,在每个重复信息序列上增加一定的冗余以提高灵敏度,接收端通过迭代接收译码以增加可靠性。因此TurboFSK波形能够实现城市环境下长距离可靠稳健通信,能有效对抗复杂多径环境,同时具备一定抗干扰能力。TurboFSK波形虽然具有优异的性能,但译码复杂度高是限制其工程应用的一个主要因素,特别是对于低时延要求的通信业务,TurboFSK码迭代译码处理时延高的问题更加突出。
发明内容
本发明针对上述问题,设计了一种新的Turbo码译码迭代实现方法,可以显著降低算法复杂度和处理时延。
本发明公开的高效的TurboFSK译码迭代方法,包括以下步骤:
将信道观测的噪声干扰的FSK波形,和从其它译码器获得后验信息输入单路译码器;
同时进行状态转移概率、前向度量和后向度量递推计算,具体包括:将状态转移概率、前向度量和后向度量的计算放在同一个For循环下;考虑到由于前向度量的计算是利用状态转移概率进行前向递推,而后向度量的计算是利用状态转移概率进行后向递推,因此,采用由两边向中间递推的方法,同时进行状态转移概率、前向度量和后向度量的计算;
译码结束后输出判决结果。
进一步地,具体算法的步骤如下:
赋初值logα0=0,logβq+1=-∞,其中α0为前向度量的初始值,q表示编码后信息比特块的长度,βq+1为后向度量的初始值;
进行迭代,迭代轮数为q/2,对于第i轮迭代:
计算其中Γi(s',s)为第i轮迭代中状态s’到状态s的状态转移概率,PostDei为第i轮迭代中的其余译码器在当前迭代中产生的后验信息,ChDei为第i轮迭代中接收端FSK解调值;
计算其中Γq+1-i(s′,s)表示的状态转移概率,PostDeq+1-i为第q+1-i轮迭代中的其余译码器在当前迭代中产生的后验信息,ChDeq+1-i为第q+1-i轮迭代中接收端FSK解调值;
利用Γi(s′,s)计算其中logαi-1(s’)和logαi(s)分别为第i-1轮迭代和第i轮迭代的前向度量;
利用Γq+1-i(s′,s)计算其中logβq+1-i(s)和logβq+2-i(s’)分别为第q+1-i轮迭代和第q+1-i轮迭代的后向度量;
进行下一轮迭代,直到迭代结束。
本发明的有益效果如下:
本发明能够降低代码循环嵌套的层数,减少内存和寄存器数据交互的次数,从而显著提高代码运行效率,降低代码执行时间。
附图说明
图1为TurboFSK译码迭代流程;
图2为BCJR算法的计算流程;
图3为本发明的计算流程图;
图4为优化前后代码的执行效率。
具体实施方式
下面结合附图对本发明作进一步的说明,但不以任何方式对本发明加以限制,基于本发明教导所作的任何变换或替换,均属于本发明的保护范围。
以信息序列重复4次编码的TurboFSK波形为例,其Turbo译码迭代流程如图1所示。对于每个重复发送的信号,单个译码器通过信道观测的码字先验概率(APP)和从其他译码器获得的码字后验概率来估计当前译码器的信息比特,一般需要迭代10次实现收敛。
对于单个支路的信息处理算法(BCJR,Bahl Cocke Jelinek and Raviv)来说,单路译码器有两个输入,一个是信道观测的噪声干扰的FSK波形,一个是从其它译码器获得后验信息(表示为信息序列的LLR值),该后验信息必须被解交织为当前译码器的信息序列。BCJR算法正是利用这两个输入,通过不断迭代提升译码性能。BCJR算法包括状态转移概率计算、前向概率计算、后向概率计算以及Log-APP计算等步骤,具体流程如图2。
计算状态s′→s的状态转移概率Γt(s′,s)如下式:
式中是接收端FSK解调的值,直接输入给译码器,用符号(ChDe)M×q表示;/>是其余译码器在当前迭代中产生的后验信息,用符号(PostDe)M×q表示。其中M表示FSK的调制阶数,q表示编码后信息比特块的长度。因此,上式可以简化为:
计算前向度量logαt(s)如下式所示:
计算后向度量logt(s)如下式所示:
其中Γt(s′,s)、logαt(s)和logβt(s)均是长度为q的向量。
为了提高程序的执行效率,将状态转移概率、前向度量和后向度量的计算放在同一个For循环下。但是由于前向度量logαt(s)的计算是利用状态转移概率Γt(s′,s)进行前向递推,而后向度量logβt(s)的计算是利用状态转移概率Γt(s′,s)进行后向递推。因此,本发明采用由两边向中间递推的办法,同时进行状态转移概率、前向度量和后向度量的计算,具体算法的伪代码如下所示:
具体算法的步骤如下:
赋初值logα0=0,logβq+1=-∞,其中α0为前向度量的初始值,q表示编码后信息比特块的长度,βq+1为后向度量的初始值;
进行迭代,迭代轮数为q/2,对于第i轮迭代:
计算其中,i为迭代次数,Γi(s',s)为第i轮迭代中状态s’到状态s的状态转移概率,PostDei为第i轮迭代中的其余译码器在当前迭代中产生的后验信息,ChDei为第i轮迭代中接收端FSK解调值;
计算其中Γq+1-i(s′,s)表示的状态转移概率,PostDeq+1-i为第q+1-i轮迭代中的其余译码器在当前迭代中产生的后验信息,ChDeq+1-i为第q+1-i轮迭代中接收端FSK解调值;
利用Γi(s′,s)计算其中logαi-1(s’)和logαi(s)分别为第i-1轮迭代和第i轮迭代的前向度量;
利用Γq+1-i(s′,s)计算其中logβq+1-i(s)和logβq+2-i(s’)分别为第q+1-i轮迭代和第q+1-i轮迭代的后向度量;
进行下一轮迭代,直到迭代结束。
通过两边向中间递推的算法减少了循环次数,避免了先计算状态转移概率Γt(s′,s)再计算前向度量logαt(s)和后向度量logβt(s)所导致的循环嵌套和内存寄存器之间的信息交互。在实际测试中这一段代码的执行时间从20.7us下降到了4.79us,如图4所示,代码的运行效率提高了5倍左右。
本发明的有益效果如下:
本发明能够降低代码循环嵌套的层数,减少内存和寄存器数据交互的次数,从而显著提高代码运行效率,降低代码执行时间。
本文所使用的词语“优选的”意指用作实例、示例或例证。本文描述为“优选的”任意方面或设计不必被解释为比其他方面或设计更有利。相反,词语“优选的”的使用旨在以具体方式提出概念。如本申请中所使用的术语“或”旨在意指包含的“或”而非排除的“或”。即,除非另外指定或从上下文中清楚,“X使用A或B”意指自然包括排列的任意一个。即,如果X使用A;X使用B;或X使用A和B二者,则“X使用A或B”在前述任一示例中得到满足。
而且,尽管已经相对于一个或实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以多个或多个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的存储方法。
综上所述,上述实施例为本发明的一种实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何背离本发明的精神实质与原理下所做的改变、修饰、代替、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (2)
1.一种高效的TurboFSK译码迭代方法,其特征在于,包括以下步骤:
将信道观测的噪声干扰的FSK波形,和从其它译码器获得后验信息输入单路译码器;
同时进行状态转移概率、前向度量和后向度量迭代递推计算,具体包括:将状态转移概率、前向度量和后向度量的计算放在同一个For循环下;考虑到由于前向度量的计算是利用状态转移概率进行前向递推,而后向度量的计算是利用状态转移概率进行后向递推,因此,采用由两边向中间递推的方法,同时进行状态转移概率、前向度量和后向度量的计算;
译码结束后输出判决结果。
2.根据权利要求1所述的高效的TurboFSK译码迭代方法,其特征在于,具体算法的步骤如下:
赋初值logα0=0,logβq+1=-∞,其中α0为前向度量的初始值,q表示编码后信息比特块的长度,βq+1为后向度量的初始值;
进行迭代,迭代轮数为q/2,对于第i轮迭代:
计算其中,i为迭代次数,Γi(s',s)为第i轮迭代中状态s’到状态s的状态转移概率,PostDei为第i轮迭代中的其余译码器在当前迭代中产生的后验信息,ChDei为第i轮迭代中接收端FSK解调值;
计算其中Γq+1-i(s′,s)表示的状态转移概率,PostDeq+1-i为第q+1-i轮迭代中的其余译码器在当前迭代中产生的后验信息,ChDeq+1-i为第q+1-i轮迭代中接收端FSK解调值;
利用Γi(s′,s)计算其中logαi-1(s’)和logαi(s)分别为第i-1轮迭代和第i轮迭代的前向度量;
利用Γq+1-i(s′,s)计算其中logβq+1-i(s)和logβq+2-i(s’)分别为第q+1-i轮迭代和第q+1-i轮迭代的后向度量;
进行下一轮迭代,直到迭代结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310926469.7A CN116896427A (zh) | 2023-07-26 | 2023-07-26 | 一种高效的TurboFSK译码迭代方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310926469.7A CN116896427A (zh) | 2023-07-26 | 2023-07-26 | 一种高效的TurboFSK译码迭代方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116896427A true CN116896427A (zh) | 2023-10-17 |
Family
ID=88310660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310926469.7A Pending CN116896427A (zh) | 2023-07-26 | 2023-07-26 | 一种高效的TurboFSK译码迭代方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116896427A (zh) |
-
2023
- 2023-07-26 CN CN202310926469.7A patent/CN116896427A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6581182B1 (en) | Iterative decoding with post-processing of detected encoded data | |
US6980605B2 (en) | MAP decoding with parallelized sliding window processing | |
US7657819B2 (en) | Method and apparatus for termination of iterative turbo decoding | |
US20030193966A1 (en) | Method and apparatus for improved turbo multiuser detector | |
US20040005019A1 (en) | Turbo decoder employing max and max* map decoding | |
JP4227481B2 (ja) | 復号装置および復号方法 | |
US8650451B2 (en) | Stochastic stream decoding of binary LDPC codes | |
CN107911195B (zh) | 一种基于cva的咬尾卷积码信道译码方法 | |
US6950975B2 (en) | Acceleration of convergence rate with verified bits in turbo decoding | |
US20010021233A1 (en) | Soft-decision decoding of convolutionally encoded codeword | |
Chen | Iterative soft decoding of Reed-Solomon convolutional concatenated codes | |
EP1471677A1 (en) | Method of blindly detecting a transport format of an incident convolutional encoded signal, and corresponding convolutional code decoder | |
KR101051933B1 (ko) | 트렐리스의 버터플라이 구조를 이용한 맵 디코딩을 위한메트릭 계산 | |
GB2403106A (en) | a turbo type decoder which performs decoding iterations on sub-blocks to improve convergence | |
CN101425869A (zh) | 一种译码方法及装置 | |
US7266757B1 (en) | Pipelined architecture implementing recursion processes for forward error correction | |
US6857101B1 (en) | Apparatus and method of storing reference vector of state metric | |
CN116896427A (zh) | 一种高效的TurboFSK译码迭代方法 | |
CN113644919A (zh) | 一种提升DVB-RCS2中Turbo译码性能的方法及译码结构 | |
US7120851B2 (en) | Recursive decoder for switching between normalized and non-normalized probability estimates | |
US7096410B2 (en) | Turbo-code decoding using variably set learning interval and sliding window | |
US7917834B2 (en) | Apparatus and method for computing LLR | |
CN113765622B (zh) | 分支度量初始化方法、装置、设备及存储介质 | |
Ahmed et al. | Viterbi algorithm performance analysis for different constraint length | |
CN108616331B (zh) | 一种基于lte的无线通信系统解码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |