信号与系统实验报告.docx
《信号与系统实验报告.docx》由会员分享,可在线阅读,更多相关《信号与系统实验报告.docx(9页珍藏版)》请在冰豆网上搜索。
信号与系统实验报告
2010~2011学年第一学期
《信号与系统》实验报告
院系:
电气工程学院专业:
电气工程及自动化
年级:
08级班号:
2班
姓名:
胡慧明学号:
2008302540040
实验时间:
2010年12月12日
实验地点:
电气工程学院自动控制原理实验室
实验一
一、实验题目:
用MATLAB数值计算方法求信号f1(t)=u(t)-u(t-2)与f2(t)=e-3tu(t)的卷积积分。
二、实验目的:
1、掌握MATLAB中输入阶跃函数的方法
2、掌握MATLAB中卷积计算方法。
三、实验过程:
1、得到阶跃函数的方法是在MATLAB中调用阶跃函数Heaviside,这样可以方便的表示出单位阶跃信号。
首先,需要在自己的工作目录work下创建Heaviside的M文件,该文件如下:
functionf=Heaviside(t)
f=(t>0)
定义该函数并保存运行以后就可以调用该函数了。
2、MATLAB中实现连续信号卷积积分的通用函数是sconv(),该程序在计算出卷积积分的数值的同时,还可以绘出函数的时域波形。
同样也是先要在工作目录work下创建sconv()的M文件,该文件如下:
function[f,k]=sconv(f1,f2,k1,k2,p)
f=conv(f1,f2)
f=f*p
k0=k1
(1)+k2
(1)
k3=length(f1)+length(f2)-2
k=k0:
p:
k0+k3*p
subplot(2,2,1)
plot(k1,f1)
title('f1(t)')
xlabel('t')
ylabel('f1(t)')
subplot(2,2,2)
plot(k2,f2)
title('f2(t)')
xlabel('t')
ylabel('f2(t)')
subplot(2,2,3)
plot(k,f)
h=get(gca,'position')
h(3)=2.5*h(3)
set(gca,'position',h)
title('f(t)=f1(t)*f2(t)')
xlabel('t')
ylabel('f(t)')
3、在MATLAB上实现题目中的卷积积分
>>p=0.01;
k1=-1:
p:
2;
k2=k1;
f1=heaviside(k1)-heaviside(k2-2);
f2=exp(-3*k2).*heaviside(k2);
[f,k]=sconv(f1,f2,k1,k2,p)
四、实验程序运行结果:
五、实验调试体会:
1、实验中要用到单位阶跃函数,需要采取创建Heaviside函数M文件然后调用。
在创建该函数的时候,一定要将函数保存在自己的工作目录work下面,否则在后面调用时将会出现调用不出来的情况。
2、在使用sconv()函数求卷积的时候,实际上是对目标函数进行了以时间间隔
进行取样的,即得到的是离散信号。
sconv()函数中的p即表示采样的时间间隔,因此在设置p的时候应将次间隔尽量设的小一些,才能得到比较准确而且平滑的图像。
实验二
一、实验题目:
用MATLAB命令求解微分方程y’’(t)+3y’(t)+2y(t)=x’(t)+x(t)当输入x(t)=e-3tu(t),初始条件为y(0-)=1,y’(0-)=2时系统的零输入响应,零态响应及完全响应。
二、实验目的:
掌握用MATLAB求解微分方程的零输入响应,零状态响应和完全响应,并画出每种响应的波形图。
三、实验源程序:
a=[132];
b=[11];
p=0.01;
t=0:
p:
5;
y1=step(b,a,t);
subplot(311);plot(t,y1);
title('零输入响应');
y=[21];
x=exp(-3*t);
y2=lsim(b,a,x,t);
subplot(312);plot(t,y2);
title('零状态响应');
u=y1+y2;
subplot(313);plot(t,u);
title('全响应')
四、实验运行结果:
五、实验调试体会:
这个实验总体来说比较简单,没有涉及到像实验一那样自己设定函数然后调用。
这个实验中用到的step()函数将绘制出由向量a和b表示的连续系统阶跃响应g(t)在指定的时间范围内的波形图,并能求解其数值解。
当系统的输入信号及初始状态已知,可以用函数lsim()对微分方程描述的连续系统的响应进行仿真。
实验三
一、实验题目:
下图是使用带通滤波器的一种最简单形式,试求当R=10Ω,L=0.1H,C=0.1F时该滤波器的幅频特性和相频特性。
二、实验目的:
1、理解带通滤波器的工作原理,会求解带通滤波器的输入响应方程。
2、会使用MATLAB求解复频域方程,并会出相应的特性图
三、实验步骤:
1、根据电路图,列出该电路的输入响应方程
代入数据得到:
2、根据方程式,用MATLAB进行求解
>>b=[010];
a=[11-100];
[h,w]=freqs(b,a,100);
h1=abs(h);
h2=angle(h);
subplot(211);
plot(w,h1);
grid
xlabel('角频率(W)');
ylabel('幅度');
title('H(jw)的幅频特性');
subplot(212);
plot(w,h2*180/pi);
grid
xlabel('角频率(w)');
ylabel('相位(度)');
title('H(jw)的相频特性')
四、实验调试结果:
五、实验体会:
MATLAB中提供了专门对连续系统频率响应H(jω)进行分析的函数freqs()。
该函数可以求出系统频率响应的数值解,并绘出系统的幅频及相频响应曲线。
这个题目利用这个函数就可以完成,比较简单。
实验四
一、实验题目:
已知系统的系统函数为:
试用MATLAB命令绘出其零点极点分布图,并判断该系统是否稳定。
二、实验目的:
1、理解系统零极点的含义,会求解系统的零点和极点
2、掌握使用MATLAB绘出函数零极点图,并且能够根据零极点图判断该系统是否稳定,
实验源程序:
b=[0143];
a=[1172];
w=[0:
1:
500]*pi/500;
x1=1*exp(-1*j*w)+4*exp(-2*j*w)+3*exp(-3*j*w);
x2=1+1*exp(-1*j*w)+7*exp(-2*j*w)+2*exp(-3*j*w);
x22=x2+(x2==0)*eps;
x=x1./x22;
magX=abs(x);
angX=angle(x).*180./pi;
figure
(1),subplot(221);impz(b,a,27);
zplane(b,a);
title('零极点图')
三、实验结果:
从程序运行的结果和绘制出的零极点图可以看出,该系统并不是所有的极点均位于Z平面的单位圆内,故该系统不是稳定系统。
五、实验体会:
这个实验还可以利用MATLAB中的绘制离散系统零极点函数ljdt()解决,这个函数在绘制系统零极点图的同时,还绘制出了z平面的单位圆。
得出的结果与上面的实验方法的出的结论一致。
实验五
一、实验题目:
已知某LTI系统的差分方程为:
试用MATLAB命令绘制出当激励信号为
时,该系统的零状态响应。
二、实验目的:
1、会求解离散系统的零状态响应,并比较离散系统和连续系统的响应的区别。
2、用MATLAB求解离散系统的零输入响应,并绘出响应的图形。
三、实验源程序:
>>a=[3-42];
b=[12];
t=0:
20;
x=(1/2).^t;
y=filter(b,a,x)
subplot(2,1,1)
stem(t,x)
title(‘输入序列’)
subplot(2,1,2)
stem(t,y)
title(‘响应序列’)
y=
Columns1through14
0.33331.27781.89811.88731.35520.6008-0.0764-0.4893-0.5950-0.4639-0.22020.01650.16920.2148
Columns15through21
0.17370.08850.0022-0.0561-0.0762-0.0642-0.0348
四、实验运行结果:
五、实验体会:
MATLAB中求解离散系统响应的专用函数filter()。
这个函数能求出由差分方程描述的离散系统在指定的时间范围内的输入序列所产生的响应序列的数值解。
利用这个函数,还可以方便的求出由差分方程描述的离散系统的阶跃响应,只用将输入信号定义为单位阶跃序列ε(k)就可以实现了。