daisy041216 发表于 2009-3-31 18:42

求助!谁能帮我看看这程序问题出在哪里?

本帖最后由 wdhd 于 2016-9-14 11:04 编辑

我要设计一个低通fir数字滤波器,要求用汉宁窗,通带截止频率Wp=0.75л,阻带截止频率Ws=1л,通带衰减不大于2dB,阻带衰减不小于40dB,N=42,采样频率f=16000Hz.只要观察频谱图就可以了.
          这是我写的程序,但是出来的图不满足要求的设计指标,这是为什么呢?

wp=0.75*pi;ws=1*pi;fs=16000 %技术指标
deltaw=ws-wp; %计算过渡带△ω
N=42; %滤波器长度
n=; %滤波器阶数
wc=(ws+wp)/2; %截止频率
hd=ideallp(wc,N); %求理想脉衝响应
w_han=(hanning(N))'; %求窗函数
h=hd.*w_han;
=freqz(h,); %求频率特性
mag=abs(H); %取幅频特性
db=20*log10((mag+eps)/max(mag)); %取对数并归一
plot(w/pi,db); %画幅频图
title('幅度响应');
grid;
axis();
ylabel('db');xlabel('频率')


function hd=ideallp(wc,N); %定义ideallp
alpha=(N-1)/2;
n=;
m=+eps; %加小数避免除零操作
hd=sin(wc*m)./(pi*m); %hd=0到N-1之间的理想脉衝响应

   这是运行后的图,但是就是不满足要求!

还有阻带截止频率要从哪里开始看?怎么计算滤波器的实际阻带波动和通带波动?滤波器的系数要怎么求并显示出来呢?
页: [1]
查看完整版本: 求助!谁能帮我看看这程序问题出在哪里?