幫我編寫個用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 初始化控制元件資訊 ...