登录论坛

查看完整版本 : [求助]誰能幫我看看這個程序問題在哪裡?


daisy041216
2009-03-30, 22:48
我要設計一個低通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=[0:1:N-1]; %濾波器階數
wc=(ws+wp)/2; %截止頻率
hd=ideallp(wc,N); %求理想脉衝響應
w_han=(hanning(N))'; %求窗函數
h=hd.*w_han;
[H,w]=freqz(h,[1]); %求頻率特性
mag=abs(H); %取幅頻特性
db=20*log10((mag+eps)/max(mag)); %取對數并歸一
plot(w/pi,db); %畫幅頻圖
title('幅度響應');
grid;
axis([0 1,-100 10]);
ylabel('db');xlabel('頻率')


function hd=ideallp(wc,N); %定義ideallp
alpha=(N-1)/2;
n=[0:N-1];
m=[n-alpha]+eps; %加小數避免除零操作
hd=sin(wc*m)./(pi*m); %hd=0到N-1之間的理想脉衝響應

急~:lovely: :lovely:

daisy041216
2009-03-31, 08:43
怎么沒人回也:cry: :cry: :cry: