IIR和FIR濾波器設計低通濾波器

2021-09-25 16:11:29 字數 4515 閱讀 3813

設原始訊號為

採用iir濾波器和fir濾波器設計低通濾波器,比較兩類濾波器的濾波結果。

要求:採用matlab語言實現,並分析結果。

首先對原始訊號進行頻譜分析,確定濾波器引數。通過分析加噪訊號的頻譜,雜訊訊號為

原始訊號為

iir濾波器設計

按照數字濾波器技術指標(通帶邊界頻率wp 通帶最大衰減 阻帶截止頻率 阻帶最小衰減)要求設計乙個過渡模擬低通濾波器ha(s),再使用脈衝響應不變法或雙線性變換法將ha(s)轉換成數字低通濾波器的系統函式h(z)。本題採用雙線性變換法,具體轉換關係為:

由引數設計巴特沃斯濾波器,根據[n,wc]=buttord(wp,ws,rp,as,』s』)計算模擬濾波器的階數及截止頻率,由[b,a]=butter(n,wc,rp,』s』)計算模擬濾波器系統函式的分子和分母多項式的係數向量b和a。

fir濾波器設計

(1)根據對阻帶衰減及過渡帶的指標要求,選擇窗函式的型別,並估計視窗的長度n。

(2)構造希望逼近的頻率響應函式hd(e^jw)

(3)計算hd(n)

(4)加窗得到設計結果:h(n)=hd(n)*w(n)

採用[n,wn,beta,type]=kaiserord(f,a,dev)函式來估計濾波器的階數,根據阻帶衰減及過渡帶的指標要求,選擇窗函式的型別(本題使用方法二及凱塞窗濾波器) 。這裡f對應的頻率,a=[1,0]為f指定的各個頻帶上的幅值向量,一般只有0和1表示。devs用於指定各個頻帶輸出濾波器的頻率響應與其期望幅值之間的最大輸出誤差或者偏差。

結果分析:

a.相同技術指標下濾波器階數

iir濾波器階數:6;

fir濾波器階數:14。

由此可以得到,為了達到相同的技術指標,即通帶截止頻率、阻帶起始頻率、通帶內衰減、阻帶內衰減,fir濾波器所需的階數更高,因為fir濾波器傳輸函式的極點固定在原點,所以只能用較高的階數達到高的選擇性;對於同樣的濾波器設計指標,fir濾波器所要求的階數可以比iir濾波器高5~10倍,結果,成本較高,訊號延時也較大;如果按相同的選擇性和相同的線性要求來說,則iir濾波器就必須加全通網路進行相位較正,同樣要大增加濾波器的節數和複雜性。

b.濾波後訊號頻譜圖的分析

由圖6,fir濾波器主要採用非遞迴結構,不論在理論上還是在實際的有限精度運算中都不存在穩定性問題,運算誤差也較小。此外,fir濾波器可以採用快速付里葉變換演算法,在相同階數的條件下,運算速度可以快得多。可以看出,經兩種濾波器濾波後輸出的訊號頻譜,fir濾波後訊號的頻譜更接近實際無雜訊訊號的頻譜。

clear;

close

all;

clcn=1:8:8000;

%以8為間隔取1000個點

s(n)=cos(n/100);%雜訊

訊號 x(n)=cos(n/100)+0.01*sin(n);

%原始訊號

n1=1:512;

%對取樣後序列進行512點傅利葉變換

fk=1:8000/512:8000;

%橫座標轉化為頻率

%無噪訊號和原始訊號

figure(1)

subplot(1,2,1)

plot(n,s(n))

xlabel(

'n');

ylabel(

's(n)');

title(

'無噪訊號');

hold on

subplot(1,2,2)

plot(n,x(n))

xlabel(

'n');

ylabel(

'x(n)');

title(

'原始訊號');

fw=fft(s(n),512);

fw1=fft(x(n),512);

mag=abs(fw);

mag1=abs(fw1);

%原始訊號頻譜分析

figure(2)

subplot(1,2,1)

plot(fk/8000,20*log10(mag),

'b')

xlabel(

'w');

ylabel(

'幅度');

title(

'無噪訊號頻譜');

hold on

subplot(1,2,2)

plot(fk/8000,20*log10(mag1),

'r')

xlabel(

'w');

ylabel(

'幅度');

title(

'原始訊號頻譜');

%iir濾波器設計

wp=0.1*pi;

%通帶截止頻率

ws=0.2

5*pi;

%阻帶起始頻率

ap=1;

%通帶內衰減

as=8;

%阻帶衰減

t=1;   

wp=(2/t)*tan(wp/2);

ws=(2/t)*tan(ws/2);  

[n,wc]= buttord(wp,ws,ap,as,

's');

%返回濾波器階數和3db截止頻率    

[bt,at]=butter(n,wc,

's');

%計算低通濾波器系統函式h(s)

[bd,ad ]=bilinear(bt,at,1/t);   

%用雙線性變換法設計數字濾波器,數字濾波器的頻率響應

[hd,wd]=freqz(bd,ad,512);   

%畫圖

fw2=fft(hd,512);

mag2=abs(fw2);

figure

plot(fk/8000,20*log10(mag2),

'r')

hold on

plot(fk/8000,20*log10(mag1),

'b')

title(

'原始訊號頻譜和iir濾波器頻譜對比圖');

legend(

'iir濾波器頻譜'

,'原始訊號頻譜')

y=filter(bd,ad,x(1));

%%fir濾波器的設計

fcuts = [0.1  0.25];

%歸一化頻率omega/pi,這裡指通帶截止頻率、阻帶起始頻率

mags = [1 0];

devs = [10^(-ap/20) (10^(as/20)-1)/(10^(as/20+1))];

[nn,wn,beta,ftype] = kaiserord(fcuts,mags,devs);  

%計算出凱塞窗n,beta的值

hh=kaiser(nn+1,beta);

fw2=fft(hh,512);

mag22=abs(fw2);

figure

plot(fk/8000,20*log10(mag1),

'r')

hold on

plot(fk/8000,20*log10(mag22),

'b')

xlabel(

'w');

ylabel(

'幅度');

title(

'原始訊號頻譜和fir濾波器頻譜對比圖');

legend(

'原始訊號頻譜'

,'fir濾波器頻譜');

%去噪效果對比

figure

y1=filter(hh,5,x(n));

plot(y1,

'g')

hold on

plot(y,

'r')

hold on

plot(s(n),

'b')

title(

'原始訊號頻譜和濾波器頻譜對比圖');

legend(

'fir'

,'iir'

,'無噪訊號')

figure

fwww=fft(y,512);

magnewiir=abs(fwww);

plot(fk/4000,20*log(magnewiir),

'r')

hold on

fwwww=fft(y1,512);

magnewfir=abs(fwwww);

plot(fk/4000,magnewfir,

'b')

hold on

plot(fk/4000,20*log(mag1),

'k')

legend(

'iir濾波後頻譜'

,'fir濾波後頻譜'

,'原始有雜訊訊號頻譜');

butter濾波器是iir嗎 IIR低通濾波器求改

該樓層疑似違規已被系統摺疊 隱藏此樓檢視此樓 clear close all fp 40 fs 150 fs 1000 rp 3 rs 60 t 1 fs w1p 2 tan 2 pi fp t 2 pi w1s 2 tan 2 pi fs t 2 pi 求歸一化頻率 n,wn buttord w1...

FIR濾波器與IIR濾波器

有限長單位衝激響應濾波器,又稱為非遞迴型濾波器 特點 fir濾波器的最主要的特點是沒有反饋迴路,穩定性強,故不存在不穩定的問題 fir具有嚴格的線性相位,幅度特性隨意設定的同時,保證精確的線性相位 fir設計方式是線性的,硬體容易實現 fir相對iir濾波器而言,相同效能指標時,階次較高,對cpu的...

FIR濾波器和IIR濾波器的區別

數字濾波器廣泛應用於硬體電路設計,在離散系統中尤為常見,一般可以分為fir濾波器和iir濾波器,那麼他們有什麼區別和聯絡呢。fir濾波器 定義 fir濾波器是有限長單位衝激響應濾波器,又稱為非遞迴型濾波器,是數字訊號處理系統中最基本的元件,它可以在保證任意幅頻特性的同時具有嚴格的線性相頻特性,同時其...