MATLAB设计fir低通滤波器代码问题
dt=1/10000;fp=100;fs=400;wp=2*pi*fp*dt;ws=2*pi*fs*dt;Bt=ws-wp;N=ceil(6.6*pi/Bt);wc=(w...
dt=1/10000;fp=100;fs=400;
wp=2*pi*fp*dt;ws=2*pi*fs*dt;
Bt=ws-wp;N=ceil(6.6*pi/Bt);
wc=(wp+ws)/2/pi;
hn=fir1(N-1,wc,hamming(N));
[H,f]=freqz(hn,1,1000,1000);
subplot(1,1,1),plot(f,20*log10(abs(H)))
xlabel('频率/Hz');ylabel('振幅/dB');title('FIR滤波器频谱图');grid on;
上面这段代码中
[H,f]=freqz(hn,1,1000,1000);
plot(f,20*log10(abs(H)))
这两句话什么意思?
上面这段代码matlab仿真出来的低通滤波器的通带只有0-25Hz,25以后就阻带了,这是为什么?是不是代码有问题 展开
wp=2*pi*fp*dt;ws=2*pi*fs*dt;
Bt=ws-wp;N=ceil(6.6*pi/Bt);
wc=(wp+ws)/2/pi;
hn=fir1(N-1,wc,hamming(N));
[H,f]=freqz(hn,1,1000,1000);
subplot(1,1,1),plot(f,20*log10(abs(H)))
xlabel('频率/Hz');ylabel('振幅/dB');title('FIR滤波器频谱图');grid on;
上面这段代码中
[H,f]=freqz(hn,1,1000,1000);
plot(f,20*log10(abs(H)))
这两句话什么意思?
上面这段代码matlab仿真出来的低通滤波器的通带只有0-25Hz,25以后就阻带了,这是为什么?是不是代码有问题 展开
1个回答
2012-04-05
展开全部
H为频率响应矢量,f是对应频率,个数被指定为1000.
plot是画图函数,对应画出1000个(f,20*log10(abs(H)))点。20*log10(abs(H))就是将H换算成了分贝。
低通不就是这样么,有什么问题?
plot是画图函数,对应画出1000个(f,20*log10(abs(H)))点。20*log10(abs(H))就是将H换算成了分贝。
低通不就是这样么,有什么问题?
追问
可是我设计当初的通带fp是100Hz,阻带是400Hz,可是实际仿真出来通带只有0-25Hz
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询