基于MATLAB的通信系统仿真数字通信大作设计.doc
《基于MATLAB的通信系统仿真数字通信大作设计.doc》由会员分享,可在线阅读,更多相关《基于MATLAB的通信系统仿真数字通信大作设计.doc(22页珍藏版)》请在沃文网上搜索。
1、基于Matlab的通信系统仿真 目 录基于Matlab的通信系统仿真3数字通信大作业3系统综述3结构框图3系统实现4随机信号的生成4星座图映射4插值6波形成形(平方根升余弦滤波器)710倍载波调制8加入高斯白噪声11匹配滤波器12采样15判决解调16误码率曲线17整体程序构架19讨论21信噪比修正21仿真曲线21仿真终止条件22升余弦滤波器22图 表图1 待构建系统的框图3图2 0、1等概分布的随机信号波形图4图3 16QAM星座图5图4 经过插值后的两路信号波形图6图5 平方根升余弦滤波器的冲激响应曲线7图6 通过平方根升余弦滤波器后的两路信号8图7 载波调制信号展开图9图8 载波调制信号整
2、体图10图9 加入高斯白噪声的两路信号波形11图10经过匹配滤波器后的波形13图11 高斯白噪声经过匹配滤波器后的波形14图12 信噪比为10db时的星座图15图13 误码率曲线图18图14 3条曲线比较20基于Matlab的通信系统仿真数字通信大作业系统综述利用Matlab仿真软件,完成如图1所示的一个基本的数字通信系统。信号源产生0、1等概分布的随机信号,映射到16QAM的星座图上,同时一路信号已经被分成了实部和虚部,后边的处理建立在这两路信号的基础上。实部、虚部信号分别经过平方根升余弦滤波器,再加入高斯白噪声,然后通过匹配滤波器(平方根升余弦滤波器)。最后经过采样,判决,得到0、1信号,
3、同原信号进行比较,给出16QAM数字系统的误码。结构框图图1待构建系统的框图系统实现随机信号的生成利用Matlab中自带的函数randsrc来产生0、1等概分布的随机信号。源代码如下所示:%=定义待仿真序列的维数 Nglobal NN=320;%=定义产生1的概率为 pglobal pp=0.5;%=%首先产生随机二进制序列source=randsrc(1,N,1,0;p,1-p);0、1等概分布的随机信号如图2所示。图20、1等概分布的随机信号波形图星座图映射将等概分布的0、1信号映射到16QAM星座图上。每四个bit构成一个码子,具体实现的方法是,将输入的信号进行串并转换分成两路,分别叫做
4、I路和Q路。再把每一路的信号分别按照两位格雷码的规则进行映射,这样实际上最终得到了四位格雷码。为了清楚说明,参看表1:表1两位格雷码的映射规律两位0、1码映射后(按格雷码)0 0-30 1-11 111 03源代码如下所示:function y1,y2=Qam_modulation(x)%QAM_modulation%=%对产生的二进制序列进行QAM调制 %=首先进行串并转换,将原二进制序列转换成两路信号N=length(x);a=1:2:N;y1=x(a);y2=x(a+1); %=分别对两路信号进行QPSK调制 %=对两路信号分别进行24电平变换a=1:2:N/2;temp1=y1(a);
5、temp2=y1(a+1);y11=temp1*2+temp2;temp1=y2(a);temp2=y2(a+1);y22=temp1*2+temp2; %=对两路信号分别进行相位调制a=1:N/4;y1=(y11*2-1-4)*1.*cos(2*pi*a);y2=(y22*2-1-4)*1.*cos(2*pi*a);%=按照格雷码的规则进行映射y1(find(y11=0)=-3;y1(find(y11=1)=-1;y1(find(y11=3)=1;y1(find(y11=2)=3;y2(find(y22=0)=-3;y2(find(y22=1)=-1;y2(find(y22=3)=1;y2(
6、find(y22=2)=3;得到的星座图如图3所示,图上注明了每一个点对应的01序列。图316QAM星座图从上边的星座图上可以清楚的看到,任意相邻的两个点之间它们对应的4个bit中只有一个有差别,也就是格雷码的特点。而采用格雷码主要目的是当信噪比较大时,也就是系统的误码率比较低的情况下,当出现一个符号错误的情况下,往往只是这个符号中的一个bit位出现了误码,因此这个情况下误码率和误bit率是4:1,这一特性在后边的误码率计算的过程中会有应用。插值为了能够模拟高斯白噪声的宽频谱特性,以及为了能够显示波形生成器(平方根升余弦滤波器)的效果,所以在原始信号中间添加一些0点。具体实现是分别在信号的I路
7、和Q路中,任意相邻的两个码字之间添加7个0。源代码如下所示:function y=insert_value(x,ratio)%=x是待插值的序列,ratio是插值的比例。%两路信号进行插值首先产生一个长度等于ratio倍原信号长度的零向量y=zeros(1,ratio*length(x);再把原信号放在对应的位置a=1:ratio:length(y);y(a)=x;对I路和Q路信号进行插值后的波形图如图4所示。图4经过插值后的两路信号波形图波形成形(平方根升余弦滤波器)为了避免相邻传输信号之间的串扰,多元符号需要有合适的信号波形。图1中的方波是在本地数字信号处理时常见的波形,但在实际传输时这种
8、方波并不合适。根据奈奎斯特第一准则,在实际通信系统中一般均使接收波形为升余弦滚降信号。这一过程由发送端的基带成形滤波器和接收端的匹配滤波器两个环节共同实现,因此每个环节均为平方根升余弦滚降滤波,两个环节合成就实现了一个升余弦滚降滤波。实现平方根升余弦滚降信号的过程称为“波形成形”,通过采用合适的滤波器对多元码流进行滤波实现,由于生成的是基带信号,因此这一过程又称“基带成形滤波”。平方根升余弦滤波器的冲激响应基带平方根升余弦滤波器具有以下定义的理论函数 其中:是奈奎斯特平率,是滚降系数。下面给出平方根升余弦滤波器的冲激响应曲线,如图5所示。图5平方根升余弦滤波器的冲激响应曲线从上图上不难看出来,
9、平方根升余弦滤波器的冲激响应很显然的引入了符号间干扰(ISI)即它的冲激响应在相邻的抽样点上的值并不象升余弦滤波器那样恒为0。然而造成这一后果的原因在于,当我们引入平方根升余弦滤波器的时候,就是认为整个信道,也就是说,包括信号发送端的滤波器和信号接收端的滤波器,总体的效果是避免了符号间干扰(ISI),所以,单独看这每一个滤波器,勿庸置疑,它们都是存在着符号间干扰(ISI)的。经过平方根升余弦滤波器后的信号I路和Q路信号经过平方根升余弦滤波器后,成形后的波形如图6所示。源代码如下%x1、x2是两路输入信号,fd是信号信息位的频率,fs是信号的采样频率function y1,y2=rise_cos
10、(x1,x2,fd,fs)%生成平方根升余弦滤波器yf, tf=rcosine(fd,fs, fir/sqrt);%对两路信号进行滤波y1, to1=rcosflt(x1, fd,fs,filter/Fs, yf);y2, to2=rcosflt(x2, fd,fs,filter/Fs, yf);10倍载波调制将通过成形滤波器后的信号调制到10倍于原频率的载波上。由于在仿真的过程中,只图6通过平方根升余弦滤波器后的两路信号能用离散的点来模拟连续信号,因而为了能够显示出一个正弦曲线,至少需要在一个正弦周期内采样到4个以上的点,这里,我们在一个周期内采10个点。假设最初的0、1信号的频率是1Hz,
11、那么I路和Q路符号传输的频率是1/4Hz,而10倍频是建立在I路或Q路符号频率的基础上,也就是说,载频的频率是2.5Hz。按照前面的假设,那么相邻两个采样点之间的时间间隔是0.04s。而一个完整周期内的正弦波形的幅值是相同的,都是对应的这个周期内的I路和Q路线性叠加,调制后的信号为, 其中,为载波频率。源代码如下%载波调制%x1,x2代表两路输入信号,f是输入信号的频率,hf是载波的频率function t,y=modulate_to_high(x1,x2,f,hf)%产生两个中间变量,用来存储插值后的输入信号yo1=zeros(1,length(x1)*hf/f*10);yo2=zeros(
12、1,length(x2)*hf/f*10);n=1:length(yo1);%对输入信号分别进行插值,相邻的两个点之间加入9个点,且这9个点的值同第0个点的值相同yo1(n)=x1(floor(n-1)/(hf/f*10)+1);yo2(n)=x1(floor(n-1)/(hf/f*10)+1);%生成输出输出信号的时间向量t=(1:length(yo1)/hf*f/10;%生成载波调制信号y=yo1.*cos(2*pi*hf*t)-yo2.*sin(2*pi*hf*t);得到的调制到载频的信号波形如图7和图8所示,其中图7主要为了显示一个脉宽周期内的调制信号波形,图8则是显示载波信号的整体情
13、况。图7 载波调制信号展开图图8 载波调制信号整体图加入高斯白噪声将通过成形滤波器后的信号送到具有高斯白噪声特征的加性信道中,相当于在原信号上加入高斯白噪声。由于高斯白噪声加在了通过插值和滤波后的点上,因此在计算信噪比的时候存在一个信噪比换算的问题。当我们把仿真得到的误码率曲线同理论的误码率曲线相比较的时候,两者的信噪比的定义必须是一致的。一致包括两个方面,一是二者均为每bit符号上的信号功率和噪声功率的比值,另一个是信号的功率是指那些信息点上的平均功率,噪声也是指信息点上所对应的噪声的平均功率,但由于噪声的功率谱密度是一个定值,所以噪声的平均功率实际上就是噪声的功率谱密度。对于第二点,由于所
14、有信号的平均功率和信息点上的信号的平均功率不同,所以需要在加入高斯噪声的时候进行纠正,具体的公式推导如下。设是最后理论计算中的信噪比,是加入高斯白噪声后的整体信号(包括插值后的点)的信噪比,是每bit信息点的平均能量,是每bit信号的平均能量,是噪声的平均功率,现在需要推导出与的关系。 即两个信噪比的比值就是平均能量的比值。源程序如下%对输入的两路信号加高斯白噪声,返回处理后的两路信号,信息点等效bit信噪比为snr的值function y1,y2=generate_noise(x1,x2,snr)%snr1代表snr对应的符号信噪比snr1=snr+10*log10(4); %算出所有信号的
15、平均功率ss=var(x1+i*x2,1); %加入高斯白噪声y=awgn(x1+j*x2,snr1+10*log10(ss/10),measured);y1=real(y);y2=imag(y);给出加入高斯白噪声的两路信号波形。图9加入高斯白噪声的两路信号波形匹配滤波器在数字传输系统中,滤波器是不可缺少的。滤波器的一个作用是使基带信号频谱成形,例如为了满足奈奎斯特第一准则,基带信号频谱通常采用升余弦滚降形状,这一点在波形成形部分已经有了较详细的介绍。而滤波器的另一个重要作用是在接收端限制白噪声,将信号频带外的噪声滤掉,减少它对信号正确判决的影响。为了能够使滤波器输出信噪比在信息抽样时刻的信
16、噪比最大,所以引入了匹配滤波器。假设匹配滤波器的频率传递函数为,时域冲激响应为。滤波器输入为发送信号与噪声的叠加,即这里,为信号,它的频谱函数为。为白色高斯噪声,其双边功率谱密度为。滤波器的输出为其中信号部分为在时刻输出的信号抽样值为滤波器输出噪声的功率谱密度为平均功率为因此,时刻的输出信噪比为匹配滤波器的传递函数使达到最大。在这里利用Schwartz不等式求解,最后得到传递函数的表达式为即传递函数与信号频谱的复共轭成正比。传递函数的时域响应为匹配滤波器的最大输出信噪比为其中,为观察间隔内的信号能量。具体到这个通信系统中,由于信号的时域响应为其中是平方根升余弦滤波器的冲激响应。结合上式可以得到
17、匹配滤波器实质上是一个具有与发射端的基带成形滤波器相同的滚降系数的平方根升余弦滤波器。接收端的“匹配滤波”是针对发射端的成形滤波而言,与成形滤波相匹配实现了数字通信系统的最佳接收。它与基带成形滤波器共同构成了一个奈奎斯特滤波器。源代码同平方根升余弦滤波器的源代码相同。信号通过匹配滤波器后的波形如图10所示图10经过匹配滤波器后的波形从上边的波形可以看出来,经过匹配滤波器后的信号明显很平滑,这正好反映了低通滤波器的特性,滤掉了高频分量,为了明显的反映这一特点,将一段高斯白噪声经过匹配滤波器。波形对比如图11所示。图11高斯白噪声经过匹配滤波器后的波形经过仿真,发现高斯白噪声经过一个平方根滤波器后
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB 通信 系统 仿真 数字通信 大作 设计