matlab數字濾波器

MATLAB提供了專門用於求離散系統頻響特性的函數freqz(),調用freqz()的格式有以下兩種:
(1)[H,w]=freqz(B,A,N)
(2)[H,w]=freqz(B,A,N,'whole')


(1)中B和A分別爲離散系統的系統函數分子、分母多項式的係數向量,返回量H則包含了離散系統頻響在 0~pi範圍內N個頻率等分點的值(其中N爲正整數),w則包含了範圍內N個頻率等分點。調用默認的N時,其值是512。

(2)中調用格式將計算離散系統在0~pi範內的N個頻率等分店的頻率響應的值。
因此,可以先調用freqz()函數計算系統的頻率響應,然後利用abs()和angle()函數及plot()函數,即可繪製出系統在 或 範圍內的頻響曲線。
繪製如下系統的頻響曲線
y(n)=x(n)-x(n-3) %減法濾波器 

MATLAB命令如下:

clear all; 
clc; 
fs=600; 
b=[1,0,0,-1]; 
a=[1]; 
[h,f]=freqz(b,a,256,fs); 
mag=abs(h); 
ph=angle(h); 
ph=ph*180/pi; 
subplot(2,1,1) 
plot(f,mag); 
grid on 
xlabel('頻率(Hz)'); 
ylabel('幅頻特性'); 
subplot(2,1,2) 
plot(f,ph); 
grid on 
xlabel('頻率(Hz)'); 
ylabel('相頻特性');
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章