clc
clear
%%%用Remez算法设计一个低通滤波器,分别满足性能参数:
% 滤波器1 滤波器2 滤波器3
%采样率Fs: 20kHz 20kHz 20kHz
%通带: 0-3 0-4kHz 0-5kHz
%带内波纹: 0.1dB 0.1dB 0.1dB
%带内衰减: 60dB 60dB 60dB
%filter 1
fo=2e4; %采样率
rp=0.1;rs=60; %通带波动、阻带衰减
fp=2900; %通带截止频率
fs=3100; %阻带截止频率
a=[1 0]; %期望幅度变化
dev = [(10^(rp/20)-1)/(10^(rp/20)+1) 10^(-rs/20)];%【阻带最大幅度 通带最大波动】
[n,fc,mo,w]=remezord([fp,fs],a,dev,fo);
b = remez(n,fc,mo,w);
figure(1)
impz(b);
figure(2)
freqz(b,1,1024,fo);
title('Lowpass Filter Designed to Specifications');
%filter2
fp=3900; %通带截止频率
fs=4100; %阻带截止频率
a=[1 0]; %期望幅度变化
dev = [(10^(rp/20)-1)/(10^(rp/20)+1) 10^(-rs/20)];%【阻带最大幅度 通带最大波动】
[n,fc,mo,w]=remezord([fp,fs],a,dev,fo);
b = firpm(n,fc,mo,w);
figure(3)
impz(b);
figure(4)
freqz(b,1,1024,fo);
title('Lowpass Filter Designed to Specifications');
%filter3
fp=4900; %通带截止频率
fs=5100; %阻带截止频率
a=[1 0]; %期望幅度变化
dev = [(10^(rp/20)-1)/(10^(rp/20)+1) 10^(-rs/20)];%【阻带最大幅度 通带最大波动】
[n,fc,mo,w]=remezord([fp,fs],a,dev,fo);
b = firpm(n,fc,mo,w);
figure(5)
impz(b);
figure(6)
freqz(b,1,1024,fo);
title('Lowpass Filter Designed to Specifications');
联系客服