声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2681|回复: 7

[滤波] Butterworth低通滤波器设计错误

[复制链接]
发表于 2012-2-2 23:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本帖最后由 wuzhijun117420 于 2012-2-3 09:20 编辑

向各位朋友请教一问题:本人在Butterworth低通滤波器设计时,采用以下语句绘出的频响中相位曲线不完整。大于60Hz,没有值。是不是说明这一设计无效。这到底是什么原因,以及如何处理。
[ord,wn]=buttord(0.2,0.3,3,60);
[b,a]=butter(ord,wn);
freqz(b,a,256,204.8); title('n=ord Butterworth Lowpass Filter')
谢谢大家!

低通滤波器频响.bmp

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

 楼主| 发表于 2012-2-3 00:12 | 显示全部楼层
本帖最后由 wuzhijun117420 于 2012-2-3 00:24 编辑

不瞒大家,其实我是想在matlab中设计一低通滤波器+下采样downsample降低上图信号的最大频率且同时降低分析数据量,如将最大频率从102.4降到20或25.6(如下图)。的确,decimate函数可以实现下采样且方便使用,但由于decimate下采样采用的是cheby1(Chebyshev Type I滤波器)实现下采样前的低通滤波。所以通带内波纹对原信号影响较大,会影响原来就不清晰的信号频谱峰。考虑到Butterworth滤波器通带平坦,不会对原信号通带内频谱产生影响。故而设计之。希望大家能够帮帮我,谢谢!
功率谱平滑的对比1.bmp
 楼主| 发表于 2012-2-4 18:42 | 显示全部楼层
顺便问下,各位有没有利用fft进行数字滤波的。
 楼主| 发表于 2012-2-5 13:00 | 显示全部楼层
%%%%%%%%算法1=fft+downsample函数%%%%%%%
%实现下采样downsample过程,识别效果好于resample函数,差于decimate函数.
%   temp1=fft(thist_noiseout,m);
%   temp1([m/2/4+1:7*m/2/4+1],:)=0;;%注意temp1的第一个元素为直流分量.将中间高频分量滤掉.
%   thist_noiseout=ifft(temp1);
%   thist=downsample(thist_noiseout,4);%单纯取样,每隔4个数据取一个点.
%   clear temp1 thist_noiseout
%%%%%%%%%%%%%%算法1结束%%%%%%%%%%%%%%%%

%%%%% 算法2=Butter+downsample函数 %%%%%
%采用Butterworth滤波器滤波,再下采样.
%[ord,wn]=buttord(0.2,0.25,3,60);%%阻带最大衰减60应如何设置.
%[b,a]=butter(ord,wn);
%for j=1:n,
%    thist(:,j)=filtfilt(b,a,thist_noiseout(:,j));
%end
%thist=downsample(thist,4);%单纯取样,每隔4个数据取一个点.
%clear ord wn B A
%clear thist_noiseout
%%%%%%%%%%%%%%算法2结束%%%%%%%%%%%%%%%%

%%%%%%%%% 算法3=decimate函数 %%%%%%%%%%
%分析效果好于resample,可能因为resample中interp过程丢失了元数据信息.
%thist=zeros(m/4,n);
%for j=1:n,
%    thist(:,j)=decimate(thist_noiseout(:,j),4);
    %采样8阶Chebyshev滤波和filtfilt函数.
%end
%clear thist_noiseout
%%%%%%%%%%%%%%算法3结束%%%%%%%%%%%%%%%%
通过对比,以上三个函数滤波效果原来基本相同.cheby1滤波器通带波纹对信号通带影响原来可以忽略.
 楼主| 发表于 2012-2-5 13:03 | 显示全部楼层
但butterworth设计时相位曲线不对好像不知是啥原因。希望高手给予解答,谢谢!
发表于 2014-4-1 20:00 | 显示全部楼层
2012 年的贴子,刚看到,decimate是cheby1,通带波纹rp=1dB,可以改成0.1,直接用这个函数,省得麻烦
发表于 2014-11-24 21:03 | 显示全部楼层
看不到附件啊
发表于 2015-4-16 17:24 | 显示全部楼层
wuzhijun117420 发表于 2012-2-5 13:03
但butterworth设计时相位曲线不对好像不知是啥原因。希望高手给予解答,谢谢!

请问 decimate 默认采用了8阶chebyshevI型低通滤波器压缩频带,那么 低通的截止频率是多少呢?如果不知道这个截止频率我怎么知道我所关注的频率是否被滤掉呢??
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-25 22:08 , Processed in 0.068587 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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