目錄
符號變換
Fourier變換及其反變換
fourier()是算符號表達式的傅里葉變換的,算出來結果要畫圖可以用ezplot();
【例 1】求 的 Fourier 變換。
matlab 代碼:
% 傅里葉變換
syms t w
ut=heaviside(t);
UT=fourier(ut)
% 結果
UT =
pi*dirac(w)-i/w
% 傅里葉反變換
Ut=ifourier(UT,w,t)
% 結果
Ut =
heaviside(t)
【例 2】根據 Fourier 變換定義,用積分指令求方波脈衝 的Fourier 變換。
% 傅里葉變換
syms A t w
syms tao positive
yt=heaviside(t+tao/2)-heaviside(t-tao/2);
Yw=fourier(A*yt,t,w)
% 結果
Yw =
2*A/w*sin(1/2*tao*w)
% 傅里葉反變換
Yt=ifourier(Yw,w,t)
% 結果
Yt =
A*(heaviside(t+1/2*tao)-heaviside(t-1/2*tao))
% 畫圖
yt3=subs(yt,tao,3)
Yw3=subs(Yw,[A,tao],[1,3])
subplot(2,1,1)
Ht=ezplot(yt3,[-3,3]);
set(Ht,'Color','r','LineWidth',3)
subplot(2,1,2),ezplot(Yw3)
% 輸出結果
yt3 =
heaviside(t+3/2)-heaviside(t-3/2)
Yw3 =
2/w*sin(3/2*w)
Laplace變換及其反變換
1、拉普拉斯(laplace)變換
語法:F= laplace(f,t,s) %求時域函數f(t)的laplace變換F
說明:F是s的函數,參數s省略,返回結果F默認爲’s’的函數;f爲t的函數,當參數t省略,默認自由變量爲’t’。
【例1】求 的 Laplace 變換。
% Laplace變換
syms t s;
syms a b positive
Dt=dirac(t-a);
Ut=heaviside(t-b);
Mt=[Dt,Ut;exp(-a*t)*sin(b*t),t^2*exp(-t)];
MS=laplace(Mt,t,s)
% 結果
MS =
[ exp(-s*a), exp(-s*b)/s]
[ 1/b/((s+a)^2/b^2+1), 2/(s+1)^3]
2、拉普拉斯(laplace)反變換
語法:F=i laplace(f,t,s) %求F的laplace反變換f
【 例2】 求1/(s+a)和1函數的laplace反變換
% 1/(s+a)函數的laplace反變換
syms a t s
f1=ilaplace(1/(s+a),s,t) %求1/(s+a)函數的laplace反變換
% 1函數的laplace反變換
f2=ilaplace(1,s,t) %求1函數的laplace反變換是脈衝函數dirac(t)
% 結果
f1 =
exp(-a*t)
f2 =
dirac(t)
【例 3】驗證 Laplace 時移性質:。
% 代碼
syms t s
syms t0 positive
ft=sym('f(t-t0)')*heaviside(t-t0)
FS=laplace(ft,t,s)
FS_t=ilaplace(FS,s,t)
% 結果
ft =
f(t-t0)*heaviside(t-t0)
FS =
exp(-s*t0)*laplace(f(t),t,s)
FS_t =
f(t-t0)*heaviside(t-t0)
Z變換及其反變換
1、z變換ztrans
單位階躍函數:f(t)=1(t)
採樣值f(nT)=1
clc,clear;
syms z
f=1;
ztrans(f,z)%'f'是單位階躍函數,'z'是z函數的變量
單位階躍函數:
clc,clear
syms a b t z
f=1/(a-b)*(exp(-(b*t))-exp(-a*t));
ztrans(f)
2、z反變換iztrans
clc,clear
syms n z
f=1;
F=ztrans(f,n,z);
iztrans(F,z,n)
【例 2.5-6】求序列 的 Z 變換,並用反變換驗算。
% z變換
syms n
Delta=sym('charfcn[0](n)'); % <2>
D0=subs(Delta,n,0); %
D15=subs(Delta,n,15); %
disp('[D0,D15]');disp([D0,D15])
% 結果
[D0,D15]
[ 1, 0]
% z反變換
syms z
fn=2*Delta+6*(1-(1/2)^n)
FZ=simple(ztrans(fn,n,z));
disp('FZ = ')
pretty(FZ)
FZ_n=iztrans(FZ,z,n)
% 結果
fn =
2*charfcn[0](n)+6-6*(1/2)^n
FZ =
2
4 z + 2
--------------
2
2 z - 3 z + 1
FZ_n =
2*charfcn[0](n)+6-6*(1/2)^n
符號卷積
【例 1】已知系統衝激響應輸入下的輸出響應。
% 變換
syms T t tao
ut=exp(-t);
ht=exp(-t/T)/T;
uh_tao=subs(ut,t,tao)*subs(ht,t,t-tao);
yt=simple(simple(int(uh_tao,tao,0,t)))
% 結果
yt =
-(exp(-t)-exp(-t/T))/(T-1)
【例 2】採用 Laplace 變換和反變換求上例的輸出響應。
% 代碼
syms s
yt=ilaplace(laplace(ut,t,s)*laplace(ht,t,s),s,t);
yt=simple(yt)
% 結果
yt =
(-exp(-t)+exp(-t/T))/(T-1)
【例 2.5-9】求函數 和 的卷積。
% 代碼
syms tao
t=sym('t','positive');
ut=heaviside(t)-heaviside(t-1);
ht=t*exp(-t);
yt=int(subs(ut,t,tao)*subs(ht,t,t-tao),tao,0,t)
yt=collect(yt,'heaviside(t-1)')
% 結果
yt =
1+t*heaviside(t-1)*exp(1-t)-heaviside(t-1)+(-t-1)/exp(t)
yt =
(exp(1-t)*t-1)*heaviside(t-1)+1+(-t-1)/exp(t)
備註
各位老鐵來個“關注”、“點贊”、“評論”三連擊哦
各位老鐵來個“關注”、“點贊”、“評論”三連擊哦
各位老鐵來個“關注”、“點贊”、“評論”三連擊哦