《卷积码实验报告.docx》由会员分享,可在线阅读,更多相关《卷积码实验报告.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、卷积码实验报告 XX高校XX学院电子与信息工程学院 信道编码课程设计报告 课设名称 卷积码编译及译码仿真 学生姓名 学 号 同组人 专业班级 通信 指导老师 一、 试验名称 基于MAATLAB的卷积码编码及译码仿真 二、试验目的 卷积码是一种性能优越的信道编码。它的编码器和译码器都比较简单实现,同时它具有较强的纠错实力。随着纠错编码理论探讨的不断深化,卷积码的实际应用越来越广泛。本试验简明地介绍了卷积码的编码原理和Viterbi译码原理。并在SIMULINK模块设计中,完成了对卷积码的编码和译码以及误比特统计整个过程的模块仿真。最终,通过在仿真过程中分别变更卷积码的重要参数来加深理解卷积码的这
2、些参数对卷积码的误码性能的影响。经过仿真和实测,并对测试结果作了分析。 三、试验原理 1、卷积码编码原理 卷积码是一种性能优越的信道编码,它的编码器和解码器都比较易于实现,同时还具有较强的纠错实力,这使得它的运用越来越广泛。卷积码一般表示为(n,k,K)的形式,即将 k个信息比特编码为 n 个比特的码组,K 为编码约束长度,说明编码过程中相互约束的码段个数。卷积码编码后的 n 各码元不经与当前组的 k 个信息比特有关,还与前 K-1 个输入组的信息比特有关。编码过程中相互关联的码元有 K*n 个。R=k/n 是编码效率。编码效率和约束长度是衡量卷积码的两个重要参数。典型的卷积码一般选 n,k
3、较小,K 值可取较大(>10),但以获得简洁而高性能的卷积码。卷积码的编码描述方式有许多种:冲激响应描述法、生成矩阵描述法、多项式乘积描述法、状态图描述,树图描述,网格图描述等。2、卷积码Viterbi译码原理 卷积码概率译码的基本思路是:以接收码流为基础,逐个计算它与其他全部可能出现的、连续的网格图路径的距离,选出其中可能性最大的一条作为译码估值输出。概率最大在大多数场合可说明为距离最小,这种最小距离译码体现的正是最大似然的准则。卷积码的最大似然译码与分组码的最大似然译码在原理上是一样的,但实现方法上略有不同。主要区分在于:分组码是孤立地求解单个码组的相像度,而卷积码是求码字序列之间的
4、相像度。基于网格图搜寻的译码是实现最大似然判决的重要方法和途径。用格图描述时,由于路径的汇聚消退了树状图中的多余度,译码过程中只需考虑整个路径集合中那些使似然函数最大的路径。假如在某一点上发觉某条路径已不行能获得最大对数似然函数,就放弃这条路径,然后在剩下的“幸存”路径中重新选择路径。这样始终进行到最终第 L 级(L 为发送序列的长度)。由于这种方法较早地丢弃了那些不行能的路径,从而减轻了译码的工作量,Viterbi 译码正是基于这种想法。对于(n, k, K )卷积码,其网格图中共 2kL 种状态。由网格图的前 K-1 条连续支路构成的路径互不相交,即最初 2k_1 条路径各不相同,当接收到
5、第 K 条支路时,每条路径都有 2 条支路延长到第 K 级上,而第 K 级上的每两条支路又都汇聚在一个节点上。在Viterbi译码算法中,把汇聚在每个节点上的两条路径的对数似然函数累加值进行比较,然后把具有较大对数似然函数累加值的路径保存下来,而丢弃另一条路径,经选择后第 K 级只留下2K条幸存路径。选出的路径同它们的对数似然函数的累加值将一起被存储起来。由于每个节点引出两条支路,因此以后各级中路径的延长都增大一倍,但比较它们的似然函数累加值后,丢弃一半,结果留存下来的路径总数保持常数。由此可见,上述译码过程中的基本操作是,“加-比-选”,即每级求出对数似然函数的累加值,然后两两比较后作出选择
6、。有时会出现两条路径的对数似然函数累加值相等的情形,在这种状况下可以随意选择其中一条作为“幸存”路径。 卷积码的编码器从全零状态动身,最终又回到全零状态时所输出的码序列,称为结尾卷积码。因此,当序列发送完毕后,要在网格图的终结处加上(K-1)个己知的信息作为结束信息。在结束信息到来时,由于每一状态中只有与已知发送信息相符的那条支路被延长,因而在每级比较后,幸存路径削减一半。因此,在接收到(K-1)个己知信息后,在整个网格图中就只有唯一的一条幸存路径保留下来,这就是译码所得的路径。也就是说,在己知接收到的序列的状况下,这条译码路径和发送序列是最相像的。 3、MATLAB 仿真 在本次试验中,主要
7、是利用SIMULINK仿真模块对卷积码的编码及viterbi译码的全过程进行了设计,SIMULINK仿真框图如下: 图1卷积码的SIMULINK仿真框图 基本设计思路是:先由Bernoulli Binary Generator(贝努利二进制序列产生器)产生一个0,1等概序列,经过Convolutional Encoder(卷积编码器)对输入的二进制序列进行卷积编码,并用BPSK调制方式调制信号。加入信道噪声(高斯白噪声)后再经过BPSK解调制后送入Viterbi Decoder(Viterbi译码器)进行硬判决译码。最终经过Error Rate Calculation(误码统计)后由Displ
8、ay(显示)输出。然后通过Selector(数据选通器)将结果输出到To workspace(工作区间)。该结果将由m文件中的程序调用以绘制不同信噪比及其他参数下系统误码率曲线。四、试验结果 1、不同的约束长度对卷积码误码率的影响 对于码率肯定的卷积码,当约束长度N 发生改变时,系统的误码性能也会随之发生改变, 本试验中以码率R = 1/2的(2,1,3)和(2,1,7) 卷积码为例绽开分析。仿真所用所用程序如下: x=0:5; y=x; for i=1:length(x) SNR=x(i); sim(juanjima); y(i)=mean(BitErrorRate); end semilo
9、gy(x,y,r); hold on; for i=1:length(x) SNR=x(i); sim(juanjima2); y(i)=mean(BitErrorRate); end semilogy(x,y,g); xlabel(SNR) ylabel(BitErrorRate) 仿真结果: 图2约束长度对卷积码性能的影响 结果分析: 对于码率肯定的卷积码,当约束长度N发生改变时,系统的误码性能也会随之发生改变,我们以码率R=1/2的(2,1,3)和(2,1,7)卷积码为例绽开分析。上面的曲线是(2,1,3)卷积码的误码性能曲线。下面的曲线是(2,1,7)卷积码的误码性能曲线。从图4-4中
10、的误比特率曲线可以清晰地看到,随着约束长度的渐渐增加,系统的误比特率明显降低,所以说当码率肯定时,增加约束长度可以降低系统的误比特率,但是随着约束长度的增加,译码设备的困难性也会随之增加,所以对于码率为1/2的卷积码,我们在选取约束长度时一般为39。2、 回溯长度对卷积码性能的影响 以(2,1,7)卷积码为例。将译码模块中的Traceback depth分别设置为20,35,50并在一个图中画出这三种方式下的误码性能曲线。仿真所用程序如下: x= 0:5; y=x; for i=1:length(x) SNR=x(i); sim(juanjima); y(i)=mean(BitErrorRat
11、e); end semilogy(x,y,r); hold on; for i=1:length(x) SNR=x(i); sim(juanjima2); y(i)=mean(BitErrorRate); end semilogy(x,y,g); hold on; for i=1:length(x) SNR=x(i); sim(juanjima3); y(i)=mean(BitErrorRate); end semilogy(x,y,b); xlabel(SNR) ylabel(BitErrorRate) 仿真结果: 图3 回溯长度对卷积码性能的影响 从上到下的三条曲线分别是Traceback
12、 depth为20,35,50。可以看出:回溯长度在Viterbi 译码过程中一个很重要的参数,他确定了译码延迟,随着他的不断改变,误码性能也随误比特率曲线可以清晰地看到,当回溯长度肯定时,随着信道噪声的渐渐提高,系统的误比特率渐渐降低;当回溯长度渐渐增加,系统的误比特率随之渐渐降低,当回溯程度增加肯定程度时,误比特率数值趋于稳定。3. 不同码率对误比特率的影响 以码率为1/2的(2,1,3)卷积码和码率为1/3的(3,1,3)码为例。它们的trellis结构分别是poly2trellis(3,6 7)和poly2trellis(3,1 6 5)。仿真所用程序: x=0:5; y=x; for
13、 i=1:length(x) SNR=x(i); sim(juanjima); y(i)=mean(BitErrorRate); end semilogy(x,y,r); hold on; for i=1:length(x) SNR=x(i); sim(juanjima2); y(i)=mean(BitErrorRate); end semilogy(x,y,b); xlabel(SNR) ylabel(BitErrorRate 图4 码率对卷积码性能的影响 结果分析: 从图中可以看出,当码率肯定时,随着信道信噪比的提高,系统误比特率渐渐降低。当变更码率时,在信噪比肯定的条件下,码率越高,误比
14、特率越高。5. 不同信道对viterbi译码性能的影响 在这个部分主要考虑的是二进制对称信道与高斯白噪声信道对于viterbi译码性能的影响。采纳的是(2,1,7)卷积码。仿真所用程序: x=0:5; y=x; for i=1:length(x) SNR=x(i); sim(juanjima); y(i)=mean(BitErrorRate); end semilogy(x,y,r); semilogy(x,y,b); xlabel(SNR) ylabel(BitErrorRate) 仿真结果: 图5二进制对称信道下的仿真结果 图6高斯白噪声信道下的仿真结果 结果分析: 高斯白噪声信道中,Vi
15、terbi译码随着信道的信噪比提升,误比特率越低,信道的可信度与纠错实力很高,而在二进制对称信道中,随着信道的误码率提升,viterbi译码的误比特率也会提升,当二进制对称信道的误码率高到肯定程度时,Viterbi译码几乎会丢失纠错实力。总体上看,高斯白噪声信道要优于二进制对称信道。五、试验心得及总结 本学期学了现代编码理论,对编码的概念和原理有了很大的理解,而本次试验我们选择了卷积码的编码和Viterbi译码的性能分析。我们在前期看现代编码理论卷积码这块学问点的时候,花了很长时间才搞懂,尤其是Viterbi译码的算法,在用matlab进行性能分析的时候,从matlab的熟识及相关子函数的编写,期间用到了许多问题,通过查询相关资料,问同学等方式最终得到解决,尤其是最终跑不同码率的卷积码性能分析的时候,由于时间长,况且中间出现了许多错误,在老师及同学的帮助下,解决了问题,完成了试验。六、 分工状况 我与XX一起翻看了书本,共同定下了课题及主要大纲,然后一起探讨和查阅资料,写下了程序。然后,她进行了程序的测试,我写了报告。七、 文献 信道编码与MATLAB仿真 刘东华 向良军著 电子工业出版社
限制150内