數字訊號處理matlab相關基礎例題(7)

2021-09-11 18:11:18 字數 2679 閱讀 1606

butterworth濾波器,設計方法:

(1)雙線性變換法;(2)衝激響應不變法

buttord函式,輸入引數為歸一化引數,wp,ws,rp,rs,『z』,,輸出為butterworth濾波器的階數以及3db截止頻率,n,wn

butter函式,,公升成乙個n階的巴特沃斯濾波器,輸入引數為n,wn,為buttord的輸出引數,輸出為濾波器係數,,即filter(b,a,x)中的b和a

freqz函式,生成濾波器頻率響應函式,返回幅值響應h和相位響應w

%butterworth濾波器的設計

%技術指標:通帶截止頻率wp=30hz,阻帶截止頻率ws=35hz。

%通帶衰減不大於rp=0.5db,阻帶衰減不小於rs=40db,抽樣頻率fs=100hz。

wp=30;ws=35;fs=100;rp=0.5;rs=40;%按技術要求依次定義就完事

[n,wn]=buttord(wp/(fs/2),ws/(fs/2),rp,rs,'z');%計算butterworth濾波器的階數以及3db截止頻率

%buttord函式中的wp與ws均為歸一化值,取值範圍在[0 , 1]之間

[num,den]=butter(n,wn);%butter為生成乙個n階的巴特沃斯濾波器,wn為3db截止頻率

%butter輸出為濾波器係數,即filter(b,a,x)中的b和a

[h,w]=freqz(num,den);%freqz是濾波器頻率響應函式,分別返回幅值響應和相位響應

plot(w*fs/(2*pi),abs(h));grid;

xlabel('頻率/hz');

ylabel('幅值');

設計數字帶通濾波器,具有通帶波紋特性,顧為切比雪夫i型濾波器,阻帶波紋為ii型

cheb1ord函式,類似buttord函式,返回階數和3db頻寬截止頻率,r2016a中沒自帶該函式,,,

cheby1函式,類似butter,生成乙個切比雪夫i型濾波器,,

freqz,頻率響應函式

%設計乙個數字帶通濾波器iir

%要求在100~200hz通帶內波紋不大於3db,通帶兩邊各50hz外是阻帶,衰減不小於40db。抽樣頻率為1000hz

%由於切比雪夫i型濾波器為通帶波紋控制器,故選其設計該數字濾波器

wp=[100 200]/500;ws=[100-50 200+50]/500;

rp=3;rs=40;

[n,wn]=cheb1ord(wp,ws,rp,rs);%matlab裡沒有自帶數字訊號處理的函式。。。

捕捉資訊,等波紋阻帶,選用切比雪夫ii型濾波器

用頻率變換法設計切比雪夫ii型濾波器

cheb2ord,cheby2函式,,均同理buttord,cheb1ord,butter,cheby1函式

dir2cas函式,,直接型轉級聯型

有點問題,,%filter order too large???

%xa(t)=5sin(200pi*t)+2cos(300pi*t),xa(t)→a/d→h(z)→d/a→ya(t)

%取樣頻率為1000hz。試設計乙個最小階數的iir數字濾波器

%以小於1db的衰減通過150hz的分量,以至少40db抑制100hz的分量。

%由題意用頻率變換法設計切比雪夫2型數字高通濾波器

fp=150;fr=100;fs=1000;

wp=2*pi*fr/fs;wr=2*pi*fr/fs;%計算通/阻帶的歸一化頻率

ap=1;ar=40;

[n,wn]=cheb2ord(wp/pi,wr/pi,ap,ar);

[b,a]=cheby2(n,ar,wn,'high');%filter order too large?hape

[c,b,a]=dir2cas(b,a);

[db,mag,pha,w]=freqz_m(b,a);

subplot(411);plot(w/pi,db);title('幅度響應(db)');

axis([0,1,-50,7]);grid on;

n=0:149;t=n/fs;

x=5*sin(2*pi*fr*t)+2*cos(2*pi*fp*t);

subplot(412);plot(t,x);axis([0,0.15,-7,7]);title('輸入訊號');grid on;

y=filter(b,a,x);

subplot(413);stem(y,'.');title('輸出序列');grid on;

ya=y*sinc(fs*(ones(length(n),1)*t-(n/fs)'*ones(1,length(t))));

subplot(414);plot(t,ya);axis([0,0.15,-2,2]);title('輸出波形');grid on;

數字訊號處理matlab相關基礎例題(5)

tic toc,利用matlab計時,tic為起始時間,toc為結束時間,最終顯示時間 toc tic 直接卷積 conv,快速卷積 利用fft,利用時域的卷積等於頻域的乘積 x n 0.2n r19 n h n 0.8 n r15 n 直接卷積與快速卷積所花時間的比較 x n 0.2n r19 n...

matlab數字訊號處理常用函式

1 tf b,a 根據微分方程求轉移函式 a,b為分子分母多項式係數或者說微分方程左邊右邊的係數 2 tfestimate txy,f tfestimate x,y,window,noverlap,nfft,fs 根據輸入輸出,估計頻率響應函式 3 lsim sys,u,t 根據輸入u 和響應函式s...

數字訊號處理

1.乙個切比雪夫i型模擬帶阻濾波器用下面的指標設計 通帶截止頻率為 和 阻帶截止頻率為 和 峰值通帶紋波是 最小阻帶衰減為 相應的模擬低通濾波器的頻帶截止頻率和階次是多少?帶阻濾波器的階次是多少?用matlab函式cheblord來驗證濾波器階次結果 寫出程式關鍵步驟 matlab驗證 n 3 fs...