[討論] continuous-discrete轉換 impulse invariance "impinvar"已回收

看板MATLAB作者 (荒唐)時間13年前 (2011/01/18 00:49), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
請問各位懂得訊號處理的前輩們 我現在做了一個類比濾波器和一個數位濾波器 想看他們響應的總合 所以必須把analog filter轉到discrete time domain 這樣把兩者的響應加總才合理 也就是要把analog filter的impulse response取sampling讓他產生aliasing 但是我發現了一個奇怪的現象 想很久都不懂 code如下 .................... clear all clc fp = 18.125e6; % passband edge fstop = 60e6; % stopband edge fs = 640e6; % sampling freq. Rp = 0.05; % passband maxmum attenuation Rs = 9; % stopband minimum attenuation [n,w] = buttord(fp*2*pi,fstop*2*pi,Rp,Rs,'s'); [b,a] = butter(n,w,'s'); H = freqs(b,a, [0:2^7-1]/(2^7)*(fs/2)*(2*pi) ); M = 20*log10(abs(H)/max(abs(H))); [bz,az] = impinvar(b,a,fs); [Hz,wz] = freqz(bz,az,2048,fs); Mz = 20*log10((abs(Hz))/max(abs(Hz))); plot([0:2^7-1]/(2^7)*(fs/2),M,wz,Mz) legend('s-domain','z-domain') ...................... 圖型出來的結果竟然是有aliasing以後的濾波器performance較好 (stopband rejection較多) 但是這個現象發生在特定參數下 比如說把Rp改成0.5或0.01結果都正常 可不可以請教各位前輩這是哪裡出錯了? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.150.151
文章代碼(AID): #1DD7Cmk5 (MATLAB)