Simulink基于BPSK调制与BCH码仿真报告Word格式.docx
《Simulink基于BPSK调制与BCH码仿真报告Word格式.docx》由会员分享,可在线阅读,更多相关《Simulink基于BPSK调制与BCH码仿真报告Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
通过改变码长或信息位数数值,分析信噪比与误码率的走势。
观看误码率的改善情况。
目录
摘要2
一、背景4
1.1软件介绍4
1.2BCH码4
1.2.1BCH码定义:
4
1.2.2生成多项式g(x)5
1.2.3码长n6
1.3BCH码的编码6
1.4BCH码的译码6
二、目的和要求7
三、系统设计与仿真8
3.1系统框架图8
3.2仿真图8
3.3系统参数设置10
四、测试结果13
4.1通过有无BCH编码仿真系统的运行得到如下图13
4.2通过有BCH编码仿真系统示波器观察编码前后和解码前后波形14
4.3码长相同的情况不同信息位数误码率与信噪比16
4.4相同纠错个数情况下不同码长对误码率的影响17
五、总结17
参考文献18
一、背景
1.1软件介绍
Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。
在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。
Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。
同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。
是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。
Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。
为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。
1.2BCH码
BCH码1959年由Hocquenghem、1960年由Bose和Chandhari分别独立提出。
BCH码是能够纠正多个随机错误的循环码,可以用生成多项式g(x)的根描述。
给定任一有限域GF(q)及其扩域GF(mq),其中q是素数或或者某一素数的幂,m为某一正整数。
设='
GF(2m),l是任意整数,是GF(2m)的本源元,若V是码元取自GF
(2)上码长为n的循环码,他的生成多项式g(x)含有以下2t个根、2….2t,则由g(x)生成的循环码称为二元BCH码,若、2…2t中有一个是本原元,则g(x)生成的码称为本原BCH码。
要考虑g(x)能否生成本原BCH码,将要考虑、2…2t中是否有一个本源元,实际上只要考虑是本原元,g(x)生成本原BCH码,若不是本原元,则i也一定不是本原元,因而生成本原BCH码。
设i阶为ie,i=1,2,3,….,2t,则以2…..2t为根的BCH码的码长N=LCM(1e,2e,„.2te)。
若2…2t的极小多项式分别为1m(x),2m(x),„,2tm(x).
1.2.2生成多项式g(x)
以、2…2t为根的BCH码的生成多项式可以写成g(x)=LCM(1m(x),2m(x),„2tm(x)),由极小多项式的性质可以知道,i与()i的平方,有相同的极小多项式,因此以2….2t为根的BCH码的生成多项式可以简化成g(x)=LCM(1m(x),3m(x),„21tm(x))这个g(x)=LCM(1m(x),2m(x),„2tm(x))中多以取最小公倍,是要在1m(x),2m(x),„2tm(x)中去掉那些相同的极小多项式,既然g(x)=LCM(1m(x),3m(x),„21tmBCH码的分析与仿真10(x))中已经把i的极小多项式相同的去掉啦,是否可以把g(x)=LCM(1m(x),3m(x),„21tm(x))中最小公倍符号省略,直接写成1m(x),3m(x),„21tm(x)的形式,回答是否定的,这是因为,虽然1m(x),3m(x),„21tm(x)中已经去掉了一些相同的极小多项式,但是不一定去掉了所有的与1m(x)相同的极小多项式,
1.2.3码长n
由g(x)=LCM(1m(x),3m(x),„21tm(x))可以知道,以2、、、2t为根的BCH码的码长n=LCM(1e,2e,„.21te)。
若的阶为1e,则i的阶是1e的因子,因此码长公式可以简化为n=LCM(1e,3e,„,21te)=1e.设是GF(2m)的本原元,=l,则的阶1e=21(,21)mml即以2…2t为根的BCH码的码长为n=21(,21)mml
1.3BCH码的编码
BCH码是循环码的一种,满足循环码的编码方法,令给定的编码方式为(n,k)生成多项式为g(x),信息码多项式为m(x)编码的步骤如下:
1、用x(n-k)乘以m(x),这一运算相当于是把信息位码后附加上(n-k)个“0”.2.用g(x)除x(n-k)m(x),得到商Q(x)和余式r(x),即x(n-k)m(x)/g(x)=Q(x)+r(x)/g(x)。
3.编码后的输出为T(x)=x(n-k)m(x)+r(x)。
1.4BCH码的译码
BCH码的译码方法可以有时域译码和频域译码两类。
频移译码是把每个码组看成一个数字信号,把接受到的信号进行离散傅氏变换(DFT),然后利用数字信号处理技术在“频域”内译码,最后进行傅氏反变换得到译码后的码组。
时域译码则是在时域直接利用码的代数结构进行译码。
BCH的时域译码方法有很多,而且纠多个错误的BCH码译码算法十分复杂。
常见的时域BCH译码方法有彼得森译码、迭代译码等。
事实上,BCH码是一种特殊BCH码的分析与仿真11的循环码,因此它的编码器不但可以象其它循环码那样用除法器来实现,而且原则上所有适合循环码译码的方法也可以用于BCH码的译码。
BCH译码的一般原理将求解错误位置转化为解线性方程组的问题,但是当设计纠错能力t比较大时,要不断对系数矩阵进行降阶处理,直到求到一个满秩的exe阶方阵为止,还是比较复杂的运算,Berlekamp的发现从根本上解决了BCH码译码的算法复杂度,得到了广泛的应用。
二、目的和要求
三、系统设计与仿真
3.1系统框架图
3.2仿真图
3.2.1基于Simulink有BCH编码的BPSK调制信号
3.2.2基于Simulink无BCH编码的BPSK调制信号
3.3系统参数设置
3.4Matlab代码:
clearall
x=0.1:
25;
%设置信噪比
fori=1:
length(x)
SNR=x(i);
sim('
untitled'
)%运行BCH编码仿真
Errorrate(i)=[mean(s)]+eps;
%计算误码率
End
semilogy(x,Errorrate,'
b'
);
%绘制误码率曲线
holdon
untitled1'
)%运行无BCH编码仿真
Errorrate(i)=[mean(s1)]+eps;
end
r'
)
gridon
title('
有无BCH编码时传输特性的比较'
xlabel('
信噪比'
ylabel('
误码率'
四、测试结果
4.1通过有无BCH编码仿真系统的运行得到如下图
如上图曲线走势可得
a、随着信噪比的的增加误码率逐渐递减,达到一定的信噪比时误码率趋近于零。
b、上图所示的传输特性可得,若保持发送信息码元速率不变,有BCH编码,传输效率将会降低,但换来传输特性的改善。
4.2通过有BCH编码仿真系统示波器观察编码前后和解码前后波形
波形图一:
编码前波形图二:
编码后波形图三:
解码前波形图四:
解码后
如上图所示,图一与图二比较可得bch编码成功,图三和图四比较说明信号从信道中解码出来,而图一和图四比较图形没有变化说明bch解码成功
4.3码长相同的情况不同信息位数误码率与信噪比
如上图信噪比与误码率曲线图所示:
当码长相同的情况下,不同信息位数对误码率有着不同的影响,但相比之下当信息位数k=21时纠错能力最佳。
4.4相同纠错个数情况下不同码长对误码率的影响
通过上图所示:
纠错个数相同不同码长的比较当码长n=63时比其他几种对误码率有着明显的改善,次之就是n=31,而n=15和n=127对误码率基本相同
五、总结
通过本次的课程设计,深入的学习了simulink在Matlab中的运用。
更加理解了信道编码在信号在传输过程中的重要性,并且了解到误码率受到多种因素的影响。
众所周知的,在现代通信系统中,纠错码技术是实现可靠通信的基本方法,所以越来越快的传输速率要求更好的信道编码以及相应的译码方式,极大的改善了无线通信环境下的通信效能。
参考文献
樊昌信曹丽娜通信原理(第六版)北京:
国防工艺出版社2011.1
徐明远邵玉斌matlab仿真在现代通信中的应用西安电子科技大学出版社2011.4