CN105721104A - 一种维特比译码实现方法 - Google Patents
一种维特比译码实现方法 Download PDFInfo
- Publication number
- CN105721104A CN105721104A CN201610037171.0A CN201610037171A CN105721104A CN 105721104 A CN105721104 A CN 105721104A CN 201610037171 A CN201610037171 A CN 201610037171A CN 105721104 A CN105721104 A CN 105721104A
- Authority
- CN
- China
- Prior art keywords
- state
- bit
- viterbi decoding
- current time
- realizes method
- 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
- 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/0054—Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明涉及一种维特比译码实现方法,属于卫星移动通信技术领域。该方法具体包括以下步骤:S1:加比选过程;S2:保存状态转移;S3:更新状态;S4:更新时刻;S5:状态回溯;S6;保存译码比特;S7:计算错误比特;S8:更新时刻。本发明所述方法不但可以降低加比选过程中存储计算复杂度,而且可以获得信道译码前的错误比特个数;从而在仅增加少量接收端计算复杂度的前提下,显著提高了接收端对接收信号质量的掌握程度,为进一步接收端***级性能优化提供了必要前提。
Description
技术领域
本发明属于卫星移动通信技术领域,涉及一种维特比译码实现方法。
背景技术
由于移动通信存在干扰和衰落,在信号传输过程中将出现差错,因此数字信号必须采用纠、检错技术,即纠、检错编码技术,以增强数据在信道中传输时抵御各种干扰的能力,提高***的可靠性。对在信道中传送的数字信号进行的检、纠错编码就是信道编码。在信道编解码领域,卷积码作为最重要的编码方式之一,显著提高无线通信质量。卷积码不仅广泛应用在第2代、第3代、第4代移动通信***中,而且广泛应用在深邃通信、卫星移动通信***中。
卷积码译码方法包括:门限译码、概率译码和维特比(即Viterbi)译码方法。其中Viterbi译码方法充分发挥了卷积码的特点,使译码错误概率达到最小,具有效率高、速度快等优点。传统的Viterbi译码方法采用基于网格图的最大似然译码方法。在译码过程中,从当前时刻转移到下一时刻需要进行加比选过程,从而获得幸存路径以及相应的状态转移,在状态回溯前需要保存所有时刻下的所有状态转移,如此庞大的存储需求,不仅占用了大量的存储空间,而且加重了状态回溯过程中状态转移的读取压力。
另外,对于接收端来说,如果能掌握更多的接收信号特征,就能为接收端算法的灵活设计提供基础,为无线信号质量和流程优化提供必要前提。在传统接收端算法过程中,如果要获得无线信道译码前的误码率,就必须对信道译码后的数据,进行信道编码、交织等相应操作,从而获得无线信道译码前的等价信号,从而获得此时的误码率。在实际接收端***设计过程中,考虑此时的计算复杂度,因此该方案往往被舍弃。
为了克服传统维特比译码方法不足,本发明提出了一种维特比译码实现方法。
发明内容
有鉴于此,本发明的目的在于提供一种维特比译码实现方法,该方法根据数字信号处理(DSP,DigitalSignalProcessor)特点,采用比特移位方法保存加比选过程中的状态转移,仅需要一个寄存器变量即可表示当前时刻所有状态转移过程,从而节约了大量存储空间。另外,本方法在状态回溯过程中,根据理想状态转移产生的译码比特与接收比特进行对比,计算出信道译码前的错误比特个数。从而在仅增加少量接收端计算复杂度的前提下,显著提高了接收端对接收信号质量的掌握程度,为进一步接收端***级性能优化提供了必要前提。
为达到上述目的,本发明提供如下技术方案:
一种维特比译码实现方法,该方法具体包括以下步骤:
S1:加比选过程;S2:保存状态转移;S3:更新状态;S4:更新时刻;S5:状态回溯;S6;保存译码比特;S7:计算错误比特;S8:更新时刻。
进一步,在步骤S1中,对每个时刻的每个当前状态的两条可能状态转移过程,分别计算基于汉明距离或欧式距离的路径度量,取较小汉明距离或较大欧式距离的路径度量作为幸存路径。
进一步,在步骤S2中,设置长度为N比特的变量a保存状态转移,每个比特的两个状态刚好表示当前状态的两条可能状态转移,即只需要知道幸存路径来自于上分支(例如采用0表示)或下分支(例如采用1表示)即可;即保存当前时刻当前状态的幸存路径,只需要改变变量a的对应比特值;或者,改变变量a对应比特值,可以通过比特左移或右移方式来完成。
进一步,在步骤S3中,对当前时刻的2N个当前状态分别进行步骤S1和步骤S2过程。
进一步,在步骤S4中,将当前时刻作为历史时刻,下一时刻作为当前时刻,执行步骤S1、步骤S2和步骤S3过程,共执行L次时刻更新。
进一步,在步骤S5中,从第L个时刻的所有2N幸存状态中,取预定义的状态或最小汉明距离的路径度量所在状态或最大欧式距离的路径度量所在状态作为当前时刻回溯状态;根据当前时刻变量a中对应状态值,即可查到此时对应的有效状态转移过程。
进一步,在步骤S6中,只要知道了状态转移过程,就可以通过查表获得该状态转移过程对应输入比特,也就是需要译码比特,将其保存为变量即可。
进一步,在步骤S7中,将当前时刻状态转移过程产生的输出比特与接收比特进行对比,即可获得错误比特个数,将其进行累加即可获得总的错误比特数。
进一步,在步骤S8中,将当前时刻递减,执行步骤S5、步骤S6和步骤S7,直到执行到首个时刻,即可获得所有时刻译码比特和总的错误比特数。
本发明的有益效果在于:本发明所述方法不但可以降低加比选过程中存储计算复杂度,而且可以获得信道译码前的错误比特个数;从而在仅增加少量接收端计算复杂度的前提下,显著提高了接收端对接收信号质量的掌握程度,为进一步接收端***级性能优化提供了必要前提。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为本发明中维特比译码实现框图;
图2为本发明前向状态转移图;
图3为本发明状态回溯过程中查找历史状态示意图。
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
在本实施例中,以广泛应用于移动通信***的(2,1,4)卷积软输入信息的维特比译码过程为例,对本发明一种维特比译码实现方法实施作具体描述,如图1所示:
A、初始化译码
对当前维特比译码各参数进行初始化,设当前时刻t=0,开始状态S=0,所有路径度量M=0或非等概值,状态转移值a=0。状态设置、状态转移及对应输出如图2所示,可以认为右端为低比特位,左端为高比特位。若输入比特为0时,当前时刻的状态历史状态右移一位更新到当前状态,此时当前状态对应的输入比特均为0,故在状态回溯过程中,其译码输出均为0。同样的,当输入比特为1时,当前时刻的状态历史状态右移一位更新到当前状态,此时当前状态对应的输入比特均为1,故在状态回溯过程中,其译码输出均为1。其中,实线数据表示输入为0时的输出数据,虚线数据表示输入为1时的输出数据。
B、分支度量计算
对于(2,1,4)卷积码,编码输出可用两个码元进行表示:00,11,01,10,四个度量值两两互为相反数,则分支度量d可以表示为接收数据D的函数,即:
d(00)=-d(11)=D(2t-1)+D(2t)
d(01)=-d(10)=D(2t-1)-D(2t)
重复该过程,每个时刻需要计算总共32个分支度量值。采用该方法可以减少大量计算复杂度。
C、加比选过程
将当前时刻各状态的分支度量d与前一时刻各状态路径的路径度量值M相加获得两个可能路径M1和M2,选出路径度量较大的一条路径作为该状态的幸存路径。遍历当前所有的状态,可得到16条幸存路径。
D、保存当前时刻所有状态幸存路径;
保存当前时刻16个状态的幸存路径的度量值M和状态转移值a。若状态转移时采用的是上分支,相当于进入该状态的状态转移值为0,即a左移或右移一位;若采用下分支,相当于进入该状态时的状态转移值为1,即a左移或右移一位加1,通过一个寄存器即可存储当前时刻所有状态的转移过程。
更新时刻t=t+1,重复B、C、D过程。直到到达最后一个时间节点,即所有的接收码字都接收完以后,选取累积度量最大的幸存路径或已知的结束状态作为最优路径。
E、查表确认历史状态转移
通过查找当前时刻当前状态转移值a是0或1,即可判定该状态是来源于上分支或下分支。
可选地,可以通过设置一个参数V来读取当前状态转移值a的对应比特位。具体过程为:当前状态数为0,1,…,15,分别与4位2进制状态对应,如果分别读取不同状态,需要设置16个长度为16比特的变量V来表示不同比特位置。左端为高比特位,右端为低比特位,则该16进制的变量V分别为0x8000,0x4000,…,0x0001。若当前状态转移值a与对应状态变量V异或结果为0,则当前状态是从历史状态的上分支转移而来;否则,是从下分支转移而来,如表1所示:
表1本发明采用位置确定状态转移上、下分支关系表
已知回溯状态,通过查找当前时刻的状态转移值a与参数V判断进入当前时刻当前状态的状态转移值。采用4位比特表示历史状态和当前状态,如果将左端看作低比特位,右端看作高比特位,则当前状态对应的两个历史转移转移状态下标分别表示为,如图3所示:
F、输出译码比特
根据图2状态转移过程可知,如果当前状态下标b(取值范围为0,1,…,15)小于8,则卷积编码比特为0;如果当前状态下标b大于等于8,则卷积编码比特为1。从而获得当前时刻译码输出比特值。
可选地,根据图3状态回溯过程可知,如果历史状态下标为偶数(即最左端低比特位为0),则卷积编码比特为0;历史状态下标为奇数(即最左端低比特位为1),则卷积编码比特为1。从而获得当前时刻译码输出比特值。
G、计算误码比特
将当前时刻状态转移过程中产生的译码输出比特P与当前时刻的接收比特进行比较,即可得到当前时刻的错误比特数。与前一时刻的错误比特数叠加,即可得到到达当前时刻的总的错误比特数。
其中,状态转移过程中产生的译码输出与各状态的对应关系如表2所示。
表2本发明为当前状态通过上、下分支状态转移对应输出表
由于每个状态对应两个输出,若当状态转移为上分支时,对应的状态输出为P(b);若当状态转移为下分支时,对应的状态输出为P(b+16)。
H、更新时刻
更新当前时刻,依次执行步骤E、步骤F、步骤G,直到执行到最初的时刻,即所有的接收比特都译码完成后,即可得到该译码的输出码字和译码过程中总的错误比特数。
本发明所述一种维特比译码实现方法,优化了传统方式中加比选单元中的状态转移过程存储方法,极大减少了存储空间;另外该方法获得了译码前的错误比特个数参量,可更好的掌握接收信号的质量。本发明优化了传统维特比译码算法过程,提高了译码过程中的资源利用率。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
Claims (9)
1.一种维特比译码实现方法,其特征在于:该方法具体包括以下步骤:
S1:加比选过程;S2:保存状态转移;S3:更新状态;S4:更新时刻;S5:状态回溯;S6;保存译码比特;S7:计算错误比特;S8:更新时刻。
2.根据权利要求1所述的一种维特比译码实现方法,其特征在于:在步骤S1中,对每个时刻的每个当前状态的两条可能状态转移过程,分别计算基于汉明距离或欧式距离的路径度量,取较小汉明距离或较大欧式距离的路径度量作为幸存路径。
3.根据权利要求2所述的一种维特比译码实现方法,其特征在于:在步骤S2中,设置长度为N比特的变量a保存状态转移,每个比特的两个状态刚好表示当前状态的两条可能状态转移,即只需要知道幸存路径来自于上分支或下分支即可;即保存当前时刻当前状态的幸存路径,只需要改变变量a的对应比特值;或者,改变变量a对应比特值,可以通过比特左移或右移方式来完成。
4.根据权利要求3所述的一种维特比译码实现方法,其特征在于:在步骤S3中,对当前时刻的2N个当前状态分别进行步骤S1和步骤S2过程。
5.根据权利要求4所述的一种维特比译码实现方法,其特征在于:在步骤S4中,将当前时刻作为历史时刻,下一时刻作为当前时刻,执行步骤S1、步骤S2和步骤S3过程,共执行L次时刻更新。
6.根据权利要求5所述的一种维特比译码实现方法,其特征在于:在步骤S5中,从第L个时刻的所有2N幸存状态中,取预定义的状态或最小汉明距离的路径度量所在状态或最大欧式距离的路径度量所在状态作为当前时刻回溯状态;根据当前时刻变量a中对应状态值,即可查到此时对应的有效状态转移过程。
7.根据权利要求6所述的一种维特比译码实现方法,其特征在于:在步骤S6中,只要知道了状态转移过程,就可以通过查表获得该状态转移过程对应输入比特,也就是需要译码比特,将其保存为变量即可。
8.根据权利要求7所述的一种维特比译码实现方法,其特征在于:在步骤S7中,将当前时刻状态转移过程产生的输出比特与接收比特进行对比,即可获得错误比特个数,将其进行累加即可获得总的错误比特数。
9.根据权利要求8所述的一种维特比译码实现方法,其特征在于:在步骤S8中,将当前时刻递减,执行步骤S5、步骤S6和步骤S7,直到执行到首个时刻,即可获得所有时刻译码比特和总的错误比特数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610037171.0A CN105721104B (zh) | 2016-01-20 | 2016-01-20 | 一种维特比译码实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610037171.0A CN105721104B (zh) | 2016-01-20 | 2016-01-20 | 一种维特比译码实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105721104A true CN105721104A (zh) | 2016-06-29 |
CN105721104B CN105721104B (zh) | 2019-05-24 |
Family
ID=56147791
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610037171.0A Active CN105721104B (zh) | 2016-01-20 | 2016-01-20 | 一种维特比译码实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105721104B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107094064A (zh) * | 2017-03-29 | 2017-08-25 | 西安电子科技大学 | 针对八进制连续相位频移键控的维特比解调***及方法 |
CN112865814A (zh) * | 2021-01-05 | 2021-05-28 | 成都航天通信设备有限责任公司 | 一种卷积码的Viterbi译码方法及译码器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1938955A (zh) * | 2004-03-22 | 2007-03-28 | 松下电器产业株式会社 | 局部擦除极大后验译码器 |
US20070245209A1 (en) * | 2006-03-31 | 2007-10-18 | Stmicroelectronics (Beijing) R&D Company Ltd. | Decoding method for tail-biting convolutional codes using a search depth viterbi algorithm |
-
2016
- 2016-01-20 CN CN201610037171.0A patent/CN105721104B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1938955A (zh) * | 2004-03-22 | 2007-03-28 | 松下电器产业株式会社 | 局部擦除极大后验译码器 |
US20070245209A1 (en) * | 2006-03-31 | 2007-10-18 | Stmicroelectronics (Beijing) R&D Company Ltd. | Decoding method for tail-biting convolutional codes using a search depth viterbi algorithm |
Non-Patent Citations (1)
Title |
---|
钟东波: "基于FPGA的OFDM基带***中卷积码编译码器的研究与实现", 《中国优秀硕士学位论文全文数据库,信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107094064A (zh) * | 2017-03-29 | 2017-08-25 | 西安电子科技大学 | 针对八进制连续相位频移键控的维特比解调***及方法 |
CN107094064B (zh) * | 2017-03-29 | 2020-02-07 | 西安电子科技大学 | 针对八进制连续相位频移键控的维特比解调***及方法 |
CN112865814A (zh) * | 2021-01-05 | 2021-05-28 | 成都航天通信设备有限责任公司 | 一种卷积码的Viterbi译码方法及译码器 |
Also Published As
Publication number | Publication date |
---|---|
CN105721104B (zh) | 2019-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5784417A (en) | Cyclic trelles coded modulation | |
US8037396B2 (en) | Cyclic trellis coded modulation | |
US7224743B2 (en) | Efficient decoding of trellis coded modulation waveforms | |
JPS61289732A (ja) | デ−タワ−ド伝送システム | |
CN107911195A (zh) | 一种基于cva的咬尾卷积码信道译码方法 | |
CN101299746B (zh) | 星座映射解映射及线性变换星座图映射解映射方法和装置 | |
JP2000209106A (ja) | 高速ビタビ復号器の最小量のメモリによる実現 | |
EP2339757B1 (en) | Power-reduced preliminary decoded bits in viterbi decoder | |
WO2006073732A2 (en) | Track buffer in a parallel decoder | |
US8009773B1 (en) | Low complexity implementation of a Viterbi decoder with near optimal performance | |
CN105721104A (zh) | 一种维特比译码实现方法 | |
CN113067584A (zh) | 一种crc码与pc码共同辅助极化码的编码方法 | |
US8331470B2 (en) | Communication system | |
US7035356B1 (en) | Efficient method for traceback decoding of trellis (Viterbi) codes | |
CN108471341B (zh) | 一种卷积编解码的方法 | |
CN112953561B (zh) | 基于极化码的空间耦合编码方法及***、译码方法及*** | |
CN102291198B (zh) | 信道译码方法和装置 | |
CN103986477A (zh) | 矢量viterbi译码指令及viterbi译码装置 | |
CN114430279A (zh) | 一种列表维特比译码方法、装置、译码器和存储介质 | |
Jiang et al. | A Fano Decoding for Polar Codes Based on Node Acceleration | |
WO2006073697A2 (en) | Parallel decoder for ultrawide bandwidth receiver | |
WO2006073731A2 (en) | Decision voting in a parallel decoder | |
CN104184481A (zh) | 一种高速viterbi译码器及译码算法的FPGA实现方法 | |
JPH0993295A (ja) | 符号化変調装置 | |
CN103684694A (zh) | 一种适用于ofdm基带***的软比特解码*** |
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 |