MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]16阶低通FIR数字滤波器 (https://www.labfans.com/bbs/showthread.php?t=2302)

xiuhua122 2008-04-16 08:28

[求助]16阶低通FIR数字滤波器
 
求助了!网各位大侠给予帮助,不尽感激!
QQ:404916287

xyz20070912 2008-04-16 21:26

FIR基本程序
 
给你一个简单的程序供你参考,直接写的(用窗函数法,汉明窗),这样也有助于你理解原理,你也可以直接用fir函数来写。[SIZE="4"]不过我想,如果你把问题贴在这里,那么会有更多收获;这样的话,会不会让大部分人欢喜的打开帖子,然后郁闷的出去呢?[/SIZE][/SIZE]
k=1;
wp=0.1*pi;
ws=0.5*pi;
wdelta=ws-wp;
N=ceil(8*pi/wdelta);
if rem(N,2)==0
N=N+1;
end;
Nw=N;
wc=(wp+ws)/2;
n=0:N-1;
alpha=(N-1)/2;
m=n-alpha+0.00001
hd=sin(wc*m)./(pi*m);
win=hamming(Nw);
h=hd.*win';
b=h;
while (k<=512)
y=filter(b,x)
k=k+1;
end;
freqz(y,1,512);
subplot(1,1,1)
subplot(2,2,1);stem(n,hd);title('理想脉冲响应')
axis([0 Nw-1 0 1.1]);ylabel('hd(n)');text(Nw+1,-0.1,'n')
subplot(2,2,2);stem(n,win);title('汉明窗')
axis([0 Nw-1 0 1.1]);ylabel('w(n)');text(Nw+1,0,'n')
subplot(2,2,3);stem(n,y);title('实际脉冲响应')
axis([0 Nw-1 -0.1 0.3]);xlabel('n');ylabel('y(n)')


所有时间均为北京时间。现在的时间是 04:21

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.