以前有一篇iir濾波器設計的文章。與iir相對應,這篇文章主要講fir濾波器的設計。
fir(finite impulse response)濾波器:有限長單位衝激響應濾波器,又稱為非遞迴型濾波器,是數字訊號處理
系統中最基本的元件,它可以在保證任意幅頻特性的同時具有嚴格的線性相頻特性,同時其單位抽樣響應是有限長的,因而濾波器是穩定的系統。因此,fir濾波器在通訊、影象處理、模式識別
等領域都有著廣泛的應用。
fir濾波器的優點,一定是穩定的(極點都在0的位置),可以做到線性相位,而iir的相位是非線性的(摘自鄭君里《訊號與系統》)。
按奇偶節數、奇偶對稱,把實h(n)的fir分為四類。
從hg(w)可以看出,有些就不能做低通,有些就不能做高通,等。
其他詳細內容,可自行查閱資料。
fir濾波器設計方法「據說」有很多種。本科上課的時候,就教過一種,窗函式法。
大致意思就是,要設計什麼,就用那種對應的理想濾波器去乘以乙個窗函式。
假設要設計乙個lpf。理想lpf最好理解。但由於***x原因,不能物理實現。
上海交大(sjtu)某一年考研題目問的就是「為什麼理想lpf物理不可實現」,以及什麼是gibbs(吉布斯)現象。
理想lpf的單位脈衝相應h(n)是無限長的,實際中不可能做到無限長的,所以希望用有限長的h1(n)去逼近h(n),
實現最小均方誤差意義下的最優。
有人證明了,把理想的h(n)截斷,就可以得到最小均方誤差意義下的最優。
截斷的意思就是,加矩形窗w(n)。時域相乘,頻域就是拿著h(jw)和窗函式的w(jw)卷積。
後來在有些場合下,發現矩形窗不能滿足需求,於是有了三角窗、hanning窗、hamming窗、blackman窗、kaiser窗等。
乙個理解就是拿主瓣寬度和旁瓣衰減互換。魚和熊掌不可兼得。
e.g. 矩形窗,主瓣窄,旁瓣大,過渡帶頻寬寬,旁瓣衰減不夠大。
總之,需要根據需求,選擇窗函式。
用maltab設計fir線性相位濾波器的步驟大致如下。
1. 根據需求,提出指標。
2. 把指標化成數字的。
3. 按照指標,選窗函式。
4. 按過渡帶頻寬,定階數。但是,要注意階數是否滿足頻率特性。比如,有些線性相位fir濾波器就不能實現低通……
5. 呼叫fir1確定係數。
6. 檢驗其頻率響應。又是乙個反覆試驗,反覆修正的過程。
注意, 千萬小心,matlab裡,zplane對fir濾波器,慎用!慎用!不要輕易對fir的係數求零極點。
階數很高的時候,電腦要算死的。
%% 內容:設計fir濾波器
% 版本:v1.0
clear;
close all;
clc%%
fs = 8000; % 取樣率
fp = 1000; % hz 通帶截止頻率 起伏小於*** db
fs = 1500; % hz 阻帶截止頻率 衰減大於*** db
wp = 2*pi * fp / fs; % 對應的數字角頻率
ws = 2*pi * fs / fs; % ***
fc = (fp+fs)/2; % 要設計的fir的截止頻率 -_-! 幾個概念容易搞混
% 就lpf來講,fc按理說可能可以取為 fc = fp + (fs-fp) * theta, theta在0~1之間
w_bw = (ws-wp); % 過渡帶頻寬
% 如果要求阻帶最小的衰減為 50 db,查表發現hamming窗就可以滿足條件
n = ceil(3.3 * 2*pi /w_bw); % 濾波器長度 3.3為hamming窗過渡段的引數,用來求濾波器長度
win = hamming(n+1);
fs2 = fs/2;
wn = fc/fs2;
b = fir1(n,wn,win);
[h,w] = freqz(b,1,1e4);
figure(1);
subplot(211);
stem(b);
title('單位脈衝響應');
grid on;
subplot(212);
plot(w/2/pi*fs,20*log10(abs(h)+eps));
title('幅頻特性');
xlabel('頻率(hz)');
grid on;
figure(2);
subplot(311);
plot(w/2/pi*fs,20*log10(abs(h)+eps));
title('幅頻特性');
grid on;
subplot(312);
plot(w/2/pi*fs,angle(h));
title('相頻特性');
grid on;
subplot(313);
plot(w/2/pi*fs,unwrap(angle(h)));
grid on;
title('相頻特性(解捲繞後)');
xlabel('頻率(hz)');
最後一張圖中,相頻特性進行了解捲繞(unwrap)。可以看出,相位確實是線性的。
摘自鄭君里《訊號與系統》。
數字濾波器 FIR和IIR
傳統的線性數字濾波器一般有兩種型別,有限衝激響應 fir 濾波器和無限衝激響應 iir 濾波器。fir數字濾波器只用當前和過去的輸入樣點值來得到當前的輸出樣點值,過去的輸出樣點值乙個也未用到。給定乙個有限持續時間的非0輸入值,fir濾波器給出乙個有限持續時間的非0輸出值。給定乙個全為0的輸入,fir...
濾波器設計(1) 經典IIR數字濾波器的設計
經典iir infiniti impulse response 數字濾波器,雖然我在 訊號與系統 和 數字訊號處理 裡學過,但現在已經忘得差不多了。翻翻書,還是能回憶起來。好像有butterworth濾波器,chebyshevi型 ii型濾波器 橢圓濾波器,等等。根據通帶特性,分為低通 高通 帶通 ...
FIR濾波器設計
fir濾波器的優越性 相位對應為嚴格的線性,不存在延遲失真,僅僅有固定的時間延遲 因為不存在穩定性問題,設計相對簡單 僅僅包括實數演算法,不涉及複數演算法,不須要遞推運算,長度為m,階數為m 1,計算值約為m 2。關於fir濾波器的幅頻特性和相頻特性。在人們不關心相位時,能夠讓幅頻特性常為正,原來為...