声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2299|回复: 6

[滤波] 请问怎么实现零相移带通滤波,请高手指点!

[复制链接]
发表于 2008-5-22 20:03 | 显示全部楼层 |阅读模式

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

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

x
:'( 信号频带范围0.5~70Hz,采样频率250Hz,要获取8~15Hz频段信号,要求相位不失真,请问该怎么做?
     我尝试用matlab中的filtfilt函数进行滤波,但是效果不好,代码如下:
   %Data是一个20000*60的数组
     [b,a]=butter(10,7/125,'low');
     filter_data=filtfilt(b,a,Data);
     [b,a]=butter(10,4/125,'high');
     filter_data=filtfilt(b,a,filter_data);
     smoothData=filter_data';

然后我又想用FDA Tool设计滤波器,但是不知道该设计FIR还是IIR滤波器能实现我的目的,请高手指点!

[ 本帖最后由 tjucruiser 于 2008-5-22 20:28 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-5-22 22:21 | 显示全部楼层
可以尝试用谐波小波或morlet小波变换滤波
 楼主| 发表于 2008-5-24 22:03 | 显示全部楼层

复morlet小波

向各位高手请教,关于连续小波命令CWT的疑惑
1、CWT有复小波,离散DWT也有复数小波变换吗?
2、离散小波变换后,需要重构才能获得各个尺度下的系数,CWT没有看到,是不是变换之后的系数就是小波系数,比如:
     load leleccum;
     c=cwt(leleccum,1:2:64,'cgau4');
     得到的结果c是32×4320的矩阵,是不是就是32个尺度下的系数;
3、如果2中获得的是小波系数,那么这些小波系数分别代表什么,有细节或者概貌信息之说吗?
4、对于一个采样频率是250Hz的信号,如果想获取8~15Hz带宽的信号,那么这个CWT函数的尺度应该怎么写,
c=cwt(leleccum,尺度???,'cgau4');哪个尺度下是我需要的信号呢?
发表于 2008-5-25 07:51 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-12 13:19 编辑
原帖由 tjucruiser 于 2008-5-22 20:03 发表   
请问怎么实现零相移带通滤波,请高手指点!:'( 信号频带范围0.5~70Hz,采样频率250Hz,要获取8~15Hz频段信号,要求相位不失真,请问该怎么做?
     我尝试用matlab中的filtfilt函数进行滤波,但是效果不好,代码如下:
   %Data是一个20000*60的数组
     [b,a]=butter(10,7/125,'low');
     filter_data=filtfilt(b,a,Data);
     [b,a]=butter(10,4/125,'high');
     filter_data=filtfilt(b,a,filter_data);
     smoothData=filter_data';

...

楼主的程序似乎有点问题:
1,楼主先设计的是一个7Hz为截止频率的低通,把它的输出又输入4Hz为截止频率的高通,等于4-7Hz之间的带通,而楼主需要的是8~15Hz频段信号,怎么取4-7Hz之间的信号?
2,楼主为何不用带通滤波器的设计呢?
[b,a]=butter(n,[6 17]/125);
3,滤波器阶数n不能使用太高,因为对阶数高的滤波器系数有很高的精度要求,而由于有限字长的运算,往往达不到很高的精度,反而造成较大的误差而影响了滤波效果。
 楼主| 发表于 2008-5-25 21:18 | 显示全部楼层

非常感谢,还有一个小问题

非常感谢您的回答,是我搞错了。我现在对滤波器设计应该用FIR还是IIR很迷惑,请问这个butter滤波器是FIR还是IIR滤波器?我希望准确获取信号的相位,请问您用什么滤波器合适?
发表于 2008-5-26 08:49 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-12 13:19 编辑
原帖由 tjucruiser 于 2008-5-25 21:18 发表
非常感谢您的回答,是我搞错了。我现在对滤波器设计应该用FIR还是IIR很迷惑,请问这个butter滤波器是FIR还是IIR滤波器?我希望准确获取信号的相位,请问您用什么滤波器合适?

butter滤波器是IIR滤波器,楼主想获取准确信号的相位,我认为用IIR滤波器,又用零相位滤波。
发表于 2008-6-11 16:36 | 显示全部楼层
用Fir滤波器可以很好的保持信号的幅值,解决相位偏移问题可以用双向滤波方法
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-6 03:02 , Processed in 0.071022 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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