資源描述:
《MATLAB在信號處理中的應用中》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、第一講信號及其運算的MATLAB表示1.1連續(xù)信號1、指數(shù)信號形式:y=A*exp(a*t)2、正弦信號形式:y=A*cos(w0*t+f)或:y=A*sin(w0*t+f)13、抽樣函數(shù)用sinc函數(shù)表示,其定義為:sinc(t)=sin(πt)/(πt)MATLAB語言調用形式:y=sinc(t)t=-3*pi:pi/100:3*pi;y=sinc(t/pi);plot(t,y),gridon24、矩形脈沖信號MATLAB語言調用形式:y=rectpuls(t,width)產生一個幅值為1,寬度為wi
2、dth、相對于t=0點左右對稱的矩形波信號t=0:0.001:4;T=1;y=rectpuls(t-2*T,2*T);plot(t,y),gridonaxis([0,4,-0.5,1.5])以t-2*T=0,即t=2*T為對稱中心3周期性矩形脈沖信號MATLAB語言調用形式:y=square(t,duty)產生一個周期為2π,幅值為±1的周期性方波,duty表示占空比(dutycycle)t=-0.0625:0.0001:0.0625;y=square(2*pi*30*t,75);plot(t,y),gr
3、idonaxis([-0.1,0.1,-1.5,1.5])占空比75%45、三角脈沖信號MATLAB語言調用形式:y=tripuls(t,width,skew)產生一個最大幅值為1,寬度為width、斜度為skew的三角波信號.t=-3:0.0001:3;y=tripuls(t,4,0.5);plot(t,y),gridonaxis([-3,3,-1.5,1.5])5周期性三角脈沖信號MATLAB語言調用形式:y=sawtooth(t,width)產生一個周期為2π,最大幅值為1,最小幅值為-1周期性三角
4、波信號.t=-5*pi:0.0001:5*pi;y=sawtooth(t,0.5);plot(t,y),gridonaxis([-16,16,-1.5,1.5])66、一般周期性脈沖信號MATLAB語言調用形式:y=pulstran(t,d,’func’)依據(jù)名為func的連續(xù)函數(shù)并以之為一個周期,從而產生一串周期性的連續(xù)函數(shù)。用于指定周期性的偏移量,這個func函數(shù)會被計算length(d)次,最后值相當于:y=func(t-d(1))+func(t-d(2))+...更一般的調用形式為:y=pulst
5、ran(t,d,’func’,p1,p2)。其中p1,p2為需要傳送給func函數(shù)的額外輸入?yún)?shù)值,最后值相當于:y=func(t-d(1),p1,p2,...)+func(t-d(2),p1,p2,...)+...7t=0:0.0001:1;d=0:1/3:1;y=pulstran(t,d,'rectpuls',0.1);figure(1),plot(t,y),gridonaxis([0,1,-0.1,1.5])yy=pulstran(t,d,'tripuls',0.1,-1);figure(2),pl
6、ot(t,yy),gridonaxis([0,1,-0.1,1.5])81.2離散信號1、指數(shù)序列a.^k2、正弦序列離散的指數(shù)序列與正弦序列用MATLAB的表示與連續(xù)信號類似,只不過用stem函數(shù)而不是用plot函數(shù)來畫出序列的波形.93、單位沖激序列單位沖激序列k=-50:50;y=[zeros(1,50),1,zeros(1,50)];stem(k,y)function[y,k]=impseq(k0,k1,k2);k=k1:k2;y=[k-k0==0]寫成MATLAB函數(shù)文件形式若δ[k-k0]在k
7、1≤k≤k2范圍內104、單位階躍序列單位階躍序列k=-50:50;y=[zeros(1,50),ones(1,51)];stem(k,y),axis([-60,60,-0.5,1.5])寫成函數(shù)文件形式若u[k-k0]在k1≤k≤k2function[y,k]=stepseq(k0,k1,k2);k=k1:k2;y=[k-k0>=0]111.3信號運算的MATLAB實現(xiàn)2、離散序列的差分與求和1、信號的尺度變換、反轉和平移差分?f(k)=f(k)-f(k-1)用diff函數(shù)求和用sum函數(shù)123、連續(xù)信
8、號的微分與積分微分可用diff函數(shù)積分用quad函數(shù),調用形式:quad(‘function_name’,a,b)例:對于三角波,畫出df(t)/dt和?t-∞f(t)dt的波形functiony=funtrip(t)y=tripuls(t,4,0.5);13h=0.001,t=-3:h:3;y1=diff(funtrip(t))*1/h;figure(1),plot(t(1:length(t)-1),y1);title('d