MATLAB中文论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 438|回复: 3|关注: 0

[已解决] Butterworth低通数字滤波器截止频率问题

[复制链接]

新手

11 麦片

财富积分


050


9

主题

27

帖子

0

最佳答案
fp=30 ;fs=50 ;Ap=3 ;As=60 ;
fsam=5;
Wp = 2*pi*fp/fsam; Ws =2*pi*fs/fsam; Ap = 3; As = 60;
[n,Wc] = buttord(Wp/pi, Ws/pi, Ap, As);
[b,a] = butter(n,Wc,'low');
figure(6);freqz(b,a,512,200); title('Butterworth Lowpass Filter')
q=filter(b,a,y);figure(7); plot(t,q);
xlabel('time/(s)'); ylabel('x(t)'); title('Butterworth低通滤波脉搏信号');grid on;
Y=fft(q,N);figure(8); plot(f,abs(fftshift(Y)));
xlabel('frequence/(Hz)'); ylabel('amplitude'); title('FFT(幅频曲线)');grid on;
??? Error using ==> buttord at 42
The cutoff frequencies must be within the interval of (0,1).
请问大神为什么会出现这种问题,我该如何修正这个问题。

MATLAB 信号处理与通信
版块优秀回答者

入门

118 麦片

财富积分


50500


4

主题

205

帖子

22

最佳答案
  • 关注者: 6
发表于 2017-6-19 10:06:58 | 显示全部楼层
滤波器的通带和阻带的频率要小于1,这里的1表示fs/2,因此要首先对频率进行归一化

入门

54 麦片

财富积分


50500


12

主题

53

帖子

6

最佳答案
  • 关注者: 1
发表于 2017-6-19 11:15:07 | 显示全部楼层 |此回复为最佳答案
你这里fsam应该定义的是采样频率吧,依据采样定理,采样频率至少要大于你截止频率的2倍,也就是说“wp/fsam”和“ws/fsam”这两个参数必须是一个0~1之间的数,你可以看一下buttord函数的说明。把fsam设大一点试试看

新手

11 麦片

财富积分


050


9

主题

27

帖子

0

最佳答案
 楼主| 发表于 2017-6-19 19:05:26 | 显示全部楼层
jdhgz 发表于 2017-6-19 11:15
你这里fsam应该定义的是采样频率吧,依据采样定理,采样频率至少要大于你截止频率的2倍,也就是说“wp/fsam ...

谢谢,是这样解决的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

快速回复 返回顶部 返回列表