想必現(xiàn)在有很多小伙伴對于設(shè)計一個matlab帶通濾波器代碼方面的知識都比較想要了解,那么今天小好小編就為大家收集了一些關(guān)于設(shè)計一個matlab帶通濾波器代碼方面的知識分享給大家,希望大家會喜歡哦。
% 用切比雪夫最佳一致逼近設(shè)計線性相位FIR帶通濾波器;
%信號為0.5hz, 0.9hz, 1.1hz和1.5hz的正統(tǒng)信號疊加組成
%通帶為[0.9,1.1]
版權(quán)取歸芝士回答網(wǎng)站或原心作者他織學(xué)所有
%頻譜分辨率與信號實際長度N成正比
和同下應(yīng)義只果管統(tǒng)接即話,傳布市存養(yǎng)價。
clear all;
f1=0.5;f2=0.9;f3=1.1;f4=1.5;t=0:1203;N=length(t);fs=10;M=512;
x1=sin(2*pi*(f1/fs)*t)+sin(2*pi*(f2/fs)*t)+sin(2*pi*(f3/fs)*t)+sin(2*pi*(f4/fs)*t);
民把前各意革東改華元委府置包聽。
figure(1);
subplot(211);plot(t,x1);title('原信號');
y=fft(x1);
f=(0:1/N:1/2-1/N)*fs;
subplot(212);plot(f,abs(y(1:N/2)));grid;xlabel('hz');%處理前頻譜
wc1=2*f2/fs;wc2=2*f3/fs;wc3=2*f4/fs;%歸一化角頻率,用于下面的f1
f1=[0 wc1-0.05 wc1 wc2 wc2+0.05 1];
A=[0 0 1 1 0 0];%設(shè)置帶通或帶阻,1為帶通,0為帶阻
weigh=[1 1 1 ];%設(shè)置通帶和阻帶的權(quán)重
b=remez(60,f1,A,weigh);%傳函分子
h1=freqz(b,1,M);%幅頻特性
figure(2)
f=(0:1/M:1-1/M)*fs/2;
subplot(211);plot(f,abs(h1));grid;title('帶通');
x2=filter(b,1,x1);
S1=fft(x2);
f=(0:1/N:1/2-1/N)*fs;
subplot(212);plot(f,abs(S1(1:N/2)));grid;xlabel('hz');%處理后頻譜
本文到此結(jié)束,希望對大家有所幫助。