信号与系统MATLAB实验(教师版)_第1页
信号与系统MATLAB实验(教师版)_第2页
信号与系统MATLAB实验(教师版)_第3页
信号与系统MATLAB实验(教师版)_第4页
信号与系统MATLAB实验(教师版)_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、整理文本信号与系统实验指导书及实验报告册班级:姓名:心口 子»:目 录实验一、基本信号在MATLAB中的表示和运算实验二、离散信号与系统的时域分析连续时间LTI 系统的时域分析傅里叶变换、系统的频域分析信号抽样与恢复信号与系统复频域分析实验一基本信号在MATLAB 中的表示和运算一、实验目的1 学会用MATLAB 表示常用连续信号的方法;2 学会用MATLAB 进行信号基本运算的方法;二、实验原理1 连续信号的MATLAB 表示MATLAB 提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。表示连续时间信号有两种方法,一是数值法,二是符号法。数值法是定义某一时间范围和取样时间

2、间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形;符号法是利用MATLAB 的符号运算功能,需定义符号变量和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。例1-1指数信号 指数信号在MATLAB中用exp函数表示。如f(t) Aeat,调用格式为ft=A*exp(a*t) 程序是A=1; a=-0.4;t=0:0.01:10;%定义时间点ft=A*exp(a*t);%计算这些点的函数值plot(t,ft);%画图命令,用直线段连接函数值表示曲线grid on;%在图上画方格例 1-2 正弦信号正弦信号在MATLAB 中用 sin 函数表示。调

3、用格式为ft=A*sin(w*t+phi)%定义时间点%计算这些点的函数值%画图命令%在图上画方格A=1; w=2*pi; phi=pi/6; t=0:0.01:8;ft=A*sin(w*t+phi);plot(t,ft);grid on;例 1-3 抽样信号抽样信号Sa(t)=sin(t)/t 在 MATLAB 中用 sinc 函数表示。定义为 Sa(t) sin c(t/ )t=-3*pi:pi/100:3*pi;ft=sinc(t/pi);plot(t,ft);grid on;axis(-10,10,-0.5,1.2);%定义画图范围,横轴,纵轴title('抽样信号)%定义图的

4、标题名字例 1-4 三角信号三角信号在MATLAB 中用 tripuls 函数表示。调用格式为ft=tripuls(t,width,skew),产生幅度为1,宽度为 width,且以0为中心左右各 展开width/2大小,斜度为skew的三角波。width的默认值是1, skew的取值范围是-1+1 之间。一般最大幅度1 出现在 t=(width/2)*skew 的横坐标位置。t=-3:0.01:3;ft=tripuls(t,4,0.5);plot(t,ft); grid on;axis(-3,3,-0.5,1.5);例 1-5 虚指数信号调用格式是f=exp(j*w)*t)t=0:0.01:

5、15; w=pi/4; X=exp(j*w*t);Xr=real(X);Xi=imag(X);Xa=abs(X);Xn=angle(X);%取实部 %取虚部 % 取模 %取相位subplot(2,2,1),plot(t,Xr),axis(0,15,-(max(Xa)+0.5),max(Xa)+0.5),title('实部');subplot(2,2,3),plot(t,Xi),axis(0,15,-(max(Xa)+0.5),max(Xa)+0.5),title('虚部');subplot(2,2,2), plot(t,Xa),axis(0,15,0,max(X

6、a)+1),title(模');subplot(2,2,4),plot(t,Xn),axis(0,15,-(max(Xn)+1),max(Xn)+1),title(' 相角 ');%subplot(m,n,i) 命令是建立m 行 n 列画图窗口,并指定画图位置i例 1-6 复指数信号调用格式是f=exp(a+j*b)*t)t=0:0.01:3;a=-1;b=10;f=exp(a+j*b)*t);subplot(2,2,1),plot(t,real(f),title('实部')subplot(2,2,3),plot(t,imag(f),title('

7、;虚部') subplot(2,2,2),plot(t,abs(f),title('模') subplot(2,2,4),plot(t,angle(f),title('相角')例 1-7 矩形脉冲信号矩形脉冲信号可用rectpuls 函数产生,调用格式为y=rectpuls(t,width),幅度是1,宽度是 width,以t=0为对称中心。 t=-2:0.01:2;width=1;ft=2*rectpuls(t,width);plot(t,ft)grid on;例1-8单位阶跃信号单位阶跃信号u用“ t>=0 ”产生,调用格式为ft=(t>

8、=0)t=-1:0.01:5;ft=(t>=0);plot(t,ft); grid on;axis(-1,5,-0.5,1.5);例 1-9 正弦信号符号算法syms ty=sin(pi/4*t) ezplot(y,-16,16)或者f=sym('sin(pi/4*t)') ezplot(f,-16,16)% 定义符号变量t%符号函数表达式%符号函数画图命令% 定义符号函数表达式例1-10单位阶跃信号MATTLAB符号数学函数 Heaviside表示阶跃信号,但要画图需在口作目录创建 Heaviside的M文件function f=Heaviside(t)f=(t>

9、0);保存,文件名是Heaviside ,调用该函数即可画图,例t=-1:0.01:3;f=heaviside(t);plot(t,f)axis(-1,3,-0.2,1.2)或者y=sym('Heaviside(t)');ezplot(y,-1,5);grid on2 信号基本运算的MATLAB 实现信号基本运算是乘法、加法、尺度、反转、平移、微分、积分,实现方法有数值法和符号法例1-11以f(t)为三角信号为例,求 f(2t) , f(2-2t)t=-3:0.001:3;ft=tripuls(t,4,0.5);subplot(3,1,1);plot(t,ft); grid o

10、n;title ('f(t)');ft1= tripuls(2*t,4,0.5);subplot(3,1,2);plot(t,ft1); grid on;title ('f(2t)');ft2= tripuls(2-2*t,4,0.5);subplot(3,1,3);plot(t,ft2); grid on;title ('f(2-2t)');例 1-12 已知 f1(t)=sinwt , f2(t)=sin8wt , w=2pi , 求 f1(t)+f2(t) 和 f1(t)f2(t) 的波形图w=2*pi;t=0:0.01:3;f1=sin(

11、w*t);f2=sin(8*w*t);subplot(211)plot(t,f1+1,':',t,f1-1,':',t,f1+f2)grid on,title('f1(t)+f2(t)')subplot(212)plot(t,f1,':',t,-f1,':',t,f1.*f2)grid on,title('f1(t)*f2(t)')符号算法也可实现上述运算,以信号的微积分运算为例说明符号算法应用微分的调用格式为diff(function, variable ,n)积分的调用格式为int(functi

12、on, variable ,a,b)式中function表示要微分或积分的函数,variable表示运算变量,n表示求导阶数,默认值是求一阶导数,a是积分下限,b是积分上限,a b默认是求不定积分。例1-13求一阶导数的例题,已知 y1sin(ax2), y2xsin x In xclearsyms a x y1 y2 y1=sin(a*xA2);y2=x*sin(x)*log(x);dy1=diff(y1,dy2=diff(y2)%定义符号变量 a, x , y1, y2%符号函数y1%符号函数y2x' ) %无分号直接显示结果例1-14求积分的例题,(x5axd x1 xe .弓d

13、x0 (1 x)2%无分号直接显示结果整理文本clearsyms a x y3 y4 y3=xA5-a*xA2+sqrt(x)/2; y4=(x*exp(x)/(1+x)A2;iy3=int(y3,'x') iy4=int(y4,0,1)三、上机实验内容验证实验原理中程序2.画出信号波形(1) f(t) (2 e2t)u(t)解:t=0:0.001:15;f1=(2-exp(-2*t);f2=(t>=0);f3=f1.*f2;plot(t,f3)(2) f(t) (1 cos t)u(t) u(t 2)解:t=-2:0.01:5;f1=1+cos(pi*t);f2=(t&

14、gt;=0)-(t>=2);ft=f1.*f2;plot(t,ft);3.信号 f(t) (2 e 2t)u(t),求 f(2t)、f(2 t)波形3解:syms t;ft=heaviside(t);f1=(2-exp(-2*t)*ft;subplot(3,1,1);ezplot(f1,-2*pi,2*pi);grid on;title ('f(t)');f2=subs(f1,t,2*t);subplot(3,1,2);ezplot(f2,-2*pi,2*pi);grid on;title ('f(2t)');f3=subs(f1,t,2-t);subpl

15、ot(3,1,3);ezplot(f3,-2*pi,2*pi);grid on;title('f(2-t)');实验二离散信号与系统的时域分析一、实验目的1 学会用MATLAB表示常用离散信号的方法;2学会用MATLAB实现离散信号卷积的方法;3 学会用MATLAB求解离散系统的单位响应;4 学会用MATLAB求解离散系统的零状态响应;二、实验原理1 离散信号的MATLAB 表示表示离散时间信号f(k)需要两个行向量,一个是表示序号k=, 一个是表示相应函数值 f=,画图命令是stem。例2-1正弦序列信号正弦序列信号可直接调用MATLAB函数cos,例COS( k ),当2

16、/ 是整数或分数时,才是周期信号。画cos(k /8), cos(2k)波形程序是:k=0:40;subplot(2,1,1)stem(k,cos(k*pi/8),'filled') title('cos(k*pi/8)') subplot(2,1,2)stem(k,cos(2*k),'filled') title('cos(2*k)')例 2-2 单位序列信号(k)1k00k0本题先建立一个画单位序列(k k0 ) 的 M 函数文件,画图时调用。M 文件建立方法:file / new / m-file 在文件编辑窗输入程序,保存

17、文件名用函数名。function dwxulie(k1,k2,k0) % k1 , k2 是画图时间范围,k0 是脉冲位置k=k1:k2;n=length(k);f=zeros(1,n);f(1,-k0-k1+1)=1;stem(k,f,'filled')axis(k1,k2,0,1.5)title('单位序列 8 (k)')保存文件名dwxulie.m画图时在命令窗口调用,例:dwxulie(-5,5,0)例 2-3 单位阶跃序列信号(k)1k00k0本题也可先建立一个画单位阶跃序列(k ko)的M函数文件,画图时调用。function jyxulie(k1,

18、k2,k0)k=k1:-k0-1;kk=-k0:k2;n=length(k);nn=length(kk)u=zeros(1,n);uu=ones(1,nn);stem(kk,uu,'filled') hold onstem(k,u,'filled') hold off title('单位阶跃序列') axis(k1 k2 0 1.5) 保存文件名jyxulie.m画图时在命令窗口调用,例: jyxulie(-3,8,0)例2-4实指数序列信号f (k) cak , c、a是实数。建立一个画实指数序列的M函数文件,画图时调用。function ds

19、zsu(c,a,k1,k2)%c:指数序列的幅度%a:指数序列的底数%k1:绘制序列的起始序号%k2:绘制序列的终止序号k=k1:k2;x=c*(a.Ak);stem(k,x,'filled')hold onplot(k1,k2,0,0)hold off 5k3 k调用该函数回信号:fi(k)(-)(k) , f2(k) ( -)(k)波形。dszsu(1,5/4,0,40) dszsu(1,-3/4,0,40)2 .离散信号的卷积和两个有限长序列 fl , f2卷积可调用MATLAB函数conv,调用格式是 f=conv(f1,f2), f是卷积结果,但不显示时间序号,可自编

20、一个函数dconv给出f和k,并画图。function f,k=dconv(f1,f2,k1,k2) %The function of compute f=f1*f2% f:卷积和序列f(k)对应的非零样值向量 % k: 序列f(k)的对应序号向量 % f1:序列f1(k)非零样值向量 % f2:序列f2(k)的非零样值向量 % k1:序列f1(k)的对应序号向量 % k2:序列f2(k)的对应序号向量 f=conv(f1,f2) k0=k1(1)+k2(1);k3=length(f1)+length(f2)-2; k=k0:k0+k3 subplot(2,2,1) stem(k1,f1) t

21、itle('f1(k)') xlabel('k') ylabel('f1(k)') subplot(2,2,2) stem(k2,f2) title('f1(k)') xlabel('k') ylabel('f2(k)') subplot(2,2,3) stem(k,f);title('f(k)f1(k)与 f2(k)的卷积和 f(k)') xlabel('k') ylabel('f(k)') h=get(gca,'position')

22、;h(3)=2.5*h(3); set(gca,'position',h) 例 2-5 求卷积和,%计算序列f1 与 f2 的卷积和f%计算序列f非零样值的起点位置%计算卷积和f 的非零样值的宽度% 确定卷积和f 非零样值的序号向量%在子图1绘序列f1(k)时域波形图%在图2绘序列f2(k)时波形图%在子图3绘序列f(k)的波形图%将第三个子图的横坐标范围扩为原来的2.5倍f1(k )(k 1) 2 (k) (k 1)f2(k ) (k 2) (k 1)(k) (k 1) (k 2)f1=1 2 1;k1=-1 0 1;f2=ones(1,5);k2=-2:2;f, k=dco

23、nv(f1,f2,k1,k2)由运行结果知,f 的长度等于f1 和 f2 长度之和减一,f 的起点是f1 和 f2 的起点之和,f的终点是f1 和 f2 的终点之和。3 离散系统的单位响应MATLAB提供画系统单位响应函数impz,调用格式是impz(b,a)式中b和a是表示离散系统的行向量;0n ;impz(b,a,n)式中b和a是表示离散系统的行向量,时间范围是impz(b,a,n1,n2)时间范围是 n1n2 ; y=impz(b,a,n1,n2)由 y 给出数值序列;例 2-6 已知 y(k ) y(k 1) 0.9y(k 2) f (k)求单位响应。a=1,-1,0.9;b=1;im

24、pz(b,a)impz(b,a,60)impz(b,a,-10:40)4 .离散系统的零状态响应MATLAB提供求离散系统零状态响应数值解函数Alter,调用格式为filter(b,a,x),式中b和a是表示离散系统的向量,x是输入序列非零样值点行向量,输出向量序号同x一样。1例 2-7 已知 y(k ) 0.25y(k 1) 0.5y(k 2) f (k) f(k 1), f (k) (-)k (k)求零状态响应,范围020。a=1 -0.25 0.5;b=1 1;t=0:20;x=(1/2).At;y=filter(b,a,x)subplot(2,1,1)stem(t,x)title(&#

25、39;输入序列)subplot(2,1,2)stem(t,y)title('响应序列)三、上机实验内容1 .验证实验原理中程序2 .已知 2y(k ) 2y(k 1) y(k 2) f (k) 3f (k 1) 2f(k 2),画单位响应波形。3 .已知 y(k ) y(k 1) 0.25y(k 2) f (k),输入 f (t)(k),画输出波形,范围015。实验三连续时间LTI 系统的时域分析一、实验目的1 学会用MATLAB求解连续系统的零状态响应;2 . 学会用MATLAB求解冲激响应及阶跃响应;3学会用MATLAB实现连续信号卷积的方法;二、实验原理1 连续时间系统零状态响应

26、的数值计算我们知道,LTI 连续系统可用如下所示的线性常系数微分方程来描述,NM(i)(j)ai y (t) bj f (t)i0j0在 MATLAB 中,控制系统工具箱提供了一个用于求解零初始条件微分方程数值解的函数lsim。其调用格式y=lsim(sys,f,t)式中,t表示计算系统响应的抽样点向量,f是系统输入信号向量,sys是LTI系统模型,用来表示微分方程,差分方程或状态方程。其调用格式sys=tf(b,a)式中, b 和 a 分别是微分方程的右端和左端系数向量。例如,对于以下方程:''''''''''&

27、#39;'a3y(t)a2y (t)a1y(t)a0y(t)b3f(t) b2f (t) b1 f (t)b0f (t)可用 a a3,a2,a1, a0; b b3,b2,b1,b0; sys tf (b, a) 获得其 LTI 模型。注意,如果微分方程的左端或右端表达式中有缺项,则其向量a或b中的对应元素应为零,不能省略不写,否则出错。例 3-1 已知某 LTI 系统的微分方程为y(t)+ 2y (t)+100y(t)=f(t),. ' . 其中,y(0)y(0) 0, f(t) 10sin(2 t),求系统的输出 y(t).解:显然,这是一个求系统零状态响应的问题。其MA

28、TLAB 计算程序如下:ts=0;te=5;dt=0.01;sys=tf(1,1,2,100);t=ts:dt:te;f=10*sin(2*pi*t);y=lsim(sys,f,t);plot(t,y);xlabel('Time(sec)');ylabel('y(t)');2连续时间系统冲激响应和阶跃响应的求解在 MATLAB 中, 对于连续LTI 系统的冲激响应和阶跃响应,可分别用控制系统工具箱提 供的函数impluse和step来求解。其调用格式为y=impluse(sys,t)y=step(sys,t)式中,t表示计算系统响应的抽样点向量,sys是LTI系

29、统模型。例 3-2 已知某 LTI 系统的微分方程为y(t)+ 2y (t)+100y(t)=10f(t)求系统的冲激响应和阶跃响应的波形.解: ts=0;te=5;dt=0.01;sys=tf(10,1,2,100);t=ts:dt:te;h=impulse(sys,t);figure;plot(t,h);xlabel('Time(sec)');ylabel('h(t)');g=step(sys,t);figure;plot(t,g);xlabel('Time(sec)');ylabel('g(t)');3. 用 MATLAB

30、实现连续时间信号的卷积信号的卷积运算有符号算法和数值算法,此处采用数值计算法,需调用MATLAB的conv( )函数近似计算信号的卷积积分。连续信号的卷积积分定义是f(t) f1(t) f2(t)f1( )f2(t )d如果对连续信号fi(t)和f2(t)进行等时间间隔均匀抽样,则fi(t)和f2(t)分别变为离散时间信号f1(m )和f2(m )。其中,m 为整数。当足够小时,f1(m ) 和 f2(m ) 既为连续时间信号fi(t)和f2(t)。因此连续时间信号卷积积分可表示为f (t) f1(t) f2(t)f1 ( )f2 (t )dlim0f1 (m ) f2(t m )采用数值计算

31、时,只求当t n 时卷积积分f(t) 的值 f(n ) ,其中,n 为整数,既f(n ) f1(m ) f2(nm )mf1 (m ) f2( n m) 其中,f1(m ) f2(n m) 实际就是离散序列f1(m ) 和 f2(m )的卷积和。当足m够小时,序列f(n )就是连续信号f(t)的数值近似,既f(t) f(n )f1(n)f2(n)上式表明,连续信号f1 (t) 和 f2 (t) 的卷积,可用各自抽样后的离散时间序列的卷积再乘以抽样间隔。抽样间隔越小,误差越小。例3-3用数值计算法求f1(t) u(t) u(t 2)与f2(t) e 3tu(t)的卷积积分。解:因为f2 (t)

32、e 3tu(t) 是一个持续时间无限长的信号,而计算机数值计算不可能计算真正的无限长信号,所以在进行f2(t) 的抽样离散化时,所取的时间范围让f2(t) 衰减到足够小就可以了,本例取t 2.5。程序是dt=0.01; t=-1:dt:2.5;f1=Heaviside(t)-Heaviside(t-2);f2=exp(-3*t).*Heaviside(t);f=conv(f1,f2)*dt; n=length(f); tt=(0:n-1)*dt-2;subplot(221), plot(t,f1), grid on;axis(-1,2.5,-0.2,1.2); title('f1(t)

33、'); xlabel('t')subplot(222), plot(t,f2), grid on;axis(-1,2.5,-0.2,1.2); title('f2(t)'); xlabel('t')subplot(212), plot(tt,f), grid on;title('f(t)=f1(t)*f2(t)'); xlabel('t')由于f1(t) 和 f2(t) 的时间范围都是从t=-1 开始,所以卷积结果的时间范围从t=-2 开始,增量还是取样间隔,这就是语句tt=(0:n-1)*dt-2 的由来

34、。三、上机实验内容1 验证实验原理中所述的相关程序2 .已知描述系统的微分方程和激励信号f(t)如下,试用解析法求系统的零状态响应y,并用 MATLAB 绘出系统零状态响应的时域仿真波形,验证结果是否相同y (t)+ 4y (t)+4y(t)=f (t)+3f(t)f(t)= exp( -t)u(t)3已知描述系统的微分方程如下,试用MATLAB 求系统在010 秒范围内冲激响应和阶跃响应的数值解,并用绘出系统冲激响应和阶跃响应的时域波形y (t)+3y (2t)y+(t)=f(t)y (t)+ 2y (t)+2y(t)=f (t)4 .画出信号卷积积分f1(t)f2(t)的波形,f1(t)f

35、2(t) U(t) U(t 1)实验四 傅里叶变换、系统的频域分析一、 实验目的1、学会用MATLAB实现连续时间信号傅里叶变换2、学会用MATLAB分析LTI系统的频域特性3、学会用MATLAB分析LTI系统的输出响应二、实验原理1,傅里叶变换的MATLAB求解MATLAB 的symbolic Math Toolbox提供了直接求解傅里叶变换及逆变换的函数 fourier()及ifourier()两者的调用格式如下。Fourier变换的调用格式F=fourier(f):它是符号函数f的fourier变换默认返回是关于 w的函数。F=fourier(f , v):它返回函数 F是关于符号对象v

36、的函数,而不是默认的w ,即F (v) f(x)e jvxdxFourier逆变换的调用格式f=ifourier(F):它是符号函数 F的fourier逆变换,默认的独立变量为 w,默认返回是关 于x的函数。f=ifourier(f,u):它的返回函数f是u的函数,而不是默认的x.注意:在调用函数fourier()及ifourier()之前,要用syms命令对所用到白变量(如t,u,v,w)进行说明,即将这些变量说明成符号变量。2lt. 一例4-1求f (t) e的傅立叶变换解:可用MATLAB解决上述问题:syms tFw=fourier(exp(-2*abs(t)1例4-2求F (jw)

37、2的逆变换f(t)解:可用MATLAB解决上述问题syms t wft=ifourier(1/(1+wA2),t)2.连续时间信号的频谱图例4-3求调制信号f (t) AG (t)cos 0t的频谱,式中1 -A 4, 0 12 ,2,G (t) u(t /)u(t -)解:MATLAB程序如下所示ft=sym('4*cos(2*pi*6*t)*(Heaviside(t+1/4)-Heaviside(t-1/4)');Fw=simplify(fourier(ft)subplot(121)ezplot(ft,-0.5 0.5),grid onsubplot(122)ezplot(

38、abs(Fw),-24*pi 24*pi),grid用MATLAB符号算法求傅里叶变换有一定局限,当信号不能用解析式表达时,会提示 出错,这时用 MATLAB的数值计算也可以求连续信号的傅里叶变换,计算原理是F (j ) f(t) e j tdtlim0f (n )e j nn当足够小时,近似计算可满足要求。若信号是时限的,或当时间大于某个给定值时,信号已衰减的很厉害,可以近似地看成时限信号时,n的取值就是有限的,设为 N,有n 12F(k) f(n )e jkn , 0 k N , k k是频率取样点 n 0N时间信号取样间隔应小于奈奎斯特取样时间间隔,若不是带限信号可根据计算精度要求确定一

39、个频率W0为信号的带宽。例4-4用数值计算法求信号f(t) u(t 1) U(t 1)的傅里叶变换解,信号频谱是F(j ) 2Sa(),第一个过零点是,一般将此频率视为信号的带宽,若1将精度提高到该值的50倍,既W0=50,据此确定取样间隔, 0.022F0R=0.02;t=-2:R:2;f=Heaviside(t+1)-Heaviside(t-1);W1=2*pi*5;N=500;k=0:N;W=k*W1/N;F=f*exp(-j*t'*W)*R;F=real(F);W=-fliplr(W),W(2:501);F=fliplr(F),F(2:501);subplot(2,1,1);p

40、lot(t,f);xlabel('t');ylabel('f(t)');title('f(t)=u(t+1)-u(t-1)');subplot(2,1,2);plot(W,F);xlabel('w');ylabel('F(w)');title('f(t)的付氏变换 F(w)');3 .用MATLAB分析LTI系统的频率特性当系统的频率响应 H (jw)是jw的有理多项式时,有H(jw)B(w)A(w)bM(jw)M bMi(jw)M1 L bi(jw) boaN(jw)N aN i(jw)N 1 L

41、 &(jw) a。MATLAB信号处理工具箱提供的freqs函数可直接计算系统的频率响应的数值解。其调用格式如下H=freqs(b,a,w)其中,a和b分别是H(jw)的分母和分子多项式的系数向量,w为形如w1:p:w2的向量,定义系统频率响应的频率范围, w1为频率起始值,w2为频率终止值,p为频率取样间隔。H返回 w所定义的频率点上,系统频率响应的样值。例如,运行如下命令,计算 02pi频率范围内以间隔0.5取样的系统频率响应的样值a=12 1;b=01;h=freqs(b,a,0:0.5:2*pi)例4-5三阶归一化的butterworth低通滤波器的频率响应为1H (jw)32

42、(jw) 2( jw) 2( jw) 1试画出该系统白幅度响应H(jw)和相位响应 ()。解其MATLAB程序及响应的波形如下w=0:0.025:5;b=1;a=1,2,2,1;H=freqs(b,a,w);subplot(2,1,1);plot(w,abs(H);grid;xlabel('omega(rad/s)');ylabel('|H(jomega)|');title('H(jw)的幅频特性');subplot(2,1,2);plot(w,angle (H);grid;xlabel('omega(rad/s)');ylabe

43、l('phi(omega)');title('H(jw)的相频特性');4 .用MATLAB分析LTI系统的输出响应例4-6已知一 RC电路如图所示 系统的输入电压为f,输出信号为电阻两端的电压y(t).当RC=0.04, f(t尸cos5t+cos100t,t试求该系统的响应 y(t)+f(t)y(t)解 由图可知,该电路为一个微分电路,其频率响应为RjwH (jw) R 1 jwC jw 1 RC由此可求出余弦信号 cos 0t通过LTI系统的响应为y(t) |H (jwo) cos( ot( 0)计算该系统响应的MATLAB程序及响应波形如下RC=0.04

44、;t=linspace(-2,2,1024);w1=5;w2=100;H1=j*w1/(j*w1+1/RC);H2=j*w2/(j*w2+1/RC);f=cos(5*t)+cos(100*t);y=abs(H1)*cos(w1*t+angle(H1)+ abs(H2)*cos(w2*t+angle(H2);subplot(2,1,1);plot(t,f);ylabel('f(t)');xlabel('Time(s)');subplot(2,1,2);plot(t,y);ylabel('y(t)');xlabel('Time(s)'

45、);三、上机实验内容1 .验证实验原理中所述的相关程序; ._. 、, 、 ,、一, At .2 .试用MATLAB求单边指数数信号f (t) e u(t)的傅立叶变换,并回出其波形;13 .设H(jw) 2,试用 MATLAB回出该系统的幅频特性0.08( jw) 0.4 jw 1H (jw)和相频特性(),并分析系统具有什么滤波特性。实验五信号抽样与恢复一、实验目的学会用MATLAB实现连续信号的采样和重建二、实验原理1 .抽样定理若f(t)是带限信号,带宽为 m, f(t)经采样后的频谱Fs()就是将f(t)的频谱F()在频率轴上以采样频率s为间隔进行周期延拓。因此,当 s m时,不会发

46、生频率混叠;而当s< m 时将发生频率混叠。2 .信号重建经采样后得到信号 fs(t)经理想低通h(t)则可得到重建信号 f(t),即:f(t)= fs(t)*h(t)其中:fs(t)=f(t) (t nTs)=f(nTs) (t nTs)h(t)TsSa( ct)所以:f(t)= fs(t)*h(t)=f(nTs) (t nTs)*Ts Sa( ct)= Tsf(nTs)Sa c(t nTs)上式表明,连续信号可以展开成抽样函数的无穷级数。利用MATLAB中的sin ”t) sin; D来表示Sa(t),有 Sa(t) sinc(),所以可以得到在MATLAB中信号由f (nTs)重建

47、f(t)的表达式如下:f(t) = Tsf(nTs)sinc(t nTs)我们选取信号f (t)= Sa(t)作为被采样信号,当采样频率s=2 m时,称为临界采样。我们取理想低通的截止频率c= mo下面程序实现对信号f(t)= Sa(t)的采样及由该采样信号恢复重建Sa(t):% 信号带宽 %滤波器截止频率 % 采样间隔%采样角频率 %时域采样电数 %时域采样点例5-1 Sa(t)勺临界采样及信号重构;wm=1;wc=wm;Ts=pi/wm;ws=2*pi/Ts;n=-100:100;nTs=n*Ts f=sinc(nTs/pi);Dt=0.005;t=-15:Dt:15;fa=f*Ts*wc

48、/pi*sinc(wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t);%信号重构t1=-15:0.5:15;f1=sinc(t1/pi);subplot(211);stem(t1,f1);xlabel('kTs');ylabel('f(kTs)');title('sa(t)=sinc(t/pi) 的临界采样信号');subplot(212);plot(t,fa)xlabel('t');ylabel('fa(t)');title('由 sa(t)=s

49、inc(t/pi)的临界采样信号重构sa(t)');grid;例5-2Sa(t两过采样及信号重构和绝对误差分析程序和例4-1 类似,将采样间隔改成Ts=0.7*pi/wm , 滤波器截止频率该成wc=1.1*wm ,添加一个误差函数wm=1;wc=1.1*wm;Ts=0.7*pi/wm;ws=2*pi/Ts;n=-100:100;nTs=n*Tsf=sinc(nTs/pi);Dt=0.005;t=-15:Dt:15;fa=f*Ts*wc/pi*sinc(wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t);error=abs(f

50、a-sinc(t/pi);%重构信号与原信号误差t1=-15:0.5:15;f1=sinc(t1/pi);subplot(311);stem(t1,f1);xlabel('kTs');ylabel('f(kTs)');title('sa(t)=sinc(t/pi) 的采样信号');subplot(312);plot(t,fa)xlabel('t');ylabel('fa(t)');title(' 由 sa(t)=sinc(t/pi) 的过采样信号重构sa(t)');grid;subplot(313)

51、;plot(t,error);xlabel('t');ylabel('error(t)');title('过采样信号与原信号的误差error(t)');例5-3 Sa(t的欠采样及信号重构和绝对误差分析程序和例4-2 类似,将采样间隔改成Ts=1.5*pi/wm , 滤波器截止频率该成wc=wm=1三、上机实验内容1 验证实验原理中所述的相关程序;2设 f(t)=0.5*(1+cost)*(u(t+pi)-u(t-pi) ,由于不是严格的频带有限信号,但其频谱大部分集中在 0, 2之间,带宽wm 可根据一定的精度要求做一些近似。试根据以下两种情况

52、用MATLAB实现由f的抽样信号fs重建f(t)并求两者误差,分析两种情况下的结果。(1) wm=2 , wc=1.2wm , Ts=1;(2) wm=2 , wc=2 ,Ts=2.5实验六信号与系统复频域分析、实验目的1 .学会用2 .学会用3 .学会用4 .学会用5 .学会用MATLABMATLABMATLABMATLABMATLAB进行部分分式展开;分析LTI系统的特性;进彳L Laplace正、反变换。画离散系统零极点图; 分析离散系统的频率特性;、实验原理及内容1.用MATLAB进行部分分式展开用MATLAB函数residue可以得到复杂有理分式F(s)的部分分式展开式,其调用格式为

53、r, p,k residue(num,den)其中,num,den分别为F(s)的分子和分母多项式的系数向量,r为部分分式的系数,p为极点,k为F(s)中整式部分的系数,若 F(s)为有理真分式,则 k为零。例6-1用部分分式展开法求 F(s)的反变换s 2F(s)2s 4s 3s解:其MATLAB程序为format rat;num=1,2;den=1,4,3,0;r,p=residue(num,den)程序中format rat是将结果数据以分数形式显示F(s)可展开为F(s)所以,F(s两反变换为f(t) 2 -e t -e3t u(t)3 262,用MATLAB分析LTI系统的特性系统函

54、数H (s)通常是一个有理分式,其分子和分母均为多项式。计算 H (s)的零极 点可以应用 MATLAB中的roots函数,求出分子和分母多项式的根,然后用plot命令画图。在MATLAB中还有一种更简便的方法画系统函数H (s)的零极点分布图,即用 pzmap函数画图。其调用格式为pzmap(sys)sys表示LTI系统的模型,要借助tf函数获得,其调用格式为sys=tf(b,a)式中,b和a分别为系统函数 H (s)的分子和分母多项式的系数向量。如果已知系统函数H (s),求系统的单位冲激响应h和频率响应H(j )可以用以前介绍过的impulse和freqs函数。一 1例6-2已知系统函数

55、为H(s)=-=s3 2s2 2s 1试画出其零极点分布图,求系统的单位冲激响应h和频率响应H (j ),并判断系统是否稳定。解:其MATLAB程序如下:num=1;den=1,2,2,1;sys=tf(num,den);figure(1);pzmap(sys);t=0:0.02:10;h=impulse(num,den,t);figure(2);plot(t,h)title('Impulse Response')H,w=freqs(num,den);figure(3);plot(w,abs(H)xlabel('omega')title('Magnitude Response')3.用MATLAB进彳t Laplace正、反变换MATLAB的符号数学工具箱提供了计算Laplace正、反变换的函数 Laplace和ilaplace其调用格式为F laplace (f)f ilaplace (F)上述两式右端的f和F分别为时域表示式和s域表示式的符号表示,可以应用函数sy

温馨提示

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

评论

0/150

提交评论