基于matlab设计线性相位fir滤波器的程序 急!万分感谢

2024-12-23 07:27:24
推荐回答(1个)
回答1:

用函数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('频谱图')

下面是运行结果