用函数firpm,可以设计线性相位的FIR滤波器。操作很简单,下面是一个简单的程序。
clc;
close all;
clear;
%%%%%%%%%%%%%%%%%%%%%
N=30;%滤波器阶数
wc=0.5;%截止频率
c=0.06;
nn=1024;
A0=[1 1 sqrt(0.5) sqrt(0.5) 0 0 ];
F0=[0 wc-c wc wc wc+c 1 ];
h0=firpm(N,F0,A0);%设计滤波器,得到时域系数
f_h0=fft(h0,nn);%傅立叶变换,得到频域系数
figure
plot([0:nn/2-1]/nn,20*log10(abs(f_h0(1:nn/2))));
title('频谱图')
下面是运行结果