资源描述:
《国立台湾大学机器人实验室.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MATLABSignalProcessingToolbox報告日期:2009/3/11指導老師:黃漢邦教授報告者:黃子豪OutlineTimeresponse,ConvolutionFourier,Laplace,Z-transformDTFTandFFTIIRandFIRfiltersSignalProcessingToolboxExampleFDAtoolExample波形產生Wihtenoise---randn(t)Squarefunction---square(t)Sinc函數---sinc(t)鋸齒波---sawtooth(t)步階響應與脈衝響應差分方程式y(n)+1.2y(n-1
2、)+0.25y(n-2)=x(n),求出在n=0時的步階響應與脈衝響應filter指令格式輸出信號(yn)=filter(輸入信號係數bm,輸出信號係數ak,輸入信號xn)步階響應與脈衝響應clear;closeall;t=-5:120;n0=0;%impulsestartingpointa=[11.20.25];%y(n)coefficientb=[1];%x(n)coefficient%stepsignalx_step=(t>=n0);%impulsesignalx_imp=(t==n0);%checkresponsestp_rep=filter(b,a,x_step);imp_rep=
3、filter(b,a,x_imp);%plotfiguresubplot(211)stem(t,x_step);xlabel('timesequence(n)');ylabel('inputsignalx');title('Stepinputsignal')subplot(212)步階響應與脈衝響應stem(t,stp_rep);line(t,zeros(1,length(t)));xlabel('timesequence(n)');ylabel('outputsignaly(n)');title('Stepresponse')figuresubplot(211)stem(t,x_imp);
4、xlabel('timesequence');ylabel('inputsignalx');title('Impulseinputsignal')subplot(212)stem(t,imp_rep);line(t,zeros(1,length(t)));xlabel('timesequence(n)');ylabel('outputsignaly(n)');title('Impulseresponse')線性摺積運算輸出性號y(n)可由將輸入訊號x(n)與系統脈衝響應T(n)作線性摺積而求得函式:c=conv(a,b)c的向量長度為length(a)+length(b)-1範例:c=con
5、v([111],[111])c=12321線性摺積運算差分方程式y(n)+1.2y(n-1)+0.25y(n-2)=x(n),x(n)=0.5u(n),求出系統的響應%CHECKlinearconvolutionANDfullresponseclear;closeall;t=-5:20;n0=0;%impulsestartingpointa=[11.20.25];%y(n)coefficientb=[1];%x(n)coefficient%stepsignalx_step=(t>=n0);x_in=(0.5.^t).*x_step;%(0.5)^n*u(n)%impulsesignalx_i
6、mp=(t==n0);%impulseresponsestp_rep1=filter(b,a,x_imp);%convolutionstp_rep2=conv(x_in,stp_rep1);%輸入信號與脈衝響應的摺積%checkresponsestp_rep3=filter(b,a,x_in);%使用filter指令求出系統響應與stp_rep2的結果比較%plotfiguresubplot(211)stem(t,x_in);xlabel('timesequence(n)');ylabel('inputsignalx');title('Inputsignal')subplot(212)ste
7、m(t,stp_rep1);line(t,zeros(1,length(t)));xlabel('timesequence(n)');ylabel('impulseresponsey(n)');title('Impulseresponse')線性摺積運算線性摺積運算figuresubplot(211)stem(t,stp_rep2(6:length(t)+5));line(t,zeros(1,length(t