0 引言
在现代通信系统中,信道编码技术得到了广泛的应用。卷积码结构简单,硬件实现容易,同时有着较好的查错纠错能力,因此在无线通信中经常使用,而其解码方式常用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所示。
5 卷积码译码--Viterbi 译码的FPGA 实现
Viterbi功率电感器算法的基本实现方法如下:在不同时刻,按照最大似然准则将网格图中所有的路径进行比较,保留一条具有功率电感最大似然值的路径(幸存路径),同时舍弃其他路径。每个时刻进行相同的操作,对每接收到的一段数据进行计算、比较并保存幸存路径,最后留下的路径就是所要求得的译码值。
DS2756 库仑计本人想用ds2756来做个库仑计玩玩,现在用芯片可以测电池电压电流,但是当前电量却一次没反应,请大神们指导指导!
uintread_Acr(void)//读取电量
{
uchara,b;
uintvalue;
ds2756rst
高压线性恒流LED驱动方案会不会发热烧掉?
刍议印刷技术中的色彩管理1什么是色彩管理所谓色彩管理,就是指运用软件和硬件相结合的方法,在印刷 生产系统中自动统一地管理与调整颜色,从而保证在整个印刷过程 中颜色的一致性。色彩管理系统以CIE色度