新闻中心

EEPW首页 > 电源与新能源 > 设计应用 > 卷积编码及Viterbi 解码的FPGA 实现及应用

卷积编码及Viterbi 解码的FPGA 实现及应用

作者:时间:2018-09-06来源:网络收藏

0 引言

本文引用地址:http://www.eepw.com.cn/article/201809/388578.htm

在现代通信系统中,信道编码技术得到了广泛的应用。卷积码结构简单,硬件实现容易,同时有着较好的查错纠错能力,因此在无线通信中经常使用,而其解码方式常用Viterbi译码。

1 卷积编码

卷积码(Convolutional Coding)是由PgElias 于20 世纪50年代提出的一种非分组码。它实现非常简单,将要发送的信息序列经过一个特定的线性移位寄存器,即完成了编码。

卷积编码常用(n,k,m) 表示,一般n 和k 的值都比较小,其中m 为编码约束长度,它表示编码时相应的信息比特在编码器中停留的时间。卷积编码是一种前后相关联的编码过程,编码后的码元和当前的k 个比特位相关,同时也与前m - 1 个输入比特相关,使得相互关联的码元达到m × n 个。衡量卷积码性能的两个重要参数是码率 (k n)和约束长度。

2 卷积码的描述方法

卷积码的编码描述方法有很多,工程中最常用的是寄存器网络结构法、码多项式法和状态图形表示法。

如本系统中使用的(2,1,7)卷积编码,它的寄存器网络结构法表示如图1所示。

离散卷积法表示如下:

其中卷积运算用*表示, g1,g2 为脉冲冲激响应。则如图1中可以表示为:

3 卷积码的译码

由于卷积码自身没有严格的代数结构,其译码过程相对复杂。目前常用的方法有两类:

(1)代数解码。这种解码方式是利用编码本身的代数结构进行解码,但不考虑信道的统计特性;(2)概率解码。这一解码方式则充分利用了信道的统计特性。目前常用的有Viterbi译码、最大后验概率译码(MAP)以及它的改进算法Max_log_MAP等。本文采用的是Viterbi译码简称(VB)。

对于(n,k,m) 的二进制卷积码,编码输入的信息序列是独立等概率的,比较各种条件下的概率,即似然函数P(R|U(m)),选择其中概率最大的,所得就是译码值,它具有最小差错概率。其中R 是实际接收到的序列,U(m) 是可能的发送序列。当满足P(R|U(m′)) =max P(R|U(m)) 条件时,U(m′) 就是译码值。

假设加性高斯白噪声作为系统噪声,同时信道是无记忆性,则卷积码的似然函数为:

式中:Ri 是接收序列R 的第i 个分支;Ui (m) 是特定码字U(m) 的第i 个分支;rji 是Ri 的第j 个码元;uji (m) 是Ui (m) 的第j 个码元,每个分支由n 个码元组成。在工程实践中通常用对最大似然函数取对数,以加法代替乘法。对数的最大似然函数定义为:

当log P(R|U(m)) 的值最大时,译码成功。Viterbi译码利用了编码网络图的特殊结构,降低了计算的复杂度,但它本质上仍然是最大似然译码。算法实际执行时,边接收边比较,同时去除不可能成为最大似然选择对象的路径,也就是说如果两条路径到达同一状态,被选中的是具有最佳量度的路径。这一路径称为幸存路径,对所有状态进行比较、选择,抛弃不可能的路径,从而降低了译码器的复杂性。译码从根本上说,也就是选择具有最小距离的码字或最大似然量度的码字。

4 卷积码编码的工程实现

卷积码的编码在工程中比较简单,由移位寄存器和异或组成,系统中使用(2,1,7)编码,实现原理如图2所示。在FPGA中的仿真如图3所示。


上一页 1 2 下一页

关键词:

评论


相关推荐

技术专区

关闭