资源预览内容
第1页 / 共42页
第2页 / 共42页
第3页 / 共42页
第4页 / 共42页
第5页 / 共42页
第6页 / 共42页
第7页 / 共42页
第8页 / 共42页
第9页 / 共42页
第10页 / 共42页
第11页 / 共42页
第12页 / 共42页
第13页 / 共42页
第14页 / 共42页
第15页 / 共42页
第16页 / 共42页
第17页 / 共42页
第18页 / 共42页
第19页 / 共42页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
点击查看更多>>
资源描述
实验2 常用离散时间信号的实现,一、实验目的,二、实验原理,三、涉及的MATLAB函数,四、实验内容与方法,五、实验要求,六、思考题,一、实验目的(1)了解离散时间信号的特点;(2)掌握离散时间信号表示的向量法和符号法;(3)熟悉stem函数的应用;(4)会用MATLAB语言表示常用根本离散信号。,二、实验原理,信号是随时间变化的物理量。离散信号是只在某些不连续的时间点上有信号值,其它时间点上信号没有定义的一类信号。离散信号一般可以利用模数转换由连续信号而得到。计算机所能处理的只是离散信号。,三、涉及的MATLAB函数,stem函数功能:绘制二维杆图即离散序列图。调用格式:stem(x,y):在x坐标上绘制高度为y的杆图。,四、实验内容与方法,1.验证性实验,常用的离散信号有正弦信号序列、单位阶跃序列、单位门序列、单位冲激信号、单位斜坡序列、单边衰减指数序列、随机序列等。,参考给出的程序,产生信号并观察信号的波形,通过改变相关参数(例如:频率、周期、幅值、相位、显示时间段、步长、加噪等),进一步熟悉这些在工程实际与理论研究中常用的信号。,1)离散时间信号MATLAB程序:k1=-3;k2=3;k=k1:k2;f=1,3,-3,2,3,-4,1;stem(k,f,filled);axis(-4,4,-5,5);title(离散时间信号)xlabel(时间(k);ylabel(幅值f(k);用数值法生成的离散时间信号如图2.1所示。,图 2.1 数值法生成的离散时间信号,2)单位脉冲序列MATLAB程序:k1=-3;k2=6;k=k1:k2;n=3;%单位脉冲出现的位置f=(k-n)=0;stem(k,f,filled);title(单位脉冲序列)xlabel(时间(k);ylabel(幅值f(k);用数值法生成的单位脉冲序列如图2.2所示。,图 2.2 数值法生成的单位脉冲序列,3)单位阶跃序列MATLAB程序:k0=0;%单位阶跃开始出现的位置k1=-3;k2=6;k=k1:k0-1;n=length(k);k3=-k0:k2;n3=length(k3);,u=zeros(1,n);u3=ones(1,n3);stem(k,u,filled);hold on;stem(k3,u3,filled);hold off;axis(k1,k2,-0.2,1.5);title(单位阶跃序列);xlabel(时间(k);ylabel(幅值f(k);用数值法生成的单位阶跃序列如图2.3所示。,图 2.3 数值法生成的单位阶跃序列,4)复指数序列MATLAB程序:clf;c=-(1/12)+(pi/6)*i;K=2;n=0:40;x=K*exp(c*n);subplot(2,1,1);,stem(n,real(x);ylabel(幅值f(k);title(实部);subplot(2,1,2);stem(n,imag(x);xlabel(时间(k);ylabel(幅值f(k);title(虚部);用数值法生成的复指数序列如图2.4所示。,图 2.4 数值法生成的复指数序列,5)指数序列MATLAB程序:clf;k1=-1;k2=10;k=k1:k2;a=-0.6;,A=1;f=A*a.k;stem(k,f,filled);title(指数序列);xlabel(时间(k);ylabel(幅值f(k);用数值法生成的指数序列如图2.5所示。,图 2.5 数值法生成的指数序列,6)正弦序列MATLAB程序:clf;k1=-20;k2=20;k=k1:k2;f=sin(k*pi/6);stem(k,f,filled);title(正弦序列);xlabel(时间(k);ylabel(幅值f(k);用数值法生成的正弦序列如图2.6所示。,图 2.6 数值法生成的正弦序列,7)单位斜坡序列MATLAB程序:clf;k1=-1;k2=20;k0=0;n=k1:k2;if k0=k2 x=zeros(1,length(n);elseif(k0k1),x=zeros(1,k0-k1),0:k2-k0;else x=(k1-k0)+0:k2-k1;endstem(n,x);title(单位斜坡序列);xlabel(时间(k);ylabel(幅值f(k);用数值法生成的单位斜坡序列如图2.7所示。,图 2.7 数值法生成的单位斜坡序列,8)随机序列MATLAB程序:clf;R=51;d=0.8*(rand(R,1)-0.5);m=0:R-1;stem(m,d,b);title(随机序列);xlabel(k);ylabel(f(k);用数值法生成的随机序列如图2.8所示。,图 2.8 数值法生成的随机序列,9)扫频正弦序列MATLAB程序:n=0:100;a=pi/2/100;b=0;arg=a*n.*n+b*n;x=cos(arg);clf;stem(n,x);axis(0,100,-1.5,1.5);grid;axis;title(扫频正弦序列);xlabel(k);ylabel(f(k);用数值法生成的扫频正弦序列如图2.9所示。,图 2.9 数值法生成的扫频正弦序列,10)幅值调制序列MATLAB程序:clf;n=0:100;m=0.4;fH=0.1;fL=0.01;xH=sin(2*pi*fH*n);,xL=sin(2*pi*fL*n);y=(1+m*xL).*xH;stem(n,y);grid;title(幅值调制序列);xlabel(时间(k);ylabel(幅值f(k);用数值法生成的幅值调制序列如图2.10所示。,图 2.10 数值法生成的幅值调制序列,11)信号平滑MATLAB程序:clf;R=51;d=0.8*(rand(1,R)-0.5);%随机噪声m=0:R-1;s=2*m.*(0.9.m);%正常信号x=s+d;%加噪声后的信号,xL=sin(2*pi*fL*n);y=(1+m*xL).*xH;stem(n,y);grid;title(幅值调制序列);xlabel(时间(k);ylabel(幅值f(k);用数值法生成的幅值调制序列如图2.10所示。,subplot(2,1,1);plot(m,d,r-,m,s,g-,m,x,b-.);title(信号平滑)xlabel(n);ylabel(f(n);legend(dn,sn,xn);,x1=0 0 x;x2=0 x 0;x3=x 0 0;,y=(x1+x2+x3)/3;subplot(2,,,1,,,2);plot(m,,,y(2,:,R+1),,,r-,,,m,,,s,,,g-);legend(yn,sn);xlabel(n);ylabel(f(n);信号平滑结果如图2.11所示。,图 2.11 信号平滑,12)滑动平均MATLAB程序:n=0:100;s1=cos(2*pi*0.05*n);%低频信号s2=cos(2*pi*0.47*n);%高频信号x=s1+s2;混合信号M=input(滤波器长度=);num=ones(1,M);y=filter(num,1,x)/M;clf;subplot(2,2,1);,plot(n,s1);axis(0,100,-2,2);xlabel(时间n);ylabel(幅值);title(信号 1);subplot(2,2,2);plot(n,s2);axis(0,100,-2,2);xlabel(时间n);ylabel(幅值);title(信号 2);subplot(2,2,3);plot(n,x);,axis(0,100,-2,2);xlabel(时间 n);ylabel(幅值);title(输入信号);subplot(2,2,4);plot(n,y);axis(0,100,-2,2);xlabel(时间n);ylabel(幅值);title(输出信号);axis;信号的滑动平均如图2.12所示。,图 2.12 信号的滑动平均,2.程序设计实验,(1)编制程序,生成如下信号:5 exp(-,k,),3 sin(,k,),,u,(,k,-3),,u,(,k,+5),,r,(,k,-4),,r,(,k,+3),,u,(,k,-3)+,r,(,k,+7),sin(,k,),sin(2,k,),sin(3,k,),,(,k,-1),,(,k,+5),cos(3,k,)+sin(2,k,)等。(2)寻找一些函数,编制程序生成信号。,五、实验要求,(1)在计算机中输入程序,验证实验结果,并将实验结果存入指定存储区域。(2)对于程序设计实验,要求通过对验证性实验的练习,自行编制完整的实验程序,实现对信号的模拟,并得出实验结果。(3)在实验报告中写出完整的自编程序,并给出实验结果。,六、思考题,(1)单位冲激函数与单位脉冲函数有什么区别?(2)信号的时域分解有哪几种方法?,
点击显示更多内容>>

最新DOC

最新PPT

最新RAR

收藏 下载该资源
网站客服QQ:3392350380
装配图网版权所有
苏ICP备12009002号-6