您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 常见离散信号的Matlab产生和图形显示
-1-实验1常见离散信号的Matlab产生和图形显示一、实验目的1、加深对常用离散信号的理解;2、掌握matlab中一些基本函数的建立方法。二、matlab使用说明1)创建M文件File-New-M-file2)运行Debug-run注:在试验过程中若有某些函数不懂,可以通过Help-search-输入要查询的函数名即可。三、实验原理1.单位抽样序列01)(n00nn在MATLAB中可以利用zeros()函数实现。;1)1();,1(xNzerosx%创建一个1行N列的0矩阵,将第一个值重新赋值为1如果)(n在时间轴上延迟了k个单位,得到)(kn即:01)(kn0nkn2.单位阶越序列01)(nu00nn在MATLAB中可以利用ones()函数实现。);,1(Nonesx%一个长度为N的零矩阵-2-3.正弦序列)/2sin()(FsfnAnx在MATLAB中)/***2sin(*1:0faiFsnfpiAxNn4.复指数序列njernx)(在MATLAB中)**exp(1:0nwjrxNn5.指数序列nanx)(在MATLAB中naxNn.^1:0四、实验内容实现和图形生成1、五种基本函数的生成程序如下:(1)、单位抽样序列%单位抽样序列和延时的单位抽样序列clf;%Clearcurrentfigurewindown=0:10;x1=[1zeros(1,10)];x2=[zeros(1,5)1zeros(1,5)];subplot(1,2,1);stem(n,x1);xlabel('时间序列n');ylabel('振幅');title('单位抽样序列x1');subplot(1,2,2);stem(n,x2);xlabel('时间序列n');ylabel('振幅');title('延时了5的单位抽样序列');-3-(2)、单位阶越序列clf;n=0:10;u=[ones(1,11)];stem(n,u);xlabel('时间序列n');ylabel('振幅');title('单位阶越序列');所得的图形如下所示:(3)正弦函数clf;n=1:30;x=2*sin(pi*n/6+pi/3);stem(n,x);xlabel('时间序列n');ylabel('振幅');title('正弦函数序列x=2*sin(pi*n/6+pi/3)');(4)、复指数序列clf;-4-n=1:30;x=2*exp(j*3*n);stem(n,x);xlabel('时间序列n');ylabel('振幅');title('复指数序列x=2*exp(j*3*n)');图形如下:(5)指数序列clf;n=1:30;x=1.2.^n;stem(n,x);xlabel('时间序列n');ylabel('振幅');title('指数序列x=1.2.^n');2、绘出信号znenx)(,当6)12/1(jz、6)12/1(jz时、121z、62jz、6jz时的信号实部和虚部图;程序如下:clf;z1=-1/12+j*pi/6;z2=1/12+j*pi/6;z3=1/12;z4=2+j*pi/6;z5=j*pi/6;n=0:20;x1=exp(z1*n);x2=exp(z2*n);x3=exp(z3*n);x4=exp(z4*n);x5=exp(z5*n);subplot(5,2,1);stem(n,real(x1));xlabel('时间序列n');ylabel('实部');title('复指数z1=-1/12+j*pi/6时序列实部');subplot(5,2,2);stem(n,imag(x1));xlabel('时间序列n');ylabel('虚部');title('复指数z1=-1/12+j*pi/6时序列虚部');subplot(5,2,3);stem(n,real(x2));xlabel('时间序列n');ylabel('实部');title('复指数z2=1/12+j*pi/6时序列实部');-5-subplot(5,2,4);stem(n,imag(x2));xlabel('时间序列n');ylabel('虚部');title('复指数z2=1/12+j*pi/6时序列虚部');subplot(5,2,5);stem(n,real(x3));xlabel('时间序列n');ylabel('实部');title('复指数z3=1/12时序列实部');subplot(5,2,6);stem(n,imag(x3));xlabel('时间序列n');ylabel('虚部');title('复指数z3=1/12时序列虚部');subplot(5,2,7);stem(n,real(x4));xlabel('时间序列n');ylabel('实部');title('复指数z4=2+j*pi/6时序列实部');subplot(5,2,8);stem(n,imag(x4));xlabel('时间序列n');ylabel('虚部');title('复指数z4=2+j*pi/6时序列虚部');subplot(5,2,9);stem(n,real(x5));xlabel('时间序列n');ylabel('实部');title('复指数z5=j*pi/6时序列实部');subplot(5,2,10);stem(n,imag(x5));xlabel('时间序列n');ylabel('虚部');title('复指数z5=j*pi/6时序列虚部');由上图的实部部分可以看出,Z=pi/6时,序列周期为12。计算序列周期为2*6=12。实验和理论相符。3、绘出信号)1.0*2sin(5.1)(nnx的频率是多少?周期是多少?产生一个数字频率为0.9的正弦序列,并显示该信号,说明其周期?程序如下:-6-clf;n=0:40;x1=1.5*sin(2*pi*0.1*n);x2=sin(0.9*n);subplot(1,2,1);stem(n,x1);xlabel('时间序列n');ylabel('振幅');title('正弦序列x1=1.5*sin(2*pi*0.1*n)');subplot(1,2,2);stem(n,x2);xlabel('时间序列n');ylabel('振幅');title('正弦序列x2=sin(0.9*n)');运行结果如下:由上图看出:x1=1.5*sin(2*pi*0.1*n)的周期是10,而x2=sin(0.9*n)是非周期的。理论计算中,对第一个,N=2*pi/(0.1*pi)=10,第二个0.9不是pi的倍数,所以不是周期的。因此可以看出,实验结果和理论相符。4、使用帮助功能学习square(方波),sawtooth(锯齿波)和sinc函数,并绘图。(1)、方波绘图程序如下:%用squaret=-2*pi:0.001:2*pi;x=square(t);plot(t,x);xlabel('t'),ylabel('x=square(t)');-7-(2)、三角波绘图程序如下:%用Sawtootht=-2*pi:0.001:2*pi;y=sawtooth(t);plot(t,y);xlabel('t'),ylabel('y=sawtooth(t);');(3)sinc函数绘图程序如下:t=-pi:0.001:pi;x=sinc(t);plot(t,x);xlabel('t'),ylabel('sinc(t);');
本文标题:常见离散信号的Matlab产生和图形显示
链接地址:https://www.777doc.com/doc-5868716 .html