CN106301392A - 咬尾卷积码的译码方法 - Google Patents
咬尾卷积码的译码方法 Download PDFInfo
- Publication number
- CN106301392A CN106301392A CN201610647535.7A CN201610647535A CN106301392A CN 106301392 A CN106301392 A CN 106301392A CN 201610647535 A CN201610647535 A CN 201610647535A CN 106301392 A CN106301392 A CN 106301392A
- Authority
- CN
- China
- Prior art keywords
- decoding
- time
- bit
- metric
- state
- 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
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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/23—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/413—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors tail biting Viterbi decoding
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了咬尾卷积码的一种改进译码方法,主要解决现有技术复杂度过高的问题。其技术方案是:初始化所有初始状态的度量值,设置为0;将接收到的k组信息进行第一次Viterbi译码;在第一次译码的最后度量的基础上进行第二次Viterbi译码;然后从第二次译码的最后的状态开始回溯,将回溯到的第k位到第k+m位作为译码的前m比特输出,第m位到第k‑1位作为后面的k‑m位译码比特输出,将第二次译码的前m比特和第一次译码的后k‑m比特作为译码输出,共k比特。本发明将接受的数据进行两次Viterbi译码,提高了最后的判决状态的可靠性,大大降低了译码复杂度,可用于5G的mMTC和URLLC场景中。
Description
技术领域
本发明属于信道编码技术领域,特别涉及咬尾卷积码的译码方法,可用于军事通信系统、卫星通信系统和蜂窝通信系统以及下一代宽带无线通信系统中的短码场景。
背景技术
自卷积码被发明以来,它一直作为一种高效的信道编码技术应用在通信系统中。LTE系统作为3GPP标准化组织提出无线空口技术的演进,目前正在全球范围内得到大力的发展和部署,该系统需要实现更高的带宽、更大的容量、更高的数据传输速率、更低的传输时延、更低的运营成本。同时为满足用户对于广播及多播业务等实时业务的高速率需求,LTE系统在信道编码过程中根据不同传输信道采用了Turbo编码和咬尾卷积编码。其中咬尾卷积编码主要用于广播信道BCH、上下行的控制信息DCI、UCI编码过程,并且对于不同类型的传输信道和控制信道使用的编码方案和编码速率也有所不同。咬尾卷积码编码过程首先会用到咬尾技术,即保证格形起始和结尾在同一个状态,这就需要将被编码的数据块的最后几个比特作为寄存器的初始状态。
卷积码在结尾的时候通常要做归零处理,运用维特比VA译码,好处是在结尾后,trellis网格图结束的最后一个零状态是确定的,但是在信息比特流较短的情况下,结尾会造成较多的码率损失,性能较差。
Rose Y.Shao等人在其发表的论文“Two Decoding Algorithms for TailbitingCodes”(IEEE Transactions on Communications,2003:1658-1665)中提出了一种环绕维特比算法WAVA。该译码算法必须将维特比算法应用于整个码字,进行迭代译码,在每一次迭代译码后,对首尾状态进行判断,对所有状态进行搜索回溯,找到首尾状态相同的路径,对路径中权值最大的一条进行译码输出,否则进行下一迭代译码,直到迭代译码次数达到最大迭代次数,进行译码输出,该算法达到了良好的性能,性能逼近了最大似然译码的性能。但是,该方法仍然存在的不足之处是,译码运算复杂度较高,不能得到很好的应用。
发明内容
本发明的目的在于针对上述现有技术的不足,提出一种咬尾卷积码的译码方法,在保证译码性能的前提下,降低译码复杂度。
本发明的技术思路是:对信道接收到的对数似然比,进行两次维特比译码,通过比较最终状态的路径度量值选取最优路径,译码输出分别从两次译码中选择可靠度高的比特输出,最终得到良好的译码判决性能。其实现方案包括如下:
1.咬尾卷积码的译码方法,包括:
(1)计算路径度量值:
定义输入比特数为1,输出比特数为n,移位寄存器数为m的(n,1,m)卷积码,它有2m个状态;
在编码端,利用(n,1,m)卷积码对信息比特x=[x1,x2,...,xp,...xC]进行编码,得到长度为L=n×C的发送码字;其中xp表示第p个信息比特,1≤p≤C,C为发送的信息比特长度;
在译码端,将从信道接收到的对数似然比y=[y1,y2,...,yq,...yL]按顺序分成C组,每组有n个对数似然比和2n条路径,计算每条路径的度量值为:
其中,yq表示第q个对数似然比,1≤q≤L,dist[j]表示第j条路径度量值,0≤j≤2n-1,ai为j的第i位二进制表示:j=(a1,a2,...ai...an),ai=j%(2i),ai∈{0,1},1≤i≤n;
(2)设译码的初始状态度量值为0,根据每条路径的度量值dist[j]进行第一次Viterbi译码,当最后一组路径度量值译码结束后,得到第一次译码的最终的状态度量值;
(3)将第一次译码的最终状态度量值作为第二次译码的初始状态值,再进行第二次Viterbi译码,得到第二次译码的最终状态度量值;
(4)根据第二次译码的最终状态度量值进行回溯,即将第二次译码的前m比特作为译码比特输出的前m比特,将第一次译码的后C-m比特作为译码输出的后C-m比特,最终输出第二次译码输出的前m比特和第一次译码输出的后C-m比特,共C比特,译码结束。
第一,本发明由于进行了2次译码,选择第二次译码的前m比特和第一次译码的后C-m比特,这些比特的可靠度比其他比特的可靠度高,可以达到WAVA算法的性能。
第二,本发明由于只进行了2次译码,相比于WAVA算法进行的2m次译码,大大降低了译码复杂度。
附图说明
图1是本发明的译码框图;
图2是本发明中使用的卷积码框图;
图3是本发明中的编码器编码状态转移图;
图4是本发明的译码输出框图;
图5是本发明的误帧率仿真结果图。
具体实施方式
下面结合附图对本发明译码实现作详细描述。
参照图1,本发明的实现步骤如下:
步骤1,编码端产生发送码字:
本发明采用的编码器是(3,1,6)卷积码,它有64个状态,每个状态有1bit输入,3bits输出,6个移位寄存器,卷积码结构如图2所示;
本发明的编码采用状态转移图来实现,该状态转移图如图3所示,即在t时刻输入比特为ct={0,1},状态为输出分别为同时跳转到下一时刻的状态其中n=0,1...63,m=0,1...63,n≠m。
令C为发送的信息比特长度,经过卷积码编码后产生长度为L=3C的发送码字。
步骤2,计算路径度量值。
将从信道接收到的对数似然比y=[y1,y2,...,yq,...yL]按顺序分成C组,每组有3个对数似然比和23=8条路径,计算每条路径的度量值为:
其中,yq表示第q个对数似然比,1≤q≤L,dist[j]表示第j条路径度量值,0≤j≤7,ai为j的第i位二进制表示:j=(a1,a2,...ai...a3),ai=j%(2i),ai∈{0,1},1≤i≤3;
步骤3,进行第一次viterbi译码。
3a)设第一次译码的初始状态度量值为0;
3b)在第一时刻,将第一组路径度量值和初始状态度量值进行加比选操作,更新得到下一时刻的状态度量值;
3c)同理,在第t时刻,将第t组路径度量值和t-1时刻的状态度量值进行加比选操作,更新得到t时刻的状态度量值;
3d)重复3c)的操作,直到t=C,得到第一次译码的最终状态度量值,第一次译码结束,其中C为发送的信息比特长度。
步骤4,进行第二次viterbi译码。
4a)设第二次译码的初始状态度量值为第一次译码的最终状态度量值;
4b)在第t+1时刻,将第一组路径度量值和第二次的初始状态度量值进行加比选操作,更新得到下一时刻的状态度量值;
4c)同理,在第C+t时刻,将第t组路径度量值和C+t-1时刻的状态度量值进行加比选操作,更新得到C+t时刻的状态度量值;
4d)重复4c)的操作,直到t=2C,得到第二次译码的最终状态度量值,第二次译码结束,其中C为发送的信息比特长度。
步骤5,回溯输出译码比特:
由于咬尾卷积码的首尾状态是一样的,这导致了第一次译码的最后的判决状态极有可能发生错误,为了提高最后一个状态的准确性,本发明进行了第二次Viterbi译码。由于第一次译码的前6比特的可靠度不高,如果直接从第二次的末尾回溯到第一次的所有比特数作为译码结果,会导致前6个比特出错,所以将第二次译码的前6比特作为译码比特输出的前6比特;
由于中间的度量值的可靠度高,所以将第一次译码的后C-6比特作为译码输出的后C-6比特。最终输出为第二次译码输出的前6比特和第一次译码输出的后C-6比特,共C比特,如图4所示,译码结束。
本发明的效果可通过以下仿真进一步说明:
按照图2的卷积码结构,在码率为1/3,信道为AWGN信道,调制方式为QPSK,信息比特长度为20bits,码长为60bits条件下使用本发明的译码方法和现有WAVA算法对上述卷积码进行了仿真,仿真结果如图5所示。通过仿真发现使用本发明的低复杂度译码方法可以近似达到WAVA算法的译码性能。
Claims (3)
1.咬尾卷积码的译码方法,包括:
(1)计算路径度量值:
定义输入比特数为1,输出比特数为n,移位寄存器数为m的(n,1,m)卷积码,它有2m个状态;
在编码端,利用(n,1,m)卷积码对信息比特x=[x1,x2,...,xp,...xC]进行编码,得到长度为L=n×C的发送码字;其中xp表示第p个信息比特,1≤p≤C,C为发送的信息比特长度;
在译码端,将从信道接收到的对数似然比y=[y1,y2,...,yq,...yL]按顺序分成C组,每组有n个对数似然比和2n条路径,计算每条路径的度量值为:
其中,yq表示第q个对数似然比,1≤q≤L,dist[j]表示第j条路径度量值,0≤j≤2n-1,ai为j的第i位二进制表示:j=(a1,a2,...ai...an),ai=j%(2i),ai∈{0,1},1≤i≤n;
(2)设译码的初始状态度量值为0,根据每条路径的度量值dist[j]进行第一次Viterbi译码,当最后一组路径度量值译码结束后,得到第一次译码的最终的状态度量值;
(3)将第一次译码的最终状态度量值作为第二次译码的初始状态值,再进行第二次Viterbi译码,得到第二次译码的最终状态度量值;
(4)根据第二次译码的最终状态度量值进行回溯,即将第二次译码的前m比特作为译码比特输出的前m比特,将第一次译码的后C-m比特作为译码输出的后C-m比特,最终输出第二次译码输出的前m比特和第一次译码输出的后C-m比特,共C比特,译码结束。
2.根据权利要求1所述的方法,其中步骤(2)中根据每条路径的度量值dist[j]进行第一次Viterbi译码,按如下步骤进行:
2a)设第一次译码的初始状态度量值为0;
2b)在第一时刻,将第一组路径度量值和初始状态度量值进行加比选操作,更新得到下一时刻的状态度量值;
2c)同理,在第t时刻,将第t组路径度量值和t-1时刻的状态度量值进行加比选操作,更新得到t时刻的状态度量值;
2d)重复2c)的操作,直到t=C,得到第一次译码的最终状态度量值,第一次译码结束,其中C为发送的信息比特长度。
3.根据权利要求1所述的方法,其中步骤(3)中进行第二次Viterbi译码,其步骤如下:
3a)设第二次译码的初始状态度量值为第一次译码的最终状态度量值;
3b)在第t+1时刻,将第一组路径度量值和第二次的初始状态度量值进行加比选操作,更新得到下一时刻的状态度量值;
3c)同理,在第C+t时刻,将第t组路径度量值和C+t-1时刻的状态度量值进行加比选操作,更新得到C+t时刻的状态度量值;
3d)重复3c)的操作,直到t=2C,得到第二次译码的最终状态度量值,第二次译码结束,其中C为发送的信息比特长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610647535.7A CN106301392B (zh) | 2016-08-09 | 咬尾卷积码的译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610647535.7A CN106301392B (zh) | 2016-08-09 | 咬尾卷积码的译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106301392A true CN106301392A (zh) | 2017-01-04 |
CN106301392B CN106301392B (zh) | 2019-07-16 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110168988A (zh) * | 2017-01-06 | 2019-08-23 | Idac控股公司 | 数据和控制重传的高级译码 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1855732A (zh) * | 2005-04-25 | 2006-11-01 | 中兴通讯股份有限公司 | 一种咬尾卷积码的译码方法及其译码器 |
CN101047472A (zh) * | 2006-03-31 | 2007-10-03 | 世意法(北京)半导体研发有限责任公司 | 使用搜索深度维特比算法对咬尾卷积码的解码方法 |
CN101369817A (zh) * | 2008-09-27 | 2009-02-18 | 华为技术有限公司 | 咬尾卷积码的译码方法和装置 |
CN101841340A (zh) * | 2010-05-28 | 2010-09-22 | 华为技术有限公司 | 差值上限获取方法及装置、维特比译码方法及装置 |
CN101969308A (zh) * | 2009-07-27 | 2011-02-09 | 中兴通讯股份有限公司 | 咬尾卷积码的译码方法及装置 |
CN102142848A (zh) * | 2010-01-28 | 2011-08-03 | 中兴通讯股份有限公司 | 一种咬尾卷积码的译码方法及译码器 |
CN102857242A (zh) * | 2011-06-28 | 2013-01-02 | 联芯科技有限公司 | 咬尾卷积码译码方法与装置 |
CN103427850A (zh) * | 2012-05-24 | 2013-12-04 | 中兴通讯股份有限公司 | 多模维特比解码装置及其解码方法 |
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1855732A (zh) * | 2005-04-25 | 2006-11-01 | 中兴通讯股份有限公司 | 一种咬尾卷积码的译码方法及其译码器 |
CN101047472A (zh) * | 2006-03-31 | 2007-10-03 | 世意法(北京)半导体研发有限责任公司 | 使用搜索深度维特比算法对咬尾卷积码的解码方法 |
CN101369817A (zh) * | 2008-09-27 | 2009-02-18 | 华为技术有限公司 | 咬尾卷积码的译码方法和装置 |
CN101969308A (zh) * | 2009-07-27 | 2011-02-09 | 中兴通讯股份有限公司 | 咬尾卷积码的译码方法及装置 |
CN102142848A (zh) * | 2010-01-28 | 2011-08-03 | 中兴通讯股份有限公司 | 一种咬尾卷积码的译码方法及译码器 |
CN101841340A (zh) * | 2010-05-28 | 2010-09-22 | 华为技术有限公司 | 差值上限获取方法及装置、维特比译码方法及装置 |
CN102857242A (zh) * | 2011-06-28 | 2013-01-02 | 联芯科技有限公司 | 咬尾卷积码译码方法与装置 |
CN103427850A (zh) * | 2012-05-24 | 2013-12-04 | 中兴通讯股份有限公司 | 多模维特比解码装置及其解码方法 |
Non-Patent Citations (7)
Title |
---|
A. Z. RAMDANI AND T. ADIONO: ""A novel algorithm of tail biting convolutional code decoder for low cost hardware implementation"", 《2015 INTERNATIONAL SYMPOSIUM ON INTELLIGENT SIGNAL PROCESSING AND COMMUNICATION SYSTEMS (ISPACS)》 * |
DONGDONG LI;JUN YANG: ""Efficient implementation of the decoder for tail biting convolutional codes"", 《2014 IEEE INTERNATIONAL CONFERENCE ON SIGNAL PROCESSING, COMMUNICATIONS AND COMPUTING (ICSPCC)》 * |
R. Y. SHAO: ""Two decoding algorithms for tail-biting codes"", 《IEEE TRANSACTIONS ON COMMUNICATIONS》 * |
白宝明: ""Turbo码理论及其应用的研究"", 《中国博士学位论文全文数据库•信息科技辑》 * |
罗友宝等: ""LTE系统的Viterbi译码算法仿真及DSP实现"", 《光通信研究》 * |
靳凡: ""Turbo码的设计与FPGA实现"", 《中国优秀硕士学位论文全文数据库•信息科技辑》 * |
马金辉: ""一种高效咬尾卷积码译码器的设计与仿真"", 《电子元器件应用》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110168988A (zh) * | 2017-01-06 | 2019-08-23 | Idac控股公司 | 数据和控制重传的高级译码 |
US11251908B2 (en) | 2017-01-06 | 2022-02-15 | Idac Holdings, Inc. | Advanced coding on retransmission of data and control |
CN110168988B (zh) * | 2017-01-06 | 2022-05-24 | Idac控股公司 | 数据和控制重传的高级译码方法和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108282264B (zh) | 基于比特翻转串行消除列表算法的极化码译码方法 | |
CN106100794B (zh) | 一种基于打孔的极化码的编码协作方法 | |
CN109257148B (zh) | 一种基于高斯近似阈值判断的极化码bp译码方法 | |
CN110868226B (zh) | 基于混合极化核的极化码的编译码方法 | |
CN107911195B (zh) | 一种基于cva的咬尾卷积码信道译码方法 | |
CN106100795B (zh) | 一种基于Plotkin构造和信息位重休眠的Polar码编码协作方法 | |
CN105721106A (zh) | 基于串行策略的scma上行通信系统多用户检测方法 | |
CN106130687B (zh) | 衰落信道下基于译码比特可靠性的Polar码删余方法 | |
CN102904668B (zh) | 一种用于lte的快速pbch解码方法 | |
CN103973314A (zh) | 一种基于ldpc的信号编解码方法、及接收端和发送端 | |
CN109873686B (zh) | 一种基于极化码的5g广播信道合并接收方法 | |
CN101969311B (zh) | 一种高速并行分段交错维特比译码方法 | |
CN102904667B (zh) | 一种用于lte中pbch解码的咬尾卷积码译码方法 | |
CN106254030B (zh) | 无速率Spinal码的双向编译码方法 | |
CN102064838A (zh) | 基于新型无冲突交织器的低延迟并行Turbo译码方法 | |
CN107231158A (zh) | 一种极化码迭代接收机、系统和极化码迭代译码方法 | |
CN108809518A (zh) | 用于降低错误性能的级联Spinal码构建方法 | |
CN105530014A (zh) | 基于简化投影算子的ldpc码交替方向乘子译码方法 | |
CN109560820A (zh) | 一种联合信道编码和物理层网络编码的译码简化方法 | |
CN106059594B (zh) | 一种基于状态转移模型的联合信道状态检测和译码方法 | |
CN103078716B (zh) | 基于分布式3-D Turbo码的中继传输方法 | |
CN109660265A (zh) | 一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法 | |
CN103701561B (zh) | 一种适用于延迟敏感业务的编码调制方法与系统 | |
CN102891690A (zh) | 一种咬尾卷积码译码方法 | |
CN108134612A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |