CN103873072A - 一种基于FPGA的卷积码高速viterbi译码器 - Google Patents
一种基于FPGA的卷积码高速viterbi译码器 Download PDFInfo
- Publication number
- CN103873072A CN103873072A CN201210528493.7A CN201210528493A CN103873072A CN 103873072 A CN103873072 A CN 103873072A CN 201210528493 A CN201210528493 A CN 201210528493A CN 103873072 A CN103873072 A CN 103873072A
- Authority
- CN
- China
- Prior art keywords
- viterbi
- decoding
- module
- algorithm
- convolution
- 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
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
一种基于FPGA的卷积码高速viterbi译码器设计。使用流水线技术实现对卷积码的快速持续译码。该器件将作为一个独立的功能模块,与其它模块整合成一个较完整的数据收发器件。在Matlab中编写卷积码编码程序和Viterbi译码器程序,实现对信息流的卷积码编码及Viterbi译码功能,通过此过程加深对卷积码的Viterbi译码算法的理解,然后在VHDL开发平台上设计开发卷积码编码及Viterbi译码功能模块,测试验证Viterbi译码模块工作的正确性,并利用Matlab仿真程序辅助进行VHDL的卷积码编码及Viterbi译码模块的功能验证。
Description
技术领域
本发明是一种SOC集成电路编解码技术,具体的说就是一种基于FPGA的卷积码高速viterbi译码器。
背景技术
近年来,随着大规模集成电路的发展,电路的实现技术水平获得很大程度的提高。卷积码在众多通信系统和计算机系统中得到了越来越广泛的应用。在数据通信中,它的出现,使得数据调制解调器的传输速率和性能都产生了较大的飞跃。研究和应用都已证明,在差错控制系统中卷积码是一种极具吸引力,颇有前途的差错控制编码。随着现代通信的发展,特别是在未来4G通信网络中,高速信息传输和高可靠性传输成为信息传输的两个主要方面,而可靠性尤其重要。因为信道状况的恶劣,信号不可避免会受到干扰而出错。为实现可靠性通信,主要有两种途径:一种是增加发送信号的功率,提高接收端的信号噪声比;另一种是采用编码的方法对信道差错进行控制。前者常常受条件限制,不是所有情况都能采用。例如卫星通信系统以很远的距离传送数据,由于衰落、噪声和干扰等的影响,信号在传输过程中将产生严重的畸变。如果要求信号具有尽可能大的能量,卫星体积和载重就会大大增加,使成本相对于原来大大增加,所以不可能给信号提供太大的能量,而建立在香农基础上的编码理论正可以解决这个问题,使得成本降低,实用性增强。卷积码是空间通信系统和无线通信系统中常用的一种编码,由于其良好的性能更是广泛应用于卫星和无线通信之中。以CDMA(Code Division Multiplex Access)为基础的数字蜂窝标准IS-95 采用卷积码作为其纠错方案;第三代数字蜂窝无线通信标准也采用并行级联卷积码(Turbo码)作为其纠错方案 。卷积码与分组码不同,它的本码组的校验元不仅与本组的信息元有关,而且还与以前各时刻输入至编码器的信息组有关。在编码过程中,卷积码充分利用了各码字间的相关性,而且它的信息元和校验元也比分组码小,在与分组码同样的码率R 和设备复杂的条件下,无论从理论上还是从实践上都证明卷积码的性能至少不比分组码差,而且卷积码在实现最佳译码也较分组码容易[3]。所以从信道编码定理来看,卷积码是一种非常有前途的码类。从理论上看,Viterbi译码算法基本解决了卷积码的译码问题。目前国内外对Viterbi译码器的高速率和低功耗都做了大量的研究,研究重点主要集中在Viterbi译码器的加比选单元优化,路径度量和幸存路径的存储管理。大对数Viterbi译码器的实现都是以FPGA为硬件平台,实现的译码速率从几kbit/s到几百Mbit/s,并且已经广泛应用于移动通信,数字广播,高清晰电视等领域。
发明内容
本发明的目的是基于FPGA设计实现一种高速Viterbi译码器,使用流水线技术实现对卷积码的快速持续译码。该器件将作为一个独立的功能模块,与其它模块整合成一个较完整的数据收发器件。
本发明的目的是这样实现的:
在Matlab中编写卷积码编码程序和Viterbi译码器程序,实现对信息流的卷积码编码及Viterbi译码功能,通过此过程加深对卷积码的Viterbi译码算法的理解,然后在VHDL开发平台上设计开发卷积码编码及Viterbi译码功能模块,测试验证Viterbi译码模块工作的正确性,并利用Matlab仿真程序辅助进行VHDL的卷积码编码及Viterbi译码模块的功能验证。
它的工作原理是这样的:
Viterbi算法主要由路径度量的“加比选”运算、度量的更新、路径的更新、最大似然路径的回溯过程组成。由卷积码编码的网格图表示方法可知,卷积码的编码过程一定与网格图上的一条路径相对应,即编码器输入序列与网格图上的路径是一一对应的。当序列长为kl时,网格图中有2kl条不同的路径和编码器的2kl种输入序列对应。因此,确定了最大似然路径也就得到了译码输出。 对于(n,k,K)卷积码,每一时刻每个状态都有2k个分支进入,同时有2k个分支离开。因此,Viterbi算法就是根据每一时刻进入当前状态的2k个分支的分支度量和各分支的幸存路径,得出2k个分支的部分路径度量,选择部分路径度量最大的路径。
附图说明
图1是本发明的结构示意图
图2是蝶形结构图
具体实施方式
结合图1, 接收端的信号经过量化后,首先送到译码器的分支度量单元,计算相应的分支度量值。对于硬判决来说,度量值就是接收码字与该分支路径对应的的编码码字之间的汉明距离。加比选模块是整个Viterbi译码的核心模块。 加比选运算就是在每一时刻,把进入同一状态的各分支度量值BM和其相关的幸存路径PM相加,比较这些结果,选择其中最小的一个作为该状态的幸存路径。回溯法TB使用RAM来存储各状态幸存路径信息,通过读写RAM来完成幸存信息的写入和回溯译玛输出,其内部连接关系比较简单。FPGA中有大量的嵌入式RAM,TB非常适合用于FPGA译码器的实现。
Claims (2)
1.一种基于FPGA的卷积码高速viterbi译码器设计,使用流水线技术实现对卷积码的快速持续译码,该器件将作为一个独立的功能模块,与其它模块整合成一个较完整的数据收发器件。
2.根据权利要求1所述的基于FPGA的卷积码高速viterbi译码器设计,其特征是:Viterbi算法是基于网格图的一种极大似然译码算法,是一种最佳的概率译码算法,Viterbi算法比序列译码算法效率更高,速度更快,译码器也较简单,在Matlab中编写卷积码编码程序和Viterbi译码器程序,实现对信息流的卷积码编码及Viterbi译码功能,通过此过程加深对卷积码的Viterbi译码算法的理解,然后在VHDL开发平台上设计开发卷积码编码及Viterbi译码功能模块,测试验证Viterbi译码模块工作的正确性,并利用Matlab仿真程序辅助进行VHDL的卷积码编码及Viterbi译码模块的功能验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210528493.7A CN103873072A (zh) | 2012-12-10 | 2012-12-10 | 一种基于FPGA的卷积码高速viterbi译码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210528493.7A CN103873072A (zh) | 2012-12-10 | 2012-12-10 | 一种基于FPGA的卷积码高速viterbi译码器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103873072A true CN103873072A (zh) | 2014-06-18 |
Family
ID=50911253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210528493.7A Pending CN103873072A (zh) | 2012-12-10 | 2012-12-10 | 一种基于FPGA的卷积码高速viterbi译码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103873072A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760137A (zh) * | 2016-01-28 | 2016-07-13 | 上海新储集成电路有限公司 | 一种可配置的微控制器内核及其使用方法 |
CN108768412A (zh) * | 2018-05-30 | 2018-11-06 | 佛山华芯微特科技有限公司 | 一种低延时Viterbi译码方法及系统 |
-
2012
- 2012-12-10 CN CN201210528493.7A patent/CN103873072A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760137A (zh) * | 2016-01-28 | 2016-07-13 | 上海新储集成电路有限公司 | 一种可配置的微控制器内核及其使用方法 |
CN108768412A (zh) * | 2018-05-30 | 2018-11-06 | 佛山华芯微特科技有限公司 | 一种低延时Viterbi译码方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101777926B (zh) | 一种Turbo乘积码的通用译码器及其方法 | |
CN101388674A (zh) | 一种译码的方法、译码器以及Turbo码译码器 | |
CN105634508B (zh) | 一种低复杂度近性能限的Turbo译码器的实现方法 | |
CN109257148A (zh) | 一种基于高斯近似阈值判断的极化码bp译码方法 | |
CN102404011B (zh) | 维特比解码实现方法及装置 | |
CN108631919B (zh) | 极性码的速率匹配方法及设备 | |
CN104579369A (zh) | 一种Turbo迭代译码方法和译码装置 | |
CN103973314A (zh) | 一种基于ldpc的信号编解码方法、及接收端和发送端 | |
CN104092470B (zh) | 一种Turbo码译码装置及方法 | |
CN104202271A (zh) | 直接序列扩频通信中基于逐幸存路径处理的迭代均衡方法 | |
CN108289006A (zh) | 用于通信系统中的数据处理的方法和设备 | |
CN103354483A (zh) | 通用的高性能Radix-4SOVA译码器及其译码方法 | |
CN101753152A (zh) | 一种Turbo码译码器及译码方法 | |
CN103078716B (zh) | 基于分布式3-D Turbo码的中继传输方法 | |
CN102739261B (zh) | 多相加比选前向回溯Viterbi译码器 | |
CN103873072A (zh) | 一种基于FPGA的卷积码高速viterbi译码器 | |
CN103986557A (zh) | 低路径延迟的LTE Turbo码并行分块译码方法 | |
CN102130747B (zh) | 一种长期演进系统的拓扑码传输块译码迭代的动态分配方法 | |
JP2019515592A (ja) | データ送信方法、データ受信方法、送信デバイス、および受信デバイス | |
CN106059597B (zh) | 一种基于概率Turbo译码器的有符号概率计算单元 | |
US8984377B2 (en) | Stopping methods for iterative signal processing | |
CN100486235C (zh) | 软信息保留的迭代接收方法 | |
CN108270452A (zh) | 一种Turbo译码器及译码方法 | |
CN110022158B (zh) | 一种译码方法及装置 | |
CN105375934A (zh) | 一种针对咬尾卷积码的Viterbi解码器及解码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140618 |