文刀慧明 发表于 2006-6-27 20:21

[求助]我写的 用窗函数做数字滤波器 不能正常运行

<P>要求用窗函数方法做数字滤波器 下面是我写的程序 大虾看看有什么不对的地方<BR>怎么改?<BR>先万分感谢了!!!<BR>程序:<BR><BR>% 用窗函数法设计FIR带通滤波器<BR><BR>clear;close all;<BR>=wavread('c:\dajiahao',);<BR>sound(y,fs,bits);<BR>Y=fft(y,4096);<BR>fs=4800,fb=5000,As=100,Ap=1,fc=22050;<BR>ws=2*fs/fc;wb=2*fb/fc;</P>
<P>wls=0.2*pi;wlp=0.35*pi;<BR>whp=0.65*pi;<BR>B=wlp-wls;                      % 计算过渡带宽<BR>N=ceil(12/0.15);                % 计算窗口长度<BR>wc=;   % 设置理想带通截止频率<BR>hn=fir1(N-1,wc,blackman(N)); % 设计滤波器系数<BR>x=filter(hn,wc,y);</P>
<P>freqz(b,a,fc);<BR>figure(1)</P>
<P>X=fft(x,4096);</P>
<P>subplot(2,2,1);plot(y);title('滤波前信号波形');<BR>subplot(2,2,2);plot(Y);title('滤波前信号频谱');<BR>Subplot(2, 2 ,3);plot(x);title('滤波后信号波形');<BR>Subplot(2, 2 ,4);plot(abs(X));title('滤波后信号频谱');<BR>sound(x,fs,bits);<BR><BR><BR>提示的错误是:??? Reference to a cleared variable b.</P>
<P>Error in ==&gt; Q725 at 20<BR>freqz(b,a,fc);</P>
页: [1]
查看完整版本: [求助]我写的 用窗函数做数字滤波器 不能正常运行