智能制造-机器人实验室-课件_第1页
智能制造-机器人实验室-课件_第2页
智能制造-机器人实验室-课件_第3页
智能制造-机器人实验室-课件_第4页
智能制造-机器人实验室-课件_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、MATLAB Signal Processing Toolbox報告日期:2009/3/11指導老師:黃漢邦教授報告者:黃子豪MATLAB Signal Processing ToolbOutlineTime response, ConvolutionFourier, Laplace, Z-transformDTFT and FFT IIR and FIR filtersSignal Processing Toolbox Example FDAtool ExampleOutlineTime response, Convolu波形產生Wihte noise-randn(t)Square func

2、tion-square(t)Sinc函數-sinc(t) 鋸齒波-sawtooth(t) 波形產生Wihte noise-randn(t)步階響應與脈衝響應差分方程式y(n)+1.2y(n-1)+0.25y(n-2)=x(n),求出在n=0時的步階響應與脈衝響應filter指令格式 輸出信號(yn)=filter(輸入信號係數bm,輸出信號係數ak,輸入信號xn) 步階響應與脈衝響應差分方程式y(n)+1.2y(n-1)+0步階響應與脈衝響應clear;close all;t=-5:120; n0=0; %impulse starting pointa=1 1.2 0.25; %y(n) co

3、efficientb=1; %x(n) coefficient% step signalx_step=(t=n0);% impulse signalx_imp=(t=n0);%check responsestp_rep=filter(b,a,x_step);imp_rep=filter(b,a,x_imp);%plotfiguresubplot(211)stem(t,x_step);xlabel(time sequence (n);ylabel(input signal x);title(Step input signal)subplot(212)步階響應與脈衝響應clear;close al

4、l;步階響應與脈衝響應stem(t,stp_rep);line(t,zeros(1,length(t);xlabel(time sequence (n);ylabel(output signal y(n);title(Step response)figuresubplot(211)stem(t,x_imp);xlabel(time sequence);ylabel(input signal x);title(Impulse input signal)subplot(212)stem(t,imp_rep);line(t,zeros(1,length(t);xlabel(time sequence

5、 (n);ylabel(output signal y(n);title(Impulse response)步階響應與脈衝響應stem(t,stp_rep);line(線性摺積運算輸出性號y(n)可由將輸入訊號x(n)與系統脈衝響應T(n)作線性摺積而求得 函式: c=conv(a,b) c的向量長度為length(a)+length(b)-1 範例: c=conv(1 1 1,1 1 1) c= 1 2 3 2 1 線性摺積運算輸出性號y(n)可由將輸入訊號x(n)與系統脈衝線性摺積運算差分方程式y(n)+1.2y(n-1)+0.25y(n-2)=x(n), x(n)=0.5u(n), 求出

6、系統的響應%CHECK linear convolution AND full responseclear;close all;t=-5:20;n0=0; %impulse starting pointa=1 1.2 0.25; %y(n) coefficientb=1; %x(n) coefficient% step signalx_step=(t=n0);x_in=(0.5.t).*x_step; %(0.5)n*u(n)% impulse signalx_imp=(t=n0);%impulse response stp_rep1=filter(b,a,x_imp);線性摺積運算差分方程式

7、y(n)+1.2y(n-1)+0.25%convolutionstp_rep2=conv(x_in,stp_rep1); %輸入信號與脈衝響應的摺積%check response stp_rep3=filter(b,a,x_in); %使用filter指令求出系統響應與stp_rep2的結果比較%plotfiguresubplot(211)stem(t,x_in);xlabel(time sequence (n);ylabel(input signal x);title(Input signal)subplot(212)stem(t,stp_rep1);line(t,zeros(1,lengt

8、h(t);xlabel(time sequence (n);ylabel(impulse response y(n);title(Impulse response)線性摺積運算%convolution線性摺積運算線性摺積運算figuresubplot(211)stem(t,stp_rep2(6:length(t)+5);line(t,zeros(1,length(t);xlabel(time sequence (n);ylabel(output signal y(n);title(Convolution)subplot(212)stem(t,stp_rep3);line(t,zeros(1,l

9、ength(t);xlabel(time sequence (n);ylabel(output signal y(n);title(full response)線性摺積運算figureFourier transformVariable x(預設輸入變數符號) , w(預設輸出變數符號)syms t w Fourier transformVariable x(預Inverse Fourier TransformVariable w(預設輸入變數符號) , x(預設輸出變數符號)Inverse Fourier TransformVari離散傅立葉轉換% sin signalclear;close

10、all;w1=0.5*pi; %analogue signal frequencyto=1/w1; %analogue signal periodts=0.5*0.5*to; %sampling periodtd=0:ts:4; %time sequencex_sin=sin(w1.*td);%fourier transform w=0:pi/50:2*pi;for i=1:length(w) for k=1:length(x_sin); x_ff(k)=x_sin(k)*exp(-j*w(i)*k); %傅立葉轉換公式 end x_f(i)=sum(x_ff(:);end離散傅立葉轉換% s

11、in signal離散傅立葉轉換%plot sin figuresubplot(211)stem(td,x_sin);%plot the x-axis line(td,zeros(1,length(td);xlabel(time sequence n);ylabel(Sampling sin(nt);title(Sampling signal of Sin)subplot(212)plot(w/pi,abs(x_f);xlabel(pi unit);ylabel(Magnitude);line(w/pi,zeros(1,length(w/pi);title(Fourier transform

12、of sin)離散傅立葉轉換%plot sin 離散傅立葉轉換使用fft指令FFT是一種計算DFT的方法,可降低計算時間範例: clear %時間向量與訊號產生 t = (0:1/100:10-1/100); % Time vector x = sin(2*pi*15*t) + sin(2*pi*40*t); % Signal %FFT轉換 y = fft(x); % Compute FFT of x m = abs(y); % Magnitude p = unwrap(angle(y); % Phase (使相位連續) f = (0:length(y)-1)*99/length(y); %

13、Frequency vector離散傅立葉轉換使用fft指令FFT是一種計算DFT的方法,離散傅立葉轉換 %畫出振幅圖 plot(f,m); title(Magnitude); %畫出相位圖 set(gca,XTick,15 40 60 85); figure; f = (0:length(y)-1)*99/length(y); plot(f,p*180/pi); title(Phase); set(gca,XTick,15 40 60 85);離散傅立葉轉換 %畫出振幅圖逆離散傅立葉轉換-使用ifft指令%時間向量與訊號t=(0:1/255:1);x=sin(2*pi*120*t);figu

14、re;plot(t,x);title(x signal);%比較原始訊號x與重建訊號yy= real(ifft(fft(x);figure;plot(t,y);title(y signal);逆離散傅立葉轉換-使用ifft指令%時間向量與訊號Laplace TransformVariable t(預設輸入變數符號) , s(預設輸出變數符號)Laplace TransformVariable Inverse Laplace TransformVariable s(預設輸入變數符號) , t(預設輸出變數符號)Inverse Laplace TransformVariZ TransformVar

15、iable n(預設輸入變數符號) , z(預設輸出變數符號)範例: Syms z n f = n4; ztrans(f) ans = z*(z3+11*z2+11*z+1)/(z-1)5Z TransformVariable n(預設輸入變數符Inverse Z transformVariable z(預設輸入變數符號) , n(預設輸出變數符號)範例: syms z n f = 2*z/(z-2)2; iztrans(f) ans = 2n*nInverse Z transformVariable z零點-極點分析%求解根b=2 3 4;a=1 3 3 1;zer=roots(b)pol=

16、roots(a)k=b(1)/a(1)%化回多項式bb=k*poly(zer)aa=poly(pol)zplane(zer,pol)零點-極點分析%求解根Signal Processing Toolbox Example 1-設計一帶通濾波器在command window下執行playshow filtdem1.三個頻率5,15,30Hz 的sine波Signal Processing Toolbox ExaSignal Processing Toolbox Example 12.設計一1020Hz帶通之IIR帶通濾波器Signal Processing Toolbox ExamSignal

17、Processing Toolbox Example 13. 5與30Hz sin波 被濾掉,剩下 15HzSignal Processing Toolbox ExamSignal Processing Toolbox Example 14.比較濾波前後的 頻率響應Signal Processing Toolbox ExamSignal Processing Toolbox Example 2-比較濾波器差異在command window下執行playshow filtdem21.畫出理想的濾波器 頻率響應Signal Processing Toolbox ExamSignal Process

18、ing Toolbox Example 22.設計一YULEWALK 八階的 IIR filterSignal Processing Toolbox ExamSignal Processing Toolbox Example 23.設計一Butterworth and Chebyshev IIR filterSignal Processing Toolbox ExamSignal Processing Toolbox Example 24. 頻率響應圖Signal Processing Toolbox ExamFDATool(Filter Design and Analysis Tool)MA

19、TLAB 命令視窗鍵入fdatool指令fdatool1.選擇濾波器2.選擇濾波器設計方法3.指定濾波器階數4.輸入濾波器頻率規格5.輸入訊號衰減程度與漣波規格FDATool(Filter Design and Ana設計一最少階次帶通等漣波FIR濾波器取樣頻率(Fs)=2000Hz第一個阻帶結束頻率(Fstop1)=200Hz通帶開始的頻率(Fpass1)=300Hz通帶結束的頻率(Fpass2)=700Hz第二各阻帶開始的頻率(Fstop2)=800Hz第一各阻帶衰減大小(Astop1)=75dB通帶漣波大小(Apass)=0.1dB第二阻帶衰減大小(Astop2)=75dB設計一最少階次

20、帶通等漣波FIR濾波器取樣頻率(Fs)=20帶通濾波,等漣波FIR帶通等漣波FIR濾波器帶通濾波,等漣波FIR帶通等漣波FIR濾波器輸入帶通之頻率範圍輸入帶通之頻率範圍輸入振幅衰減的程度與漣波的振幅輸入振幅衰減的程度與漣波的振幅勾選Minimum order按下Design Filter勾選Minimum order分析濾波器選擇上圖之分析工具列振幅圖相位圖分析濾波器選擇上圖之分析工具列振幅圖相位圖將濾波器係數輸出到workspaceFile - Export 將濾波器係數輸出到workspaceFile - Exp將濾波器係數輸出成C標頭檔Targets Generate C Headerc

21、onst int BL = 64;const int32_T B64 = 80690, -1072542, -2939985, 5461255, 6950698, -5912941, -1602054, -5104533, -11144430, 12287884, 6241733, 6077793, 18813071, -23835745, -15696747, -5156699, -29284886, 42299228, 32893668, 454314, 43788106, -72822941, -65058054, 12465656, -67152964, 133647322, 1398

22、47119, -51918454, 129068678, -362675861, -580944589, 712218408, 712218408, -580944589, -362675861, 129068678, -51918454, 139847119, 133647322, -67152964, 12465656, -65058054, -72822941, 43788106, 454314, 32893668, 42299228, -29284886, -5156699, -15696747, -23835745, 18813071, 6077793, 6241733, 12287

23、884, -11144430, -5104533, -1602054, -5912941, 6950698, 5461255, -2939985, -1072542, 80690;將濾波器係數輸出成C標頭檔Targets Genera形成M-filefunction Hd = firbandstop%firbandstop Returns a discrete-time filter objectFs = 2000; % Sampling FrequencyFstop1 = 200; % First Stopband Frequency Fpass1 = 300; % First Passband FrequencyFpass2 = 700; % Second Passband FrequencyFstop2 = 800; % Second Stopband FrequencyDstop1 = 0.000177827941; % First Stopband AttenuationDpass = 0.0057563991496; % Passband RippleDstop2 = 0.000177827941; % Second Stopband Attenuationd

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论