matlab 巴特沃斯濾波

2021-08-09 14:33:11 字數 2854 閱讀 1144

低通濾波

fs=30;              %取樣頻率

n=300; %n/fs 秒資料

n=0:n-1;

t=n/fs; %時間

if 0

fl = 0.4; %低頻

fh = 5; %高頻

s=cos(2*pi*fl*t)+cos(2*pi*fh*t); %s是0.4hz和5hz訊號疊加,低通截止頻率是1hz

subplot(121);plot(t,s);

title('輸入訊號');xlabel('t/s');ylabel('幅度');

sfft=fft(s);

subplot(122);

plot((1:length(sfft)/2)*fs/length(sfft),2*abs(sfft(1:length(sfft)/2))/length(sfft));

title('訊號頻譜');xlabel('頻率/hz');ylabel('幅度');

%設計低通濾波器,截止頻率為1

if 0

wp=1/fs;ws=2/fs; %截止頻率為1hz,阻帶截止頻率為2hz

%估算得到butterworth低通濾波器的最小階數n和3db截止頻率wn

[n,wn]=buttord(wp,ws,1,50); %阻帶衰減大於50db,通帶紋波小於1db

else

n=4;

wn=1/(fs/2);

end%設計butterworth低通濾波器

[a,b]=butter(n,wn);

[h,f]=freqz(a,b,'whole',fs); %求數字低通濾波器的頻率響應

f=(0:length(f)-1*fs/length(f)); %進行對應的頻率轉換

figure;

plot(f(1:length(f)/2),abs(h(1:length(f)/2))); %繪製幅頻響應圖

title('巴特沃斯低通濾波器');xlabel('頻率/hz');ylabel('幅度');

grid;

sf=filter(a,b,s); %疊加函式s經過低通濾波器以後的新函式

figure;

subplot(121);

plot(t,sf); %繪製疊加函式s經過低通後時域圖形

title('輸出訊號');xlabel('t/s');ylabel('幅度');

sf=fft(sf);

subplot(122);

plot((1:length(sf)/2)*fs/length(sf),2*abs(sf(1:length(sf)/2))/length(sf));

title('低通濾波後頻譜');xlabel('頻率/hz');ylabel('幅度');

end

帶通濾波

fl = 2;             %低頻

fh = 10; %高頻

s=cos(2*pi*fl*t)+cos(2*pi*fh*t); %s是2hz和3hz訊號疊加,帶通截止頻率是1hz~4hz

s=h;

n=3636; %n/fs 秒資料

n=0:n-1;

t=n/fs; %時間

subplot(121);plot(t,s);

title('輸入訊號');xlabel('t/s');ylabel('幅度');

sfft=fft(s);

subplot(122);

plot((1:length(sfft)/2)*fs/length(sfft),2*abs(sfft(1:length(sfft)/2))/length(sfft));

title('訊號頻譜');xlabel('頻率/hz');ylabel('幅度');

%設計帶通濾波器,截止頻率為0.4~5

n=4;

wn=[0.4/(fs/2) 5/(fs/2)]

%設計butterworth低通濾波器

[a,b]=butter(n,wn);

[h,f]=freqz(a,b,'whole',fs); %求數字低通濾波器的頻率響應

f=(0:length(f)-1*fs/length(f)); %進行對應的頻率轉換

figure;

plot(f(1:length(f)/2),abs(h(1:length(f)/2))); %繪製幅頻響應圖

title('巴特沃斯帶通濾波器');xlabel('頻率/hz');ylabel('幅度');

grid;

sf=filter(a,b,s); %疊加函式s經過低通濾波器以後的新函式

figure;

subplot(121);

plot(t,sf); %繪製疊加函式s經過低通後時域圖形

title('輸出訊號');xlabel('t/s');ylabel('幅度');

sf=fft(sf);

subplot(122);

plot((1:length(sf)/2)*fs/length(sf),2*abs(sf(1:length(sf)/2))/length(sf));

title('帶通濾波後頻譜');xlabel('頻率/hz');ylabel('幅度');

巴特沃斯濾波與同態濾波

為了處理手機加速度計感測器資料。function butterworth1d butterworthfilter input1d,d 0,n butterworthfilter 此處顯示有關此函式的摘要 此處顯示詳細說明 1 h x 1 d d 0 2n input1d 輸入一維訊號 d 0 20 ...

巴特沃斯濾波器應用場合 巴特沃斯濾波器的特性

butterworth 濾波器屬於低通濾波器的一種,通過低頻訊號而衰減或抑制高頻訊號,在通頻帶內具有最大平坦幅度響應曲線,它在通訊領域裡已有廣泛應用,在電測中也具有廣泛的用途,可以作檢測訊號的。巴特沃斯低通濾波器的平方幅度響應為 其中,n為濾波器的階數,為低通濾波器的截止頻率。該濾波器具有一些特殊的...

巴特沃斯濾波器設計案例

函式時候看這裡 傳送門 clc clear all fp 8 fs 3 rp 5 通帶最大衰減 rs 30 阻帶最小衰減 wp fp 2 pi 通帶截止頻率 ws fs 2 pi 阻帶截止頻率 fs 250 t 1 fs wp1 wp t ws1 ws t omgp 2 t tan wp1 2 原型...