一. 卷积码背景
Elias于1955年提出卷积码,1967年Vterbi提出最大似然译码法,广泛运用于现代通信。
二. 编码原理
1. 解析法
a. 离散卷积法(用于定义) 包括:connection pictorial,connection vector,connection polynomial 如下图:设输入信息序列为u=(u0,u1,u2……),对应输c出序列为(c10,c11,c12,c13…),c2=(c20,c21,c22,c23…),则编码方程可写为:c1=u*g1,c2=u*g2,c=(c1,c2),其中g1,g2表示编码器的两个脉冲冲激响应,即编码可由输入信息序列U和编码器的两个冲激响应的卷积得到,故如此称卷积码,其中脉冲冲激响应应是指当输入为(1000…)时所观察到得两个输出序列值,编码器m=3级寄存器冲激响应可持续到k=m+1=4位。 g1=(1011),g2=(1111) 如下图: 一般来说,g1=(g10,g11,g12…g1m) g2=(g20,g21,g22…g2m)编码输出序列合并为一个输出序列为c=(c10,c20,c11,c21…) b. 生成矩阵(用于理论分析) c. 码多项式(用于工程) g1=(1011)=1+x^2+x^3 g2=(1111)=1+x+x^2+x^3 输入序列u=(10111)=1+x^2+x^3+x^4 c1=ug1=1+x^7=(10000001) c2=ug2=(11011101)
2.卷积的图形表示法(state diagram,treediagram,trellis diagram)
a.状态图: 编码器下一时刻的输出取决于取决于编码器当前状态及下一时刻输入,而当前状态取决于各寄存器的存储状态内容,因而总状态数达2^mk个。 如图: 状态表为: ui 0 1 0 1 有如下状态图: ui-1 0 0 1 1 si a b c d b.树图(将状态图按时间展开) 设初始状态s0=00为树根,对每个时刻的可能输入进行分支,分数级数L表示,L=0时,u0=0向上,u0=1向下,依次向后无限延伸,分支上数字表示相应输出,a,b,c,d表示状态。(优点:时序关系清晰) d.网格图(研究卷积码最大似然译码维特比算法的工具) 纵坐标表状态,横坐标表时间。 从图中我们可看出编码过程中使用K-1个冲洗比特使得编码器恢复初始状态是有必要的。 三、卷积码的译码
Viterbi译码(最大似然译码) 先验概率条件下,后验概率最大者似然函数最大,最值MAP即最大似然(ML)译码。而最大对数似然函数即计算最小汉明距,如此,比较接受序列和发送序列汉明距,选出最小汉明距序列作为最佳译码即可。 维特比译码思想: 译码过程选择整个集合路径中使使然函数最大的路径,若在某节点上发现某条路径不可能获得最大对数似然函数则放弃该路径,然后在剩下的“幸存”路径中重新选择直至最后一级,从而大大减轻译码工作量。 优点: 1.路径度量可加性,满足Bellmax最优化原理。 2.局部判决及时除去大量非最优路径节省运算。 译码步骤: 1. 从L=m时刻开始,计算每一状态单个路径的部分度量值,并存储幸存路径及度量值。 2. L增加,L=m+1,将进入某一状态时分支度量值与前一时段幸存路径度量值相加,选择最大度量值路径进入,存储新的幸存路径及度量值,删除所存其他路径。 3.若L 蒙特卡罗(Monte Carlo, MC)是一种以概率统计理论为指导的一类通过仿真来分析科学现象的重要方法,使用随机数(或伪随机数)来解决很多计算问题体现出了很强的灵活性和易实现性,该方法主要分三步:构造或描述概率过程;在概率过程中随机抽样;建立各种估计量并给出近似解。MC方法被广泛运用于通信领域,通信中人们最关心的重要问题之一就是系统的误码率性能。如果把码元是否出错看作服从0-1分布的随机变量,那么误码率正好是该随机变量的数学期望,而对随机变量的数学期望进行估计,正是MC方法中最为经典的问题。下面的内容正是基于MC而建立起得仿真模型,通过实验现象我们将会看到卷积编码译码过程和系统的性能分析,包括灾难性性编码现象。 原理方框图: Simulink模型 主要模块参数设置: 1. 伯努力信号发生器 2. 卷积编码器 3. BPSK调制 4. 加性高斯噪声信道 5. BPSK解调 6. Viterbi译码 Matlab调试程序: clear; clc; x=-10:10; y=x; h=1:3; colordef black A=[poly2trellis(3,[3 5]),poly2trellis(3,[7 5]),poly2trellis(3,[4 5 7])]; for j=1:3 CHOICE=A(j); for i=1:length(x) SNR=x(i); sim('liuzekun'); y(i)=mean(BitErrorRats); end h=semilogy(x,y); if j==1 set(h,'color','b'); elseif j==2 set(h,'color','r'); elseif j==3 set(h,'color','y'); end hold on end title('卷积编码译码'); legend('灾难编码器','1/2编码器','1/3编码器') xlabel('信道信噪比'); ylabel('误码率'); 六.实验结果及分析 编码器灾难性编码系统结果 对比三个仿真结果可知:灾难性编后果十分严重,在实际应用中必须编码,另外1/3编码器比1/2编码器性能要好。 七、参考资料 1.樊昌信.通信原理(第6版).国防工业出版社 2.周炯盘.通信原理(第3版).北京邮电出版社 3.黄载禄.通信原理.科学出版社 4. 斯克拉.数字通信.电子工业出版社 因篇幅问题不能全部显示,请点此查看更多更全内容