matlab繪製數字濾波器的幅頻響應曲線
FREQZ 是計算數字濾波器的頻率響應的函式 [H,W] = FREQZ(B,A,N)
可以先呼叫freqz()函式計算系統的頻率響應,然後利用abs()和angle()函式及plot()函式,即可繪製出系統在或 範圍內的頻響曲線。
In its simplest form, freqz
accepts the filtercoefficient vectors b
and a
,and an integer p
specifying the number of pointsat which to calculate the frequency response. freqz
returnsthe complex frequency response in vector h
w
in rad/s.呼叫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個頻率等分點的頻率響應的值。
例:
繪製如下系統的頻響曲線
H(z)=(z-0.5)/z
MATLAB命令如下:
B=[1-0.5];
A =[10];
[H,w]=freqz(B,A,400,'whole');
Hf=abs(H);
Hx=angle(H);
clf
figure(1)
plot(w,Hf)
title('離散系統幅頻特性曲線')
figure(2)
plot(w,Hx)
title('離散系統相頻特性曲線')
MATLAB官方例項 http://cn.mathworks.com/help/signal/ref/freqz.html?requestedDomain=true
2018年4月23日15:27:45
更:在影象處理運算元過程中如果要得到掩模模板的幅頻響應,直接可以用freqz2來得到
官方例項:https://ww2.mathworks.cn/help/images/ref/freqz2.html