实验六信号与系统复频域分析Word格式.docx
《实验六信号与系统复频域分析Word格式.docx》由会员分享,可在线阅读,更多相关《实验六信号与系统复频域分析Word格式.docx(8页珍藏版)》请在冰豆网上搜索。
2.用MATLAB分析LTI系统的特性
系统函数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(t)和频率响应
可以用以前介绍过的impulse和freqs函数。
例6-2已知系统函数为
试画出其零极点分布图,求系统的单位冲激响应h(t)和频率响应
,并判断系统是否稳定。
解:
其MATLAB程序如下:
num=[1];
den=[1,2,2,1];
sys=tf(num,den);
figure
(1);
pzmap(sys);
t=0:
:
10;
h=impulse(num,den,t);
figure
(2);
plot(t,h)
title('
ImpulseResponse'
)
[H,w]=freqs(num,den);
figure(3);
plot(w,abs(H))
xlabel('
\omega'
MagnitudeResponse'
)
3.用MATLAB进行Laplace正、反变换
MATLAB的符号数学工具箱提供了计算Laplace正、反变换的函数Laplace和ilaplace,其调用格式为
上述两式右端的f和F分别为时域表示式和s域表示式的符号表示,可以应用函数sym实现,其调用格式为
S=sym(A)
式中,A为待分析表示式的字符串,S为符号数字或变量。
例6-3试分别用Laplace和ilaplace函数求
(1)
的Laplace变换;
(2)
的Laplace反变换。
(1)其程序为
f=sym('
exp(-t)*sin(a*t)'
);
F=laplace(f)
或
symsat
F=laplace(exp(-t)*sin(a*t))
(2)其程序为
F=sym('
s^2/(s^2+1)'
ft=ilaplace(F)
symss
ft=ilaplace(s^2/(s^2+1))
4.离散系统零极点图
离散系统可以用下述差分方程描述:
Z变换后可得系统函数:
用MATLAB提供的root函数可分别求零点和极点,调用格式是
p=[a0,a1…an],q=[b0,b1…bm,0,0…0],补0使二者维数一样。
画零极点图的方法有多种,可以用MATLAB函数[z,p,k]=tf2zp(b,a)和zplane(q,p),也可用plot命令自编一函数,画图时调用。
functionljdt(A,B)
%Thefunctiontodrawthepole-zerodiagramfordiscretesystem
p=roots(A);
%求系统极点
q=roots(B);
%求系统零点
p=p'
;
%将极点列向量转置为行向量
q=q'
%将零点列向量转置为行向量
x=max(abs([pq1]));
%确定纵坐标范围
x=x+;
y=x;
%确定横坐标范围
clf
holdon
axis([-xx-yy])%确定坐标轴显示范围
w=0:
pi/300:
2*pi;
t=exp(i*w);
plot(t)%画单位园
axis('
square'
plot([-xx],[00])%画横坐标轴
plot([00],[-yy])%画纵坐标轴
text,x,'
jIm[z]'
text(y,1/10,'
Re[z]'
plot(real(p),imag(p),'
x'
)%画极点
plot(real(q),imag(q),'
o'
)%画零点
pole-zerodiagramfordiscretesystem'
)%标注标题
holdoff
例6-4求系统函数零极点图
a=[3-10001];
b=[11];
ljdt(a,b)
p=roots(a)
q=roots(b)
pa=abs(p)
5.离散系统的频率特性
离散系统的频率特性可由系统函数求出,既令
MATLAB函数freqz可计算频率特性,调用格式是:
[H,W]=freqz(b,a,n),b和a是系统函数分子分母系数,n是
范围n个等份点,默认值512,H是频率响应函数值,W是相应频率点;
[H,W]=freqz(b,a,n,’whole’),n是
范围n个等份点;
freqz(b,a,n),直接画频率响应幅频和相频曲线;
例6-5系统函数
运行如下语句,可得10个频率点的计算结果
A=[10];
B=[1];
[H,W]=freqz(B,A,10)
继续运行如下语句,可将400个频率点的计算结果用plot语句画幅频和相频曲线
A=[10];
[H,w]=freqz(B,A,400,'
whole'
Hf=abs(H);
Hx=angle(H);
clf
figure
(1)
plot(w,Hf)
title('
离散系统幅频特性曲线'
figure
(2)
plot(w,Hx)
离散系统相频特性曲线'
还可用freqz语句直接画图,注意区别
freqz(B,A,400)
例6-6用几何矢量法,自编程序画频率响应
原理:
频率响应
编程流程:
定义Z平面单位圆上k个频率等分点;
求出系统函数所有零点和极点到这些等分点的距离;
求出系统函数所有零点和极点到这些等分点的矢量的相角;
求出单位圆上各
频率等分点的
画指定范围内的幅频与相频。
若要画零极点图,可调用函数。
functiondplxy(k,r,A,B)
%Thefunctiontodrawthefrequencyresponseofdiscretesystem
p=roots(A);
%求极点
q=roots(B);
%求零点
figure
(1)
ljdt(A,B)%画零极点图
l*pi/k:
r*pi;
y=exp(i*w);
%定义单位圆上的k个频率等分点
N=length(p);
%求极点个数
M=length(q);
%求零点个数
yp=ones(N,1)*y;
%定义行数为极点个数的单位圆向量
yq=ones(M,1)*y;
%定义行数为零点个数的单位圆向量
vp=yp-p*ones(1,r*k+1);
%定义极点到单位圆上各点的向量
vq=yq-q*ones(1,r*k+1);
%定义零点到单位圆上各点的向量
Ai=abs(vp);
%求出极点到单位圆上各点的向量的模
Bj=abs(vq);
%求出零点到单位圆上各点的向量的模
Ci=angle(vp);
%求出极点到单位圆上各点的向量的相角
Dj=angle(vq);
%求出零点到单位圆上各点的向量的相角
fai=sum(Dj,1)-sum(Ci,1);
%求系统相频响应
H=prod(Bj,1)./prod(Ai,1);
%求系统幅频响应
figure
(2)
plot(w,H);
%绘制幅频特性曲线
角频率'
ylabel('
幅度'
figure(3)
plot(w,fai)
离散系统的相频特性曲线'
相位'
已知系统函数
,画频率响应和零极点图。
A=[1-1/4];
B=[5/4-5/4];
dplxy(500,2,A,B)%绘制系统2π频率范围内500个频率点的幅频和相频特性曲线及零极点图
三、上机实验内容
1.验证实验原理中所述的相关程序;
2.求信号
的拉普拉斯变换
3.求函数
的反变换
4.已知连续系统的系统函数如下,试用MATLAB绘制系统的零极点图,并根据零极点图判断系统的稳定性
5.系统函数是
求频率响应。