FIR 帶通濾波器設計

2021-08-27 05:29:11 字數 1367 閱讀 7213

%本文將針對乙個含有 5hz 、 15hz 和 30hz 的混和正弦波訊號, 設計乙個 fir 帶通濾波器,

%給出利用 matlab 實現的三種方法: 程式設計法、 fdatool 設計法和 sptool 設計法。 參

%數要求:取樣頻率 fs=100hz ,通帶下限截止頻率 fc1=10 hz ,通帶上限截止頻率 fc2=20hz ,過渡頻寬 6 hz,通阻帶波動 0.01 ,採用凱塞窗設計。

fc1 =10 ;

fc2 =20 ;

fs=100 ;

[n,wn,beta,ftype]=kaiserord([7 13 17 23],[0 1 0],[0.01 0.01 0.01],100);

%得出濾波器的階數 n=38 , beta=3.4

w1=2*fc1/fs; w2=2*fc2/fs;% 將模擬濾波器的技術指標轉換為數字濾波器的技術指

window=kaiser(n+1,beta);% 使用 kaiser 窗函式

b=fir1(n,[w1 w2],window); %使用標準頻率響應的加窗設計函式 fir1

freqz(b,1,512);% 數字濾波器頻率響應

t = (0:100)/fs;

s = sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30);% 混和正弦波訊號

sf = filter(b,1,s); %對訊號 s 進行濾波

採用[n,wn,beta,ftype] = kaiserord(f,a,dev)函式來估計濾波器階數等,得到凱塞窗濾波器。

這裡的函式kaiserord(f,a,dev)或者kaiserord(f,a,dev,fs):

f為對應的頻率,fs為取樣頻率;當f用數字頻率表示時,fs則不需要寫。

a=[1 0]為由f指定的各個頻帶上的幅值向量,一般只有0和1表示;a和f長度關係為(2*a的長度)- 2=(f的長度)

devs=[0.05 10^(-2.5)]用於指定各個頻帶輸出濾波器的頻率響應與其期望幅值之間的最大輸出誤差或偏差,長度與a相等。

其中fir1(n,wn)歸一化頻率的含義

wn是乙個歸一化頻率,在濾波器設計中是用fs/2進行歸一。

在fir1濾波器設計時採用的是歸一化頻率。實際取樣頻率為fs,實際的截止頻率為fc,設歸一化截止頻率為fcm,fcm=fc/(fs/2)。

filter函式   參考 

b=fir1(n,wn)返回截止頻率為wn的n階fir低通濾波係數行列向量b。

FIR濾波器設計

fir濾波器的優越性 相位對應為嚴格的線性,不存在延遲失真,僅僅有固定的時間延遲 因為不存在穩定性問題,設計相對簡單 僅僅包括實數演算法,不涉及複數演算法,不須要遞推運算,長度為m,階數為m 1,計算值約為m 2。關於fir濾波器的幅頻特性和相頻特性。在人們不關心相位時,能夠讓幅頻特性常為正,原來為...

FIR濾波器設計

該文件為了說明fir濾波器,iir濾波器的原理,數學含義,設計方法 一 原理 1 fir有限衝擊響應,iir無限衝擊響應。前者無反饋,只與當前和歷史輸入有關,後者有反饋,不僅與當前和歷史輸入有關,還與歷史輸出有關。fir輸出相位線性,設計簡單,但是階數更高 iir輸出相位不線性,設計困難,但相同效能...

FIR濾波器的設計

matlab可以使用fir1函式設計低通 高通 低通 帶通等具有嚴格線性相位特性的濾波器。fir1函式的幾種語法如下 b fir1 n,wn b fir1 n,wn,ftype b fir1 n,wn,ftype window b fir1 noscale 各個引數的含義 設計濾波器,採用漢明窗,長...