% 用切比雪夫最佳一致逼近設計線性相位FIR帶通濾波器;
%訊號為0.5hz, 0.9hz, 1.1hz和1.5hz的正統訊號疊加組成
%通帶為[0.9,1.1]
%頻譜解析度與訊號實際長度N成正比
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];%設定帶通或帶阻,1為帶通,0為帶阻
weigh=[1 1 1 ];%設定通帶和阻帶的權重
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);
subplot(212);plot(f,abs(S1(1:N/2)));grid;xlabel("hz");%處理後頻譜
% 用切比雪夫最佳一致逼近設計線性相位FIR帶通濾波器;
%訊號為0.5hz, 0.9hz, 1.1hz和1.5hz的正統訊號疊加組成
%通帶為[0.9,1.1]
%頻譜解析度與訊號實際長度N成正比
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];%設定帶通或帶阻,1為帶通,0為帶阻
weigh=[1 1 1 ];%設定通帶和阻帶的權重
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");%處理後頻譜