当前位置:   article > 正文

基于matlab仿真BCC卷积码编解码_卷积编解码

卷积编解码

目录

引言

实验流程

实验结果及分析


引言

本文的实验是在matlab上按照(2,1,7)卷积码编码后的数据加高斯白噪声,即模拟编码后的数据在信道中传输。然后观察在不同功率的加性高斯白噪声作用下,接收端接收到的不同信噪比的信号数据,再进行维特比算法解码,观察不同信噪比的信号其解码数据的误比特率,并且分析其结果。

实验流程

如图所示,为整个实验的主要代码流程图。首先,随机生成信息序列message,按照(2,1,7)卷积码、生成多项式为(133,171)方式对其进行编码。这其中,编码是利用matlab内置函数convenc来进行编码。然后模拟BPSK调制方式,对信息序列进行调制,即把0映射到1,把1映射到-1。然后对信息序列进行加噪处理。加的噪声为加性白噪声,使用的是awgn函数来加噪声。加噪声时,根据不同的信噪比来加不同功率的噪声,这次实验中,信噪比范围为-10dB到10dB,每次步进0.5dB。然后调用自己编写的维特比算法代码来进行解码。本次实验中,使用的是维特比算法软解码。加噪处理后,得到的数据为浮点型小数,直接对这数据进行解码操作,得到解码结果。最后根据解码结果与信息序列,计算其解码错误的比特数,最后拿错误比特数除总比特数,即得到误比特率。

实验结果及分析

本次实验中,一共随机生成100组数据,每组数据长度为100,对应每组数据,信噪比控制在-10dB到10dB内,每次步进0.5dB,对其进行加噪处理。因为噪声是随机是生成的,为了提高数据的稳定性,在同一数据、相同的信噪比下,进行了10次加噪解码操作。噪声通过影响接收端接收到的最终数据,使其远远偏离正确的数据,最终导致译码错误,如原本为-1的值,通过加性高斯白噪声后,在数值上更加接近1,这就容易导致译码出错。最后得到在不同信噪比情况下的误比特率的值。

如图所示,展示了实验中误比特率随信噪比的变化情况,可以看出在信噪比为3.5dB时,误码率已经下降到10-3以下。信噪比在-4dB到2dB时,随着信噪比的增加,误比特率下降的速率比较快。信噪比在-10dB到-4dB时,其误比特率比较高,并且是有一定的上下波动,不是单调区间。理论上来说,随着信噪比的提高,其误比特率会逐渐下降,但其存在上下波动,可能是由于不同信噪比下,所加噪声具有一定随机性,影响了解码结果。并且最高误码率为0.5左右,误码率不再提高的的原因,可能是与维特比是一种概率解码算法有关,其总是寻找概率最大、最可能的序列作为解码结果。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号