回覆列表
  • 1 # 使用者6765375850720

      衝擊響應不變法函式

      [bz,az]=impinvar(b,a,Fs)

      [bz,az]=impinvar(b,a)

      例如:取取樣頻率f=1KHz,用雙線性變換法設計五階Butterworth低通數字濾波器,繪出模擬濾波器與數字濾波器的幅頻與相頻特性,MATLAB程式如下:

      [z,p,k]=buttap(5) ;% 設計五階Butterworth低通模擬濾波器原型

      [zd,pd,kd]=bilinear(z,p,k,1000);%雙線性變換得到低通數字濾波器

      [b,a]=zp2tf(zd,pd,kd);%濾波器型別轉換

      w=128;

      freqs(b,a,w)

      figure;

      freqz(b,a,w)

      例項:1、設帶通濾波器的濾波器中心頻率為W0=2KHz,頻寬為BW=100Hz, 取取樣頻率f=10kHZ,用脈衝相應不變法設計,設計五階帶通Butterworth數字濾波器,繪出數字濾波器的頻譜特性

      [z,p,k]=buttap(5);

      [b,a]=zp2tf(z,p,k);

      w=128;

      w0=2000;

      [bt,at]=lp2bp(b,a,w0,10000);

      [bz,az]=impinvar(b,a,w);

      freqz(bt,at,w)

      2、直接設計五階butterworth帶通濾波器,繪出頻譜圖。(高階與低端截止頻率分別為0.2和0.9)

      figure;

      w=[0.2,0.9];

      [b,a]=butter(5,w);

      freqz(b,a)

      3、設高通截止頻率為w0=10000Hz, 取取樣頻率f=20000,用雙線性變換法設計六階高通Butterworth數字濾波器,繪出數字濾波器的頻譜特性

      [z,p,k]=besselap(6);

      [b,a]=zp2tf(z,p,k);

      w=128;

      w0=10000;

      [bt,at]=lp2hp(b,a,w0);

      [bz,az]=bilinear(bt,at,20000);

      freqz(bz,az,w)

      4、取取樣頻率f=100Hz,用雙線性變換法設計五階Butterworth低通數字濾波器,繪出模擬濾波器與數字濾波器的幅頻與相頻特性

      [z,p,k]=buttap(5);

      [zd,pd,kd]=bilinear(z,p,k,100);

      [b,a]=zp2tf(zd,pd,kd);

      w=128;

      freqs(b,a,w);

      figure;

      freqz(b,a,w)

      具體的得根據情況自己確定

  • 中秋節和大豐收的關聯?
  • 寶媽一枚,2年前開過一家母嬰店,房租高就關了,現在想開童裝店,大家有好的意見嗎?