当前位置:文档之家› 中科大信号与系统 实验报告2

中科大信号与系统 实验报告2

信号与系统实验报告一、实验目的1. 熟悉连续时间系统的单位冲激响应、阶跃响应的意义及求解方法2. 熟悉连续(离散)时间系统在任意信号激励下响应的求解方法3. 熟悉应用MATLAB实现求解系统响应的方法二、实验原理1.连续时间系统求解各种响应impulse( ) 函数函数impulse( )将绘制出由向量a和b所表示的连续系统在指定时间范围内的单位冲激响应h(t)的时域波形图,并能求出指定时间范围内冲激响应的数值解。

以默认方式绘出由向量a和b所定义的连续系统的冲激响应的时域波形。

绘出由向量a和b所定义的连续系统在0 ~ t0时间范围内冲激响应的时域波形。

绘出由向量a和b所定义的连续系统在t1 ~ t2时间范围内,并且以时间间隔p均匀取样的冲激响应的时域波形。

只求出由向量a和b所定义的连续系统在t1 ~ t2时间范围内,并且以时间间隔p均匀取样的冲激响应的数值解,但不绘出其相应波形。

step( ) 函数函数step( )将绘制出由向量a和b所表示的连续系统的阶跃响应,在指定的时间范围内的波形图,并且求出数值解。

和impulse( )函数一样,step( )也有如下四种调用格式:step( b,a)step(b,a,t0)step(b,a,t1:p:t2)y=step(b,a,t1:p:t2)上述调用格式的功能和impulse( )函数完全相同,所不同只是所绘制(求解)的是系统的阶跃响应g(t),而不是冲激响应h(t)。

lsim( )函数根据系统有无初始状态,lsim( )函数有如下两种调用格式:①系统无初态时,调用lsim( )函数可求出系统的零状态响应,其格式如下:绘出由向量a和b所定义的连续系统在输入为x和t所定义的信号时,系统零状态响应的时域仿真波形,且时间范围与输入信号相同。

其中x和t是表示输入信号的行向量,t为表示输入信号时间范围的向量,x则是输入信号对应于向量t所定义的时间点上的取样值。

与前面的impulse 和step函数类似,该调用格式并不绘制出系统的零状态响应曲线,而只是求出与向量t定义的时间范围相一致的系统零状态响应的数值解。

②系统有初始状态时,调用lsim( )函数可求出系统的全响应,格式如下:绘出由系数矩阵A,B,C,D所定义的连续时间系统在输入为e和t所定义的信号时,系统输出函数的全响应的时域仿真波形。

t为表示输入信号时间范围的向量,e则是输入信号e(t)对应于向量t所定义的时间点上的取样值,X0表示系统状态变量X=[x1,x2,…..xn]'在t=0时刻的初值。

不绘出全响应波形,而只是求出与向量t定义的时间范围相一致的系统输出向量Y的全响应以及状态变量X的数值解。

显然,函数lsim( )对系统响应进行仿真的效果取决于向量t的时间间隔的密集程度,t的取样时间间隔越小则响应曲线越光滑,仿真效果也越好。

说明:(1)当系统有初始状态时,若使用lsim( )函数求系统的全响应,就要使用系统的状态空间描述法,即首先要根据系统给定的方式,写出描述系统的状态方程和输出方程。

假如系统原来给定的是微分方程或系统函数,则可用相变量法或对角线变量等方法写出系统的状态方程和输出方程。

其转换原理如前面实验四所述。

(2)显然利用lsim( )函数不仅可以分析单输入单输出系统,还可以分析复杂的多输入多输出系统。

2.离散时间系统impz( )函数以默认方式绘出由向量a和b所定义的离散系统单位函数响应的时域波形。

绘出由向量a和b所定义的离散系统在0 ~ n (n必须为整数)的离散时间范围内单位函数响应的时域波形。

绘出由向量a和b所定义的离散系统在n1 ~ n2 (n1、n2必须为整数)的离散时间范围内单位函数响应的时域波形。

求出由向量a和b所定义的离散系统在n1 ~ n2 (n1、n2必须为整数)的离散时间范围内单位函数响应的数值解,但不绘出波形。

filter( ) 函数其中a和b与前面相同,x是包含输入序列非零样值点的的行向量。

此命令将求出系统在与x的取样时间点相同的输出序列样值。

三、实验内容1. 已知描述系统的微分方程和激励信号e(t) 分别如下,试用解析方法求系统的单位冲激响应h(t)和零状态响应r(t),并用MATLAB 绘出系统单位冲激响应和系统零状态响应的波形,验证结果是否相同。

(2) ''()2'()26()'()y t y t y t f t ++=;()()f t t ε=手算结果为:单位冲激响应为:exp(-t)*cos(5t)*u(t)-0.2*exp(-t)*sin(5t)*u(t)零状态响应:0.2*exp(-t)*sin(5t)*u(t)程序源码如下:clear;%求单位冲激响应a=[1 2 26];b=[1 0]; %方程对应的矩阵subplot(211);impulse(b,a,4); %利用求单位冲激响应grid on; %加上网格%求系统零状态响应t1=0:0.01:5;x1=heaviside(t1);x1(1)=2*x1(1); %由于2018heaviside 中0点为0.5,所以要修改一下subplot(212);lsim(b,a,x1,t1); %求出系统对x1的响应axis([0,4,-0.1,0.2]); %调整坐标轴grid on;(3)''()4'()3()()y t y t y t f t ++=;2()()t f t e t ε-=手算结果为:单位冲激响应为:0.5*exp(-t)*u(t)- 0.5*exp(-3t)*u(t)零状态响应:(0.5*exp(-t)+ 0.5*exp(-3t)- exp(-2t))*u(t)clear;%求单位冲激响应a=[1 4 3];b=1; %方程对应的矩阵subplot(211);impulse(b,a,4); %利用求单位冲激响应grid on; %加上网格%求系统零状态响应t1=0:0.01:5;x1=exp(-2*t1).*heaviside(t1);x1(1)=2*x1(1); %由于2018heaviside 中0点为0.5,所以要修改一下subplot(212);lsim(b,a,x1,t1); %求出系统对x1的响应axis([0,4,-0.1,1]); %调整坐标轴grid on; %加上网格(4) 如下图所示的电路中,已知1234()R R R ===Ω,121()L L H ==,且两电感上初始电流分别为12(0)2(),(0)0()i A i A ==,如果以电阻3R 上电压()y t 作为系统输出,请求出系统在激励()12()f t t ε=(v )作用下的全响应。

解:通过列出环路方程可知:1.环路满足: ;2.输出满足:; 3.初始条件X0=;故可写出程序:clear; %清除缓存区A=[-8 4; 4 -8];B=[1 0]';C=[4 -4];D=[0];X0=[2 0]'; %题目满足的矩阵t=0:0.01:5;E=12*heaviside(t); %输入f(t)E(1)=2*E(1); %由于2018heaviside 中0点为0.5,所以要修改一下[r,x]=lsim(A,B,C,D,E,t,X0); %求出输出r ,状态xplot(t,r); %画出输出U(t)axis([0,5,0,8]); %调整坐标轴grid on;2. 请用MATLAB 分别求出下列差分方程所描述的离散系统,在0~20时间范围内的单位函数响应、阶跃响应和系统零状态响应的数值解,并绘出其波形。

另外,请将理论值与MATLAB 仿真结果在对应点上的值作比较,并说出两者的区别和产生误差的原因。

(3) 5166()(1)(2)()(2)y k y k y k f k f k --+-=--;()()f k k ε= 手算结果为:单位冲激响应为:6*((1/2)^(n+1)*u(n+1)- (1/3)^(n+1)*u(n+1)- (1/2)^(n-1)*u(n-1))+(1/3)^(n-1)*u(n-1))单位阶跃响应为:6*((1/2)^(n+1)*u(n+1)- (1/3)^(n+1)*u(n+1)+ (1/2)^(n)*u(n))- (1/3)^(n)*u(n))零状态响应:6*((1/2)^(n+1)*u(n+1)- (1/3)^(n+1)*u(n+1)+ (1/2)^(n)*u(n))- (1/3)^(n)*u(n))程序如下:clear;%求单位输入响应a=[1 -5/6 1/6];b=[1 0 -1];subplot(311);impz(b,a,0:20);%求单位冲激响应%阶跃响应k=0:20;x=ones(size(k));y=filter(b,a,x);%求解阶跃响应subplot(312);stem(k,y);%零状态响应k=0:20;f=heaviside(k);f(1)=1;y2=filter(b,a,f);%求解f 输入的响应y subplot(313);stem(k,y2);(4) 一带通滤波器可由下列差分方程描述:()0.81(2)()(2)y k y k f k f k +-=--, 其中()f k 为系统输入, ()y k 为系统输出。

请求出当激励为[]()1010cos(/2)10cos()()f k kn kn k ε=++(选取适当的n 值)时滤波器的稳态输出。

手算结果为:单位冲激响应为:(0.9)^(k)*cos(pi*k/2)*u(k)- 0.9^(k-2)*sin(pi/2*(k-1))*u(k-1) 单位阶跃响应为:(0.9)^(k)*cos(pi*k/2)*u(k)+0.9^(k-1)*sin(pi/2*k)*u(k)对于零状态响应,我们可以知道,当n 取pi/10(其他合适的值也可以)时,f 为周期为40的函数,这样有利于图像的生成。

对于n 不同值输出的讨论在下一页程序代码如下:clear;%求单位输入响应a=[1 0 0.81];b=[1 0 -1];subplot(311);impz(b,a,0:20);%阶跃响应k=0:20;x=ones(size(k));y=filter(b,a,x);subplot(312);stem(k,y);%零状态响应k=0:20;n=pi/10; %取n=pi/10,则f 的周期为40f=(10+10*cos(k*n/2)+10*cos(k*n)).*heaviside(k);f(1)=2*f(1);y2=filter(b,a,f);subplot(313); stem(k,y2);讨论:n取不同值时输入与输出的变化(上面为输入,下面为输出)n=pi/10 n=pi/6n=pi/2 n=pin=1.5*pi n=2*pi由于H(z)=(z*z-1)/(z*z+0.81),故z=+-1为零点,z=+-0.9i是极点,故从理论上来说对于低频和高频信号,该器件具有阻拦的效果,对于中频信号,该器件具有放大作用。

相关主题