幫我編寫個用MATLAB設計IIR數字帶阻濾波器 100

2025-02-20 12:15:03 字數 2019 閱讀 3004

幫我編寫個用matlab設計iir數字帶阻濾波器~~

1樓:網友

用雙線變換法設計乙個數字iir帶阻濾波器,要求通帶邊界頻率為200hz和300z,阻帶邊界頻率分別300hz和400hz,通過最大衰減3db,阻帶最小衰減18db,抽樣頻率2000hz.

設計程式如下:

clear all;

fp=[200 500];

fs=[300 400];

rp=3;rs=18; fs=2000;

wp=fp*2*pi/fs;

ws=fs*2*pi/fs;

firstly to finish frequency prewarping;

wap=2*fs*tan(wp./2)

was=2*fs*tan(ws./2);

n,wn]=buttord(wap,was,rp,rs,'s');

note: 's'!

z,p,k]=buttap(n);

bp,ap]=zp2tf(z,p,k)

bw=wap(2)-wap(1)

w0=sqrt(wap(1)*wap(2))bs,as]=lp2bs(bp,ap,w0,bw)帶阻。h1,w1]=freqs(bp,ap);

figure(1)

plot(w1,abs(h1));grid;

ylabel(' lowpass g(p)')w2=[0:fs/2-1]*2*pi;

h2=freqs(bs,as,w2);

我剛剛執行出來,希望對你有所幫助!

2樓:麥小兜

技術指標:取樣頻率fs = 1khz,其3db的邊界頻率為95hz和105hz.

**: w1=95/500;

w2=105/500;

b,a]=butter(1,[w1, w2],'stop');

h,w]=freqz(b,a);

f=w/pi*500;

plot(f,20*log10(abs(h)))axis([50,150,-30,10]);

grid;xlabel('頻率/hz')

ylabel('幅度/db')

iir數字濾波器與fir數字濾波器的定義?

3樓:順吾久

無限脈衝響應濾波器是數位濾波器的一種,簡稱iir數位濾波器(infinite impulse response filter)。由於無限脈衝響應濾波器中存在反饋迴路,因此對於脈衝輸入訊號的響應是無限延續的。

有限脈衝響應濾波器是數字濾波器的一種,簡稱fir數字濾波器(finite impulse response filter)。這類濾波器對於脈衝輸入訊號的響應最終趨向於0,因此是有限的,而得名。它是相對於無限脈衝響應濾波器(iir)而言。

有限脈衝響應濾波器(fir filter)的優點:

1. 脈衝響應(impulse response)為有限長:造成當輸入數位訊號為有限長的時候,輸出數位訊號也為有限長。

2. 比無限脈衝響應濾波器(iir filter)較容易最佳化(optimize)。

3. 線性相位(linear phase):造成h(n)\,是偶對稱(even)或奇對稱(odd)且有限長。

4. 一定是穩定的(stable):因為z轉換(z transform)後所有的極點(pole)都在單位圓內。

有限脈衝響應濾波器(fir filter)的缺點:

設計方式較無限脈衝響應濾波器(iir filter)不容易。

無限脈衝響應濾波器(iir filter)的優點:

較容易設計以及實現。

無限脈衝響應濾波器(iir filter)的缺點:

1. 脈衝響應(impulse response)為無限長:造成當輸入數位訊號為有限長的時候,輸出數位訊號會變成無限長。

2. 比有限脈衝響應濾波器(fir filter)較不易最佳化(optimize)。

3. 不一定是穩定的(stable):因為z轉換(z transform)後所有的極點(pole)不一定都在單位圓內。

用MATLAB軟體如何編寫y xsin x 的峰值的程式

你要求x sin x 的峰值?求導得dy sin x x cos x fzero x sin x x cos x x0 改變x0就可以求出各個dy的零點 再求這些點對應的二階導值來確定是峰還是谷 你如果要精確的話,只能按上面這位牛人的作法作。如果只是想得到一個粗略的值的話,可以用數值的方法來做。精度...

matlab求公式編寫方法,求用matlab編寫一個公式

給你舉一個求函式值的例子 首先新建一個m檔案,然後在裡邊寫如下 具體的函式體,會不同 function y fff x,z1,z2 fff為函式名,當你儲存m檔案的時候最好也用這個名,這樣不會在執行時出錯,否則的話可能會出錯,其中y為輸出引數,即函式值,x,z1,z2為輸入引數,x為自變數,z1,z...

用VB編寫「密碼校驗」程式的設計

你在自己寫的方法裡 加個static 關鍵字。這樣就可以直接通過 類名來呼叫了。也就是像呼叫系統函式那樣,不用new直接通過類名就可以呼叫了。完整 如下,初始化都已經做好啦,新增控制元件試試吧 dim ncount as integerprivate sub form load 初始化控制元件資訊 ...