用MATLAB設計低通濾波器

2021-08-20 07:43:53 字數 1079 閱讀 8321

濾波器有很多種設計方式。最簡單的,就是用已有的buttord計算出最符合條件的巴特沃思濾波器的階數n和截止頻率,再用butter計算n階巴特沃斯數字濾波器系統函式分子、分母多項式的係數向量b、a。用freqz函式畫出濾波器的幅頻、相頻圖。用filter濾波。

例:規定:wp為通帶截止頻率;ws為阻帶截止頻率;ap為通帶最大衰減(db);as為阻帶最大衰減(db);wc為3db截止頻率;fn為取樣率;

濾波器設計條件:通帶最大衰減ap=1db,阻帶最小衰減as=15db,通帶截止頻率為wp=2000hz,阻帶截止頻率為ws=5000hz

**:fn=16000;

ap=0.1;

as=60;

wp=2000;

ws=5000; %輸入濾波器條件

wpp=wp/(fn/2);wss=ws/(fn/2); %歸一化;

[nwn]=buttord(wpp,wss,ap,as); %計算階數截止頻率

[ba]=butter(n,wn); %計算n階巴特沃斯數字濾波器系統函式分子、分母多項式的係數向量b、a。

freqz(b,a,512,fn);%做出h(z)的幅頻、相頻圖

t =(1:1000)/16000;

x=cos(4000*pi*t)+cos(6000*pi*t); %輸入訊號

figure(2);

subplot(2,1,1);

plot(t,x); %合成訊號時域波形

axis([0 0.01 -22])

x=fft(x); %進行傅利葉變換

subplot(2,1,2);

plot(abs(x));

y=filter(b,a,x); %濾波b、a濾波器係數,x濾波前序列

figure(3);

subplot(2,1,1); %

plot(t,y); %分離輸出訊號的時域波形

axis([0 0.01 -1.51.5]);

subplot(2,1,2);

plot(t,cos(4000*pi*t));%cos(4000*pi*t)理論時域波形

axis([0 0.01 -1.51.5])

matlab設計低通濾波器

輸入 被白雜訊汙染的正弦訊號,fs 100khz,訊號頻率為10khz,雜訊訊號為20khz,現在要濾掉20khz的正弦訊號 clear all fs 100000 t 0 1 fs 0.003 f1 10000 f2 20000 signal1 sin 2 pi f1 t signal2 sin ...

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

設原始訊號為 採用iir濾波器和fir濾波器設計低通濾波器,比較兩類濾波器的濾波結果。要求 採用matlab語言實現,並分析結果。首先對原始訊號進行頻譜分析,確定濾波器引數。通過分析加噪訊號的頻譜,雜訊訊號為 原始訊號為 iir濾波器設計 按照數字濾波器技術指標 通帶邊界頻率wp 通帶最大衰減 阻帶...

matlab設計切比雪夫低通濾波器

繪製chebshev 1型模擬低通濾波器的平方幅頻響應曲線,階數為2 4 6 8 n 0 0.01 2 for i 1 4 switch i case 1 n 2 case 2 n 4 case 3 n 6 case 4 n 8 endrp 1 設定通濾波紋為1db z,p,k cheb1ap n,...