马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
<P>要求用窗函数方法做数字滤波器 下面是我写的程序 大虾看看有什么不对的地方<BR>怎么改?<BR>先万分感谢了!!!<BR>程序:<BR><BR>% 用窗函数法设计FIR带通滤波器<BR><BR>clear;close all;<BR>[y,fs,bits]=wavread('c:\dajiahao',[1024 5120]);<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=[wlp/pi-6/N,whp/pi+6/N]; % 设置理想带通截止频率<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 ==> Q725 at 20<BR>freqz(b,a,fc);</P> |