通信系统仿真资料2_第1页
通信系统仿真资料2_第2页
通信系统仿真资料2_第3页
通信系统仿真资料2_第4页
通信系统仿真资料2_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

通信系统仿真课程设计报告题目:基于Matlab的通信系统仿真班级:姓名:学号:指导老师:一、系统综述利用Matlab仿真软件,完成如图所示的一个基本的数字通信系统。信号源产生0、1等概分布的随机信号,映射到16QAM的星座图上,同时一路信号已经被分成了实部和虚部,后边的处理建立在这两路信号的基础上。实部、虚部信号分别经过平方根升余弦滤波器,再加入高斯白噪声,然后通过匹配滤波器(平方根升余弦滤波器)。最后经过采样,判决,得到0、1信号,同原信号进行比较,给出16QAM数字系统的误码。系统框图二、系统实现1、随机信号的产生利用Matlab中自带的函数randint来产生n*k随机二进制信号。源程序如下:M=16;k=log2(M);%每个符号的比特数n=6000;%输入码元的长度fd=1;fc=4*fd;fs=4*fc;xEnc=randint(n*k,1);%产生长度为n*k的随机二进制信号plot(xEnc);2、星座图映射将随机二进制信号映射到16QAM星座图上。每四个bit构成一个码子,具体实现的方法是,将输入的信号进行串并转换分成两路,分别叫做I路和Q路。再把每一路的信号分别按照两位格雷码的规则进行映射,这样实际上最终得到了四位格雷码。为了清楚说明,参看表1。表1 两位格雷码的映射规律两位0、1码映射后(按格雷码)00-301-111110316QAM调制模块程序如下:function[gPsk,map]=qam_modu(M)gPsk=bitxor(0:sqrt(M)-1,floor((0:sqrt(M)-1)/2))';%转换成格雷码%产生16QAM的星座对应点的十进制数值map=repmat(gPsk,1,sqrt(M))+repmat(sqrt(M)*gPsk',sqrt(M),1);%remat(A,m,n)表示复制m行A,n列Amap=map(:);end星座图映射模块程序如下(系统框图中图1的程序):functionxmod=plot_astrology(M,k,mapping,xEnc,d)t1=qammod(mapping,M);%16-QAM调制,将十进制数化为复数if(d==1)scatterplot(t1);%星座图(图1)title('16QAM调制后的星座图(图1)')gridonholdon;%加入每个点的对应4位二进制码forjj=1:length(t1)text(real(t1(jj))-0.5,imag(t1(jj))+0.5,dec2base(jj-1,2,4));endset(gca,'yTick',(-(k+1):2:k+1),'xTick',(-(k+1):2:k+1),...'XLim',[-(k+1)k+1],'YLim',[-(k+1)k+1],'Box','on',...'YGrid','on','XGrid','on');endxlabel('In-Phase');holdoff;set(gcf,'Color','w')xSym=reshape(xEnc,k,numel(xEnc)/k).';%将一个长信号变化为每4个一组,分为4个数的矩阵,用于编码xSym=bi2de(xSym,'left-msb');%将4位二进制数化为10进制数xSym=mapping(xSym+1);%映射到星座图上对应该的点xmod=qammod(xSym,M);%转化为复数形式end得到的星座图如图1所示,图上注明了每一个点对应的01序列。图116QAM调制后的星座图从上边的星座图上可以清楚的看到,任意相邻的两个点之间它们对应的4个bit中只有一个有差别,也就是格雷码的特点。而采用格雷码主要目的是当信噪比较大时,也就是系统的误码率比较低的情况下,当出现一个符号错误的情况下,往往只是这个符号中的一个bit位出现了误码,因此这个情况下误码率和误bit率是4:1,这一特性在后边的误码率计算的过程中会有应用。3、波形成型(平方根升余弦滤波器)为了避免相邻传输信号之间的串扰,多元符号需要有合适的信号波形。方波是在本地数字信号处理时常见的波形,但在实际传输时这种方波并不合适。根据奈奎斯特第一准则,在实际通信系统中一般均使接收波形为升余弦滚降信号。这一过程由发送端的基带成形滤波器和接收端的匹配滤波器两个环节共同实现,因此每个环节均为平方根升余弦滚降滤波,两个环节合成就实现了一个升余弦滚降滤波。实现平方根升余弦滚降信号的过程称为“波形成形”,通过采用合适的滤波器对多元码流进行滤波实现,由于生成的是基带信号,因此这一过程又称“基带成形滤波”。平方根升余弦滤波器的冲激响应基带平方根升余弦滤波器具有以下定义的理论函数其中:是奈奎斯特平率,是滚降系数。平方根升余弦滤波器的冲激响应很显然的引入了符号间干扰(ISI)即它的冲激响应在相邻的抽样点上的值并不象升余弦滤波器那样恒为0。然而造成这一后果的原因在于,当我们引入平方根升余弦滤波器的时候,就是认为整个信道,也就是说,包括信号发送端的滤波器和信号接收端的滤波器,总体的效果是避免了符号间干扰(ISI),所以,单独看这每一个滤波器,勿庸置疑,它们都是存在着符号间干扰(ISI)的。I路和Q路信号经过平方根升余弦滤波器后,成形后的波形如图2所。低通滤波器输出波形实部、虚部程序如下(系统框图中图2的程序):functionytx=plot_2waybf(rrcFilter,yModUp,delay,overSamp,d)ytx=conv(rrcFilter,yModUp);if(d==1)figure;subplot(2,1,1);%通过滤波器前后信号的实部图stem(real(yModUp(1:100)));holdon;plot(real(ytx(1+delay*overSamp:100+delay*overSamp)),'r-');xlabel('Samples');ylabel('Amplitude');title('通过RRC前后信号的实部图(图2)');legend('通过RRC前','通过RRC后')subplot(2,1,2);%通过滤波器前后信号的虚部图stem(imag(yModUp(1:100)));holdon;plot(imag(ytx(1+delay*overSamp:100+delay*overSamp)),'r-');xlabel('Samples');ylabel('Amplitude');title('通过RRC前后信号的虚部图');legend('通过RRC前','通过RRC后')holdoff;set(gcf,'Color','w')endend图2 通过平方根升余弦滤波器后的两路信号4、加入高斯白噪声将通过成形滤波器后的信号送到具有高斯白噪声特征的加性信道中,相当于在原信号上加入高斯白噪声。由于高斯白噪声加在了通过插值和滤波后的点上,因此在计算信噪比的时候存在一个信噪比换算的问题。当我们把仿真得到的误码率曲线同理论的误码率曲线相比较的时候,两者的信噪比的定义必须是一致的。一致包括两个方面,一是二者均为每bit符号上的信号功率和噪声功率的比值,另一个是信号的功率是指那些信息点上的平均功率,噪声也是指信息点上所对应的噪声的平均功率,但由于噪声的功率谱密度是一个定值,所以噪声的平均功率实际上就是噪声的功率谱密度。对于第二点,由于所有信号的平均功率和信息点上的信号的平均功率不同,所以需要在加入高斯噪声的时候进行纠正,具体的公式推导如下。设是最后理论计算中的信噪比,是加入高斯白噪声后的整体信号(包括插值后的点)的信噪比,是每bit信息点的平均能量,是每bit信号的平均能量,是噪声的平均功率,现在需要推导出与的关系。即两个信噪比的比值就是平均能量的比值。5、匹配滤波器在数字传输系统中,滤波器是不可缺少的。滤波器的一个作用是使基带信号频谱成形,例如为了满足奈奎斯特第一准则,基带信号频谱通常采用升余弦滚降形状,这一点在波形成形部分已经有了较详细的介绍。而滤波器的另一个重要作用是在接收端限制白噪声,将信号频带外的噪声滤掉,减少它对信号正确判决的影响。为了能够使滤波器输出信噪比在信息抽样时刻的信噪比最大,所以引入了匹配滤波器。假设匹配滤波器的频率传递函数为,时域冲激响应为。滤波器输入为发送信号与噪声的叠加,即这里,为信号,它的频谱函数为。为白色高斯噪声,其双边功率谱密度为。滤波器的输出为其中信号部分为在时刻输出的信号抽样值为滤波器输出噪声的功率谱密度为平均功率为因此,时刻的输出信噪比为匹配滤波器的传递函数使达到最大。在这里利用Schwartz不等式求解,最后得到传递函数的表达式为即传递函数与信号频谱的复共轭成正比。传递函数的时域响应为匹配滤波器的最大输出信噪比为其中,为观察间隔内的信号能量。具体到这个通信系统中,由于信号的时域响应为其中是平方根升余弦滤波器的冲激响应。结合上式可以得到匹配滤波器实质上是一个具有与发射端的基带成形滤波器相同的滚降系数的平方根升余弦滤波器。接收端的“匹配滤波”是针对发射端的成形滤波而言,与成形滤波相匹配实现了数字通信系统的最佳接收。它与基带成形滤波器共同构成了一个奈奎斯特滤波器。匹配滤波器输出波形图3所示。匹配滤波器输出波形实部、虚部程序如下(系统框图中图3的程序):functiond=plot_2wayaft(R,yRx,delay,overSamp,d)if(d==1)figure;subplot(2,1,1);plot(real(R(5+delay*overSamp:delay*overSamp+84)),'r.-');holdon;plot(real(yRx(5+2*delay*overSamp:2*delay*overSamp+84)),'bo-');title('通过RRC前后波形的实部图(图3)');xlabel('Samples');ylabel('Amplitude');gridon;axis([080-44]);legend('通过RRC前','通过RRC后');subplot(2,1,2);plot(imag(R(5+delay*overSamp:delay*overSamp+84)),'r.-');holdon;plot(imag(yRx(5+2*delay*overSamp:2*delay*overSamp+84)),'bo-');title('通过RRC前后波形的虚部图');xlabel('Samples');ylabel('Amplitude');gridon;axis([080-44]);legend('通过RRC前','通过RRC后');endend图3匹配滤波器输出波形实部、虚部图6、采样由于从匹配滤波器出来的信号的点数8倍于原来信息的点数,为了恢复出原信号,所以需要对该信号进行采样。从匹配滤波器出来时,首先要剔除卷积过程中冗余的点,接着抽取现在信号中的第1个,第9个,……,第8×k+1个点。经匹配滤波并采样后的星座图如图4。匹配滤波器输出波形星座图程序如下(系统框图中图4的程序):functiond=plot_astrologyN(yRxDown,d)if(d==1)scatterplot(yRxDown.');%星座图(图4)title('匹配滤波输出波形星座图(图4)')holdon;endend图4匹配滤波器输出波形星座图7、判决解调经过前边的匹配滤波器解调或者称为相关解调产生了一组向量,在这里就是一个一维的向量,根据最大后验概率(MAP)准则(由于各个信号的先验概率相等,所以页可以认为是最大似然准则),得到了最小距离检测。具体在本仿真系统中,判断为各个信号的门限如表2所示。判决后得到的数据再按照格雷码的规则还原成0、1信号,最终将两路0、1信号合成一路0、1信号,用来同最初的信号一起决定误码率。表2 判决电平对应表判决前的信号的幅度对应的判决后的幅度-3-1138、误码率曲线(BER-SNR曲线)将解调后的数据同原始数据相比较,得到该信噪比下所对应的误码率。为了得到误码率曲线,需要得到在不同的信噪比下的误码率。在仿真的过程中,假设要得到一个值得信赖的误码率数据点,至少需要在最后的数据比较的过程中得到100个错误,那么参与仿真的数据点就应该是误码率的倒数乘以100,为了提高程序的效率,首先计算出某个信噪比对应的理论的误码率,然后估计出待仿真的点数。对于16QAM信号星座图等效为在两个正交载波上的两个PAM信号,其中每一个具有4个信号点。因为在解调器中可以将相位正交的两个信号分量完全分开,所以QAM的错误概率可以由PAM的错误概率求得。16QAM系统的正确判决概率是式中,是4元PAM的错误概率,在等效QAM系统的每一个正交信号中,4元PAM具有一半的平均功率,通过适当的修改4元PAM的错误概率,可以得到其中是平均符号SNR。因此,16QAM的错误概率是误码率曲线图(BER-SNR曲线图)如图5。从图上可以看到当信噪比小的情况下,仿真曲线和理论曲线差距略大,而随着信噪比的增大,仿真曲线越来越逼进理论曲线,在SNR=4.5dB处,仿真曲线与理论曲线相交,继续增大信噪比,仿真曲线和理论曲线差距逐渐拉大,且始终高于理论曲线。简单分析不难看出,由于理论误码率曲线是建立在误符号率除以4的基础上的,而这一条件的前提是出现误符号的时候,一个符号中只有一个bit位发生了错误,这表明误码率比较低,也就是说明信噪比比较大。所以,当信噪比比较小的时候,理论计算的误码率的值要小于仿真得到的值。理论和实际BER比较图程序如下(系统框图中图5的程序):function[numErrorsSymnocode,bitErrorSymnocode,bertheory,EsNo]=BER(ebno)M=16;k=log2(M);%每个符号的比特数n=5000;%输入码元的长度fd=1;fc=4*fd;fs=4*fc;xEnc=randint(n*k,1);%产生长度为n*k的随机二进制信号[grayPsk,mapping]=qam_modu(M);%16qam调制后星座图xMod=plot_astrology(M,k,mapping,xEnc,0);%平方根升余弦滤波器参数定义filtOrder=32;overSamp=4;delay=filtOrder/(overSamp*2);rollOff=0.25;rrcFilter=rcosine(fd,overSamp*fd,'fir/sqrt',rollOff,delay);%产生平方根升余弦滤波器yModUp=upsample(xMod,overSamp);%增加信号的采样点,提高采样率%信号在通过平方根升余弦滤波器前后图形yTx=plot_2waybf(rrcFilter,yModUp,delay,overSamp,0);yTx1=interp(yTx,fs/fc);%内插%%加载波yTxrr=real(yTx1);yTxii=imag(yTx1);t=0:length(yTxrr)-1;Lt=length(t);yrc=yTxrr(1:Lt)'.*cos(2*pi*fc/fs*t);yic=yTxii(1:Lt)'.*sin(2*pi*fc/fs*t);yo=yrc+yic;EsNo=ebno+10*log10(k)-10*log10(overSamp);%未编码信号的信噪比,亦即SNRynoisy=awgn(yo,0.8*EsNo,'measured');%AGWN信道%%去载波rr=ynoisy.*cos(2*pi*fc/fs*t);ri=ynoisy.*sin(2*pi*fc/fs*t);R=rr+1i.*ri;b=fir1(32,0.5);R=filter(b,1,R);R=2.*downsample(R,fs/fc,0);yRx=conv(rrcFilter,R);%用平方根升余弦滤波器yRxDown1=downsample(yRx,overSamp,0);%降低采样速率yRxDown=yRxDown1(2+delay*2:length(yRxDown1)-delay*2+1);%去掉冗余%匹配滤波后星座图plot_astrologyN(yRxDown,0);%匹配滤波器输出波形实部虚部图plot_2wayaft(R,yRx,delay,overSamp,0)yRxDown=yRxDown.';ySym=qamdemod(yRxDown,M);%16QAM解调[dummydemapping]=sort(mapping);demapping=demapping-1;ySym=demapping(ySym+1);%将解调信号变为长为n*k的二进制序列yBits=de2bi(ySym,'left-msb');yBits=reshape(yBits.',numel(yBits),1);[numErrorsSymnocode,bitErrorSymnocode]=biterr(xEnc,yBits);%计算在没有信道下的误码率bertheory=berawgn(EsNo,'qam',M);%计算理论值end图5误码率曲线图三、整体程序构架以上各模块的简述中已给出相应模块的功能函数,整个系统主程序架构如下:functionmainebno=1:0.1:10;EbNo=10;M=16;k=log2(M);%每个符号的比特数n=6000;%输入码元的长度fd=1;fc=4*fd;fs=4*fc;xEnc=randint(n*k,1);%产生长度为n*k的随机二进制信号[grayPsk,mapping]=qam_modu(M);%16qam调制后星座图d=1;xMod=plot_astrology(M,k,mapping,xEnc,d);%平方根升余弦滤波器参数定义filtOrder=32;overSamp=4;delay=filtOrder/(overSamp*2);rollOff=0.25;rrcFilter=rcosine(fd,overSamp*fd,'fir/sqrt',rollOff,delay);%产生平方根升余弦滤波器yModUp=upsample(xMod,overSamp);%增加信号的采样点,提高采样率%信号在通过平方根升余弦滤波器前后图形yTx=plot_2waybf(rrcFilter,yModUp,delay,overSamp,d);yTx1=interp(yTx,fs/fc);%内插

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论