欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    通信原理MATLAB仿真(共19页).doc

    • 资源ID:14150534       资源大小:2.63MB        全文页数:19页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    通信原理MATLAB仿真(共19页).doc

    精选优质文档-倾情为你奉上小 学 期 报 告 实习题目 通信原理Matlab仿真 专 业 通信与信息工程班 级 学号 学生姓名 实习成绩 指导教师 2010年通信原理Matlab仿真目录一、实验目的-2二、实验题目-2三、正弦信号波形及频谱仿真-2(一)通信原理知识-2(二)仿真原理及思路-2 (三)程序流程图- 3(四)仿真程序及运行结果-3(五)实验结果分析-5四、单极性归零波形及其功率谱密度仿真-5(一)通信原理知识-6(二)仿真原理及思路- -6(三)程序流程图-6 (四)仿真程序及运行结果-6(五)实验结果分析- -6五、升余弦滚降波形的眼图及功率谱密度仿真-8(一)通信原理知识-8(二)仿真原理及思路- -9(三)程序流程图- -9(四)仿真程序及运行结果-10(五)实验结果分析-11六、PCM编码及解码仿真-12(一)通信原理知识- -12(二)仿真原理及思路- - 13(三)程序流程图- -14(四)仿真程序及运行结果-15(五)实验结果分析-18七、实验心得- -18 一、实验目的1、学会MATLAB软件的最基本运用。MATLAB是一种很实用的数学软件,它易学易用。MATLAB对于许多的通信仿真类问题来说是很合适的。2、了解计算机仿真的基本原理及方法,知道怎样通过仿真的方法去研究通信问题。3、加深对通信原理课有关内容的理解。二实验要求1. 正弦信号波形及频谱的仿真;2. 单极性归零(RZ)波形及其功率谱,占空比为50%的仿真;3. 升余弦滚降波形的眼图及其功率谱的仿真。滚降系数为0.5。发送码取值为0、2;4. PCM编码及解码的仿真。三正弦信号波形及频谱仿真(一)通信原理知识(二)仿真原理及思路MATLAB中关于傅里叶变换的有关函数,利用MATLAB提供的函数编写两个函数t2f及f2t。t2f的功能是作傅氏变换,f2t的功能是作傅氏反变换,它们的引用格式分别为X=t2f(x)及x=f2t(X),其中x是时域信号截短并采样所得的取样值矢量,X是对的傅氏变换截短并采样所得的取样值矢量。(三)程序流程图正弦信号傅里叶变换傅里叶逆变换作图耳机插孔PROBEEZ_PROBE座(四)仿真程序及运行结果主程序:sinx.mglobal dt df N t f T %全局变量close allk=input('取样点数=2k,k=10');if k=,k=10;endN=2k; %采样点数 dt=0.01; %时域采样间隔 df=1/(N*dt);%频域采样间隔 T=N*dt; %截短时间 Bs=N*df/2; %系统带宽 t=linspace(-T/2,T/2,N); f=linspace(-Bs,Bs,N);f0=1;s=cos(2/3*pi*f0*t); S=t2f(s); a=f2t(S); figure(1) set(1,'position',10,50,500,200)%设定窗口位置及大小 figure(2) set(2,'position',350,50,500,200);%设定窗口位置及大小 figure(1) as=abs(S); %求模 plot(f,as,'r-') grid; axis(-2*f0,+2*f0,min(as),max(as); xlabel('f(kHZ)'); ylabel('S(f)(V/kHZ)'); figure(2) plot(t,a,'b-') grid axis(-4,+4,-1.5,1.5'); xlabel('t(ms)'); ylabel('s(t)(V)'); 傅式变换程序:t2f.mfunction X=t2f(x)global dt df N t f T%X=t2f(x)%x为时域的取样值矢量%X为x的傅氏变换%X与x长度相同,并为2的整幂。%本函数需要一个全局变量dt(时域取样间隔)H=fft(x);X=H(N/2+1:N),H(1:N/2).*dt;End傅式反变换程序:f2t.mfunction x=f2t(X)global dt df t f T N%x=f2t(X)%x为时域的取样值矢量%X为x的傅氏变换%X与x长度相同并为2的整幂%本函数需要一个全局变量dt(时域取样间隔)X=X(N/2+1:N),X(1:N/2);x=ifft(X)/dt;%x=tmp(N/2+1:N),tmp(1:N/2);End运行结果: (五)实验结果分析打开MATLAB运行程序sinx.m后窗口出现:取样点数=2k,k=10。输入10后,画出正弦信号波形图以及频谱图。通过傅里叶变换语句S=t2f(s)及傅里叶反变换语句a=f2t(S),得到正弦信号频谱并作图。四单极性归零(RZ)波形及其功率谱仿真(一)通信原理知识用矩形不归零脉冲作为发射波形(载波):2PAM信号波形的幅度:占空比:(二)仿真原理及思路 采用归零(RZ)矩形脉冲波形的数字信号,可以用简单的方法信号矢量s。设a是码元矢量,N是总取样点数,M是总码元数,L是每个码元内的点数, Rt是要求的占空比,dt是仿真系统的时域采样间隔,则RZ信号的产生方法是s=zeros(1,N);for ii=1:Rt/dt, s(ii+0:M-1*L)=a;,end任意信号的功率谱的定义是,其中是截短后的傅氏变换,是的能量谱,是在截短时间内的功率谱。对于仿真系统,若x是时域取样值矢量,X是对应的傅氏变换,那么x的功率谱便为矢量P=(X.*conj(X)/T。(三)程序流程图产生M个取值0,1等概的随机码产生占空比为0.5的单极性归波形单极性归零码的功率谱密度作图(四)仿真程序及运行结果程序如下:rz.mglobal dt t df N close all k=input('取样点数=2k,k=14'); if k=,k=14;end N=2k;%采样点数 L=64;%每码元的采样点数 M=N/L;%码元数 Rb=2;%码速率为2Mb/s Ts=1/Rb;%码元间隔 dt=Ts/L;%时域采样间隔 Rt=0.5; %占空比 df=1/(N*dt); %频域采样间隔 T=N*dt; %截短时间 t=linspace(-T/2,T/2,N);%时域横坐标 Bs=N*df/2;%系统带宽 f=linspace(-Bs,Bs,N);%频域横坐标 EP=zeros(1,N); for jj=1:100 a=round(rand(1,M);%产生M个取值0,1等概的随机码 s=zeros(1,N);%产生一个N个元素的零序列 for ii=1:Rt*Ts/dt s(ii+0:M-1*L)=a;%产生单极性归零码 end Q=t2f(s);%付氏变换 P=Q.*conj(Q)/T; %P为单极性归零码的功率 EP=(EP*(ii-1)+P)/ii; %累计平均 aa=30+10*log10(EP+eps);%加eps以避免除以零,标量eps相当于无穷小。end figure(1) set(1,'position',10,50,500,200) %设定窗口位置及大小 figure(2) set(2,'position',350,50,500,200)%设定窗口位置及大小 figure(1) plot(f,aa,'r') xlabel('f(MHZ)') ylabel('Ps(f)(MHZ)') axis(-15,+15,-50,50) grid figure(2) plot(t,s,'b')xlabel('t(ms)') ylabel('s(t)(V)') axis(-10,10,-0.5,1.5) grid运行结果: (五)实验结果分析打开MATLAB运行程序rz.m后窗口出现:取样点数=2k,k=14。输入14后,画出占空比为50%的单极性归零(RZ)码的波形图及其功率谱图。本题通过rand(1,M)函数产生M个取值0,1等概的随机码,然后根据0.5占空比,生成单极性归零码。最后对其傅里叶变换,用语句P=Q.*conj(Q)/T生成单极性归零码的功率。五升余弦滚降波形的眼图及功率谱密度仿真 (一)通信原理知识接收二进制波形时,在一个码元周期Ts内只能看到一只眼睛;若接收的是M进制波形,则在一个码元周期内可以看到纵向显示的(M-1)只眼睛;另外,若扫描周期为nTs时,可以看到并排的n只眼睛。(二)仿真原理及思路升余弦滚降信号的基本脉冲波形为:。用和产生升余弦滚降信号。通过运行此程序,我们可以观察到不同滚降系数时升余弦滚降信号的眼图及功率谱。在通信原理的模型中,加入到升余弦滚降滤波器输入端的信号是冲激序列,而实际当中原始的数字信号一般是NRZ(不归零)信号,为了使升余弦滚降滤波器的输出仍为我们期望得到的信号,此时需要在滚降滤波器之前加入一个网孔均衡滤波器(如下图所示)眼图是数字信号在示波器上重复扫描得到的显示图形。若示波器的扫描范围是Na个码元,那么画眼图的方法是:tt=0:dt:Na*L*dt;hold onfor ii=1:Na*L:N-N*Lplot(tt,s(ii+1:Na*L);end(三)程序流程图滚将系数为0.5的升余弦脉冲波形升余弦信号的功率谱作图升余弦信号的眼图(四)仿真程序及运行结果程序如下:scosx.mglobal dt t df N close all N=214; %采样点数 L=32; %每码元的采样点数 M=N/L %码元数 Rb=2; %码速率是2Mb/s Ts=1/Rb; %码元间隔 dt=Ts/L; %时域采样间隔 df=1/(N*dt) %频域采样间隔 T=N*dt %截短时间 Bs=N*df/2 %系统带宽 Na=4; %示波器扫描宽度为4个码元 alpha=input('滚降系数=0.5'); if alpha=,alpha=0.5;endt=-T/2+dt/2:dt:T/2;%时域横坐标 f=-Bs+df/2:df:Bs; %频域横坐标 g1=sin(pi*t/Ts)./(pi*t/Ts); g2=cos(alpha*pi*t/Ts)./(1-(2*alpha*t/Ts).2); g=g1.*g2*2; %升余弦脉冲波形 G=t2f(g); figure(1) set(1,'position',10,50,500,200) %设定窗口位置及大小 figure(2)set(2,'position',350,50,500,200)%设定窗口位置及大小 hold on grid xlabel('t in us') ylabel('s(t) in V') EP=zeros(size(f)+eps; for ii=1:100 a=sign(randn(1,M); imp=zeros(1,N); %产生冲激序列 imp(L/2:L:N)=a/dt; S=t2f(imp).*G; %升余弦信号的傅氏变换 s=f2t(t2f(imp).*G); %升余弦信号的时域波形 s=real(s); P=S.*conj(S)/T; %升余弦信号的功率谱 EP=(EP*(ii-1)+P+eps)/ii; figure(1) plot(f,30+10*log10(EP),'r'); grid axis(-3,+3,-200,50) xlabel('f (MHz)') ylabel('Ps(f) (dBm/MHz)') figure(2) tt=0:dt:Na*L*dt; for jj=1:Na*L:N-Na*L plot(tt,s(jj:jj+Na*L); endend运行结果: (五)实验结果分析打开MATLAB运行程序scosx.m后窗口出现:M =512,df =0.0039,T =256,Bs =32滚降系数=0.5。输入0.5后,画出升余弦滚降系数为0.5的波形的眼图及其功率谱密度图。升余弦滚降信号的基本脉冲波形为:。本题用和产生滚降系数为0.5的升余弦滚降信号。然后对其进行傅里叶变换,得到功率谱密度与眼图。六PCM编码及解码仿真(一)通信原理知识PCM采用A律编码规则:A律压扩特性曲线在(-1,+1)上,这种压扩特性可用13折线逼近。注意:本来是分成了16段,但0附近的4个线段斜率相同,可视为1条对量化后的有限个取值进行编码,常见的二进制码:自然码,折叠码,格雷码。PCM中使用的是折叠码:用第一位表示量化电平极性(正为1,负为0),后面几位表示信号量化电平绝对值的大小。量化:先用对数A律特性将量化范围分成16个段落(对数量化),在段落内则使用均匀量化(即将每个段落均匀分成16个小段)。编码:每个值用8比特进行量化。将整个量化范围均分成8192等份,正负部分各4096份且相互对称。下面以正极性部分进行说明:段落0(000):032份。段内16小段,每小段2份段落1(001):3264份。段内16小段,每小段2份段落2(010):64128份。段内16小段,每小段4份段落3(011):128256份。段内16小段,每小段8份段落4(100):256512份。段内16小段,每小段16份段落5(101):5121024份。段内16小段,每小段32份段落6(110):10242048份。段内16小段,每小段64份段落7(111):20484096份。段内16小段,每小段128份注意:每小段的量化电平为该小段中点(均匀量化)(二)仿真原理及思路PCM编码原理:在PCM中,对模拟信号进行抽样、量化,将量化的信号电平值转化为对应的二进制码组的过程称为编码,其逆过程称为译码或解码。在PCM中使用的是折叠二进制码。(1)折叠二进制码从理论上看,任何一个可逆的二进制码组均可用于PCM。目前最常见的二进制码组有三类:二进制自然码(NBC)、折叠二进制码组(FBC)、格雷二进制码(RBC)。表3-1列出三种码的编码规律。表3-1 二进制码型电平序号自然二进制码折叠二进制码格雷码012345670 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 10 1 1 10 1 1 00 1 0 10 1 0 00 0 1 10 0 1 00 0 0 10 0 0 00 0 0 00 0 0 10 0 1 10 0 1 00 1 1 00 1 1 10 1 0 10 1 0 0891011121314151 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 11 1 0 01 1 0 11 1 1 11 1 1 01 0 1 01 0 1 11 0 0 11 0 0 0由表3-1可见,如果把16个量化级分成两部分:07的8个量化级对于于负极性样值,815的8个量化级对应于正极性样值。自然二进制码就是一般的十进制正整数的二进制表示。如电平序号13用自然码表示就是 (3.3-3)其中下标表示是二进制数。在折叠码中,左边第一位表示正负号(信号极性),第二位开始至最后一位表示信号幅度。第一位用1表示正,用0表示负。绝对值相同的折叠码,其码组除第一位外都相同,并且相对于零电平(第7电平和第8电平之间)呈对称折叠关系,因此这种码组形象地称为折叠码。PCM编码规则:电话语音信号的频带为3003400Hz,抽样速率为8000Hz,对每个抽样值进行律或者律非均匀量化,在编码时每个样值用8位二进制码表示。这样,每路标准话路的比特率为64kbps。编码时是按照CCITT建议的PCM编码规则进行的。在律13折线编码中,正负方向共16个段落,在每一个段落内有16个均匀分布的量化电平,因此总的量化电平数。编码位数,每个样值用8比特代码来表示,分为三部分。第一位为极性码,用1和0分别表示信号的正、负极性。第二到第四位码为段落码,表示信号绝对值处于那个段落,3位码可表示8个段落,代表了8个段落的起始电平值。上述编码方法是把非线性压缩、均匀量化、编码结合为一体的方法。在上述方法中,虽然各段内的16个量化级是均匀的,但因段落长度不等,故不同段落间的量化间隔是不同的。当输入信号小时,段落小,量化级间隔小;当输入信号大时,段落大,量化级间隔大。第一、二段最短,归一化长度为,再将它等分16段,每一小段长度为,这就是最小的量化级间隔。根据13折线的定义,以最小的量化级间隔为最小计量单位,可以计算出13折线律每个量化段的电平范围、起始电平、段内码对应电平、各段落内量化间隔。具体计算结果如表3-2所示。表3-2 13折线A律有关参数表段落号i=18电平范围段落码段落起始电平量化间隔段内码对应权值()8102420481 1 110246451225612864751210241 1 051232256128643262565121 0 12561612864321651282561 0 0128864321684641280 1 1644321684332640 1 032216842216320 0 1161842110160 0 0018421假设以非均匀量化时的最小量化间隔=1/2048作为均匀量化的量化间隔,那么从13折线的第一段到第八段所包含的均匀量化级数共有2048个均匀量化级,而非均匀量化只有128个量化级。均匀量化需要编11位码,而非均匀量化只要编7位码。通常把按非均匀量化特性的编码称为非线性编码;按均匀量化特性的编码称为线性编码。可见,在保证小信号时的量化间隔相同的条件下,7位非线性编码与11位线性编码等效。(三)程序流程图正弦信号A律PCM编码A律PCM译码作图(四)仿真程序及运行结果主程序:pcm.m%show the pcm encode and decodeclear all;close all;t = 0:0.01:10;x = sin(t);v = max(x);xx = x/v; %normalizesxx = floor(xx*4096);y = pcm_encode(sxx);yy = pcm_decode(y,v);drawnowfigure(1) set(1,'position',10,50,500,200)%设定窗口位置及大小 figure(2) set(2,'position',350,50,500,200);%设定窗口位置及大小 figure(1) plot(t,x,'r');title('sample sequence');figure(2)plot(t,yy,'b')title('pcm decode sequence');编码程序:pcm_encode.mfunction out=pcm_encode(x)%x encode to pcm code n=length(x);%-4096<x<4096for i = 1:nif x(i)>0out(i,1)=1;elseout(i,1)=0;endif abs(x(i) >=0 & abs(x(i)<32out(i,2)=0;out(i,3)=0;out(i,4)=0;step=2;st=0;elseif 32<=abs(x(i)&abs(x(i)<64out(i,2)=0;out(i,3)=0;out(i,4)=1;step=2;st=32;elseif 64<=abs(x(i)&abs(x(i)<128out(i,2)=0;out(i,3)=1;out(i,4)=0;step=4;st=64;elseif 128<=abs(x(i)&abs(x(i)<256out(i,2)=0;out(i,3)=1;out(i,4)=1;step=8;st=128elseif 256<=abs(x(i)&abs(x(i)<512out(i,2)=1;out(i,3)=0;out(i,4)=0;step=16;st=256;elseif 512<=abs(x(i)&abs(x(i)<1024out(i,2)=1;out(i,3)=0;out(i,4)=1;step=32;st=512;elseif 1024<=abs(x(i)&abs(x(i)<2048out(i,2)=1;out(i,3)=1;out(i,4)=0;step=64;st=1024;elseif 2048<=abs(x(i)&abs(x(i)<4096out(i,2)=1;out(i,3)=1;out(i,4)=1;step=128;st=2048;elseout(i,2)=1;out(i,3)=1;out(i,4)=1;step=128;st=2048;endif abs(x(i)=4096out(i,2:8)=1 1 1 1 1 1 1;elsetmp=floor(abs(x(i)-st)/step);t=dec2bin(tmp,4)-48;%函数dec2bin输出的是ASCII字符串,48对应0out(i,5:8)=t(1:4);endendout=reshape(out',1,8*n);译码程序:pcm_decode.mfunction out= pcm_decode(in,v)%decode the input pcm code%in : input the pcm code 8 bits sample%v:quantized leveln=length(in);in=reshape(in',8,n/8)'slot(1)=0;slot(2)=32;slot(3)=64;slot(4)=128;slot(5)=256;slot(6)=512; slot(7)=1024;slot(8)=2048;step(1)=2;step(2)=2;step(3)=4;step(4)=8;step(5)=16; step(6)=32;step(7)=64;step(8)=128;for i=1:n/8ss=2*in(i,1)-1;tmp = in(i,2)*4+in(i,3)*2+in(i,4)+1;st = slot(tmp);dt = (in(i,5)*8+in(i,6)*4+in(i,7)*2+in(i,8)*step(tmp)+0.5*step(tmp);out(i)=ss*(st+dt)/4096*v;end运行结果:(五)实验结果分析打开MATLAB运行程序pcm.m后窗口出现:st =128。并画出正弦信号未编码波形与PCM编码,译码后波形。有图可知,未编码与PCM编码,译码后波形一致。说明A律PCM编码能不失真地回复出原信号,具有较强的实用性。七实验心得通信中的许多问题都可以通过计算机仿真的办法来进行研究。计算机仿真实质上就是把硬件实验搬进了计算机,可以把它看成是一种软件实验。在软件实验中我们用程序来实现通信原理中的理论模型。所有通信模块及通信仪表的功能都是用程序来实现,通信系统的全过程在计算机中仿真运行。通过本次实验,我了解了MATLAB基本使用方法以及通信原理计算机仿真的一般方法。通信原理是通信工程专业的一门重要专业基础课,这门课的某些内容对我们初学者来说往往不大好把握。通过自己动手,用MATLAB对某些知识进行仿真,然后对结果进行研究和观察,使我对这些内容掌握地更加透彻。实习指导教师签字: 年 月 日 专心-专注-专业

    注意事项

    本文(通信原理MATLAB仿真(共19页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开