一、系統的拉普拉斯變換和反變換
1、MATLAB函數
F=laplace(f) %求拉氏變換
f=ilaplace(F) %求拉氏反變換
2、例子
clear all;clc;close all f=sym('exp(-t)*sin(a*t)*heaviside(t)') F=laplace(f) %求拉氏變換 F=sym('s^2/(s^2+1)') f=ilaplace(F) %求拉氏反變換
二、利用部分分式展開求解拉氏反變換(數學表達式):
1、MATLAB函數
[r,p,k]=residue(num,den)
%r為所得部分分式展開式的系數向量
%p為極點
%k為直流分量
2、例子
%shiyan3_2 用部分分式展開法求解拉氏反變換 clear all;clc;close all num=[1 2];%分母多項式的系數向量,從高次冪往低次冪排列 den=[1 4 3 0];%分子多項式的系數向量,從高次冪往低次冪排列,不要忘記該補零的補零值 [r,p,k]=residue(num,den); %用esidue函數進行展開% f=0; syms t; for i=1:length(p) f=f+r(i)*exp(p(i)*t); end f
三、 系統的零極點分布及其穩定性
1、穩定性的條件,系統的極點位於零極點圖的左半平面。
2、利用matlab計算h(s)的零極點並分析系統穩定性。
3、畫極點的例子
%shiyan3_3 求H(s)=(s-1)/(s^2+2s+2)的零極點及其分布圖 %采用roots和plot函數 clear all ; clc; close all; b=[1,-1]; a=[1 2 2]; zs=roots(b);ps=roots(a); figure(1) plot(real(zs),imag(zs),'o',real(ps),imag(ps),'kx','markersize',12); axis([-2,2,-2,2]);grid on;legend('零點','極點') %利用pole和zero函數 num=[1,-1]; den=[1,2,2]; H = tf(num,den);%采用tf函數獲得LTI系統模型sys zs=zero(H);ps=pole(H); figure(2) plot(real(zs),imag(zs),'o',real(ps),imag(ps),'kx','markersize',12); axis([-2,2,-2,2]);grid on;legend('零點','極點') %采用pzmap函數 num=[1,-1]; den=[1,2,2]; H = tf(num,den);%采用tf函數獲得LTI系統模型sys figure(3) pzmap(H); %采用tf2zp和zplane函數 A=[1,2,2]; B=[1,-1]; figure(4) [z,p]=tf2zp(B,A) zplane(z,p)
4、計算h(s)的零極點並分析系統穩定性
四、系統的零極點分布與系統沖激響應時域特性(P294)
1、例子
clear all;clc;close all; a=[1,1,16.25]; b=[1]; impulse(b,a,5)
五、連續系統的頻率響應
1、MATLAB提供了專門對連續系統頻率響應H(jw)進行分析的函數freqs(),該函數可以求出系統頻率響應的數值解,並可繪出系統的幅頻和相頻響應曲線
2、例子:
clear all;clc;close all; b=[1]; a=[0.08 0.4 1]; [h,w]=freqs(b,a,100) h1=abs(h); %求幅頻 h2=angle(h); %求相頻 figure(1) 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)的相頻特性'); figure(2) freqs(b,a)
3、由連續系統零極點分布分析系統的頻率特性
由連續系統零極點分布求系統的頻率特性的步驟:
定義包含系統所有零點&極點的行向量z&列向量y
定義繪制系統頻率響應曲線的頻率起始值f1&終止值f2、頻率取樣間隔k(頻率的變化步長),並產生頻率等分點向量f;
求出系統所有零點&極點到這些等分點的距離;
l求出系統所有零點&極點到這些等分點的矢量的相角;
根據(1)式&(2)式求出f1到f2頻率范圍內各頻率等分點的 & 的值
繪制f1到f2頻率范圍內的幅頻響應&相頻響應曲線
function pz_plxy(f1,f2,k,p,z) %根據系統零極點分布繪制系統頻率響應曲線程序 %f1、f2:繪制頻率響應曲線的頻率范圍(即頻率起始和終止點,單位為赫茲) %p、z:系統函數極點和零點位置行向量 %k:繪制頻率響應曲線的頻率取樣間隔 p=p'; %變成列向量 z=z'; f=f1:k:f2; %定義繪制系統頻率響應曲線的頻率范圍 w=f*(2*pi); y=i*w; %虛數軸上 n=length(p); m=length(z); if n==0 %如果系統無極點 yq=ones(m,1)*y; vq=yq-z*ones(1,length(w)); bj=abs(vq); bw=angle(vq); ai=1; aw=0; elseif m==0 %如果系統無零點 yp=ones(n,1)*y; vp=yp-p*ones(1,length(w)); aw=angle(vp); ai=abs(vp); bj=1; bw=0; else yp=ones(n,1)*y; yq=ones(m,1)*y; vp=yp-p*ones(1,length(w)); vq=yq-z*ones(1,length(w)); ai=abs(vp); aw=angle(vp); bj=abs(vq); bw=angle(vq) end figure(1) Hw=prod(bj,1)./prod(ai,1); plot(f,Hw); title(' 系統幅頻響應曲線') xlabel(' 頻率w(單位:赫茲)') ylabel('H(jw)') figure(2) Anglew=sum(bw,1)-sum(aw,1); plot(f,Anglew); title(' 系統相頻響應曲線') xlabel(' 頻率w(單位:rad)') ylabel('angle(jw)')