CN106301392B - 咬尾卷积码的译码方法 - Google Patents

咬尾卷积码的译码方法 Download PDF

Info

Publication number
CN106301392B
CN106301392B CN201610647535.7A CN201610647535A CN106301392B CN 106301392 B CN106301392 B CN 106301392B CN 201610647535 A CN201610647535 A CN 201610647535A CN 106301392 B CN106301392 B CN 106301392B
Authority
CN
China
Prior art keywords
decoding
bit
metric
state
time
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.)
Active
Application number
CN201610647535.7A
Other languages
English (en)
Other versions
CN106301392A (zh
Inventor
白宝明
曹明星
平磊
孙韶辉
王加庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201610647535.7A priority Critical patent/CN106301392B/zh
Publication of CN106301392A publication Critical patent/CN106301392A/zh
Application granted granted Critical
Publication of CN106301392B publication Critical patent/CN106301392B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 (1)

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译码:
2a)设第一次译码的初始状态度量值为0;
2b)在第一时刻,将第一组路径度量值和初始状态度量值进行加比选操作,更新得到下一时刻的状态度量值;
2c)同理,在第t时刻,将第t组路径度量值和t-1时刻的状态度量值进行加比选操作,更新得到t时刻的状态度量值;
2d)重复2c)的操作,直到t=C,得到第一次译码的最终状态度量值,第一次译码结束,其中C为发送的信息比特长度;
当最后一组路径度量值译码结束后,得到第一次译码的最终的状态度量值;
(3)将第一次译码的最终状态度量值作为第二次译码的初始状态值,再进行第二次Viterbi译码,得到第二次译码的最终状态度量值:
3a)设第二次译码的初始状态度量值为第一次译码的最终状态度量值;
3b)在第t+1时刻,将第一组路径度量值和第二次的初始状态度量值进行加比选操作,更新得到下一时刻的状态度量值;
3c)同理,在第C+t时刻,将第t组路径度量值和C+t-1时刻的状态度量值进行加比选操作,更新得到C+t时刻的状态度量值;
3d)重复3c)的操作,直到t=2C,得到第二次译码的最终状态度量值,第二次译码结束,其中C为发送的信息比特长度;
(4)根据第二次译码的最终状态度量值进行回溯,即将第二次译码的前m比特作为译码比特输出的前m比特,将第一次译码的后C-m比特作为译码输出的后C-m比特,最终输出第二次译码输出的前m比特和第一次译码输出的后C-m比特,共C比特,译码结束。
CN201610647535.7A 2016-08-09 咬尾卷积码的译码方法 Active CN106301392B (zh)

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 CN106301392A (zh) 2017-01-04
CN106301392B true CN106301392B (zh) 2019-07-16

Family

ID=

Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
"A novel algorithm of tail biting convolutional code decoder for low cost hardware implementation";A. Z. Ramdani and T. Adiono;《2015 International Symposium on Intelligent Signal Processing and Communication Systems (ISPACS)》;20151231;第241页到第245页
"Efficient implementation of the decoder for tail biting convolutional codes";Dongdong Li;Jun Yang;《2014 IEEE International Conference on Signal Processing, Communications and Computing (ICSPCC)》;20141218;第623页到第626页
"LTE系统的Viterbi译码算法仿真及DSP实现";罗友宝等;《光通信研究》;20100630;第67页到第70页
"Turbo码理论及其应用的研究";白宝明;《中国博士学位论文全文数据库•信息科技辑》;20040315;I136-15
"Turbo码的设计与FPGA实现";靳凡;《中国优秀硕士学位论文全文数据库•信息科技辑》;20090715;20090715
"Two decoding algorithms for tail-biting codes";R. Y. Shao;《IEEE Transactions on Communications》;20031031;第51卷(第10期);第1658页到第1665页
"一种高效咬尾卷积码译码器的设计与仿真";马金辉;《电子元器件应用》;20100715;第12卷(第7期);第61页到第63页

Similar Documents

Publication Publication Date Title
CN108365848B (zh) 一种极性码的译码方法和装置
CN109257148B (zh) 一种基于高斯近似阈值判断的极化码bp译码方法
CN110800216B (zh) 用于通信和广播系统的速率匹配的方法和装置
US9831895B2 (en) System and method for a message passing algorithm
CN101867451B (zh) 具有高速并行编译码结构的多用户网络编码通信的方法
CN105721106B (zh) 基于串行策略的scma上行通信系统多用户检测方法
CN107911195B (zh) 一种基于cva的咬尾卷积码信道译码方法
CN106100795B (zh) 一种基于Plotkin构造和信息位重休眠的Polar码编码协作方法
CN102904668B (zh) 一种用于lte的快速pbch解码方法
CN109873686B (zh) 一种基于极化码的5g广播信道合并接收方法
CN106254030B (zh) 无速率Spinal码的双向编译码方法
CN102904667B (zh) 一种用于lte中pbch解码的咬尾卷积码译码方法
EP2599228A1 (en) Decoding technique for tail-biting codes
CN105530014A (zh) 基于简化投影算子的ldpc码交替方向乘子译码方法
CN109560820A (zh) 一种联合信道编码和物理层网络编码的译码简化方法
CN103078716B (zh) 基于分布式3-D Turbo码的中继传输方法
Boiko et al. Simulation of the Transport Channel With Polar Codes for the 5G Mobile Communication
CN105450236B (zh) 一种单层迭代联合解调译码结构及其算法
CN109660265A (zh) 一种基于DVB-RCS标准的自适应双二元Turbo码编译码方法
CN100486235C (zh) 软信息保留的迭代接收方法
CN102891690A (zh) 一种咬尾卷积码译码方法
CN102832954B (zh) 一种基于软信息平均最小值的Turbo码译码迭代停止方法
CN106301392B (zh) 咬尾卷积码的译码方法
CN102291198B (zh) 信道译码方法和装置
CN102377438B (zh) 信道译码方法和咬尾卷积译码器

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant