声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 9849|回复: 9

[共享资源] 带通滤波器

[复制链接]
发表于 2006-5-19 12:40 | 显示全部楼层 |阅读模式

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

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

x
前面发的滤波器,有人使用有些考虑不全的地方。现重新发一个改进后的。

  1. %带通滤波
  2. %x-输入信号
  3. %fs-输入信号采样频率
  4. %M-滤波器半阶数
  5. %fl-下截止频率
  6. %fh-上截止频率
  7. %xl-返回的滤波结果,其长度为原序列长度减少2M,去掉了前M和后M个不正确的点
  8. function xl=beltfilter(x,fs,M,fl,fh)

  9. N=length(x)-2*M;
  10. [i j]=size(x);
  11. if i~=1
  12.     x=x';
  13. end
  14. k=1:M;
  15. w=0.5+0.5*cos(pi*k/M);

  16. wl=2*pi*fl/fs;
  17. wh=2*pi*fh/fs;
  18. h(1)=(wh-wl)/pi;
  19. h(2:M+1)=(sin(wh*k)-sin(wl*k))./(pi*k).*w;

  20. for k=1:N
  21.     kk=k-1+M;
  22.     xl(k)=x(kk+1)*h(1)+sum(h(2:M+1).*(x(kk+2:kk+M+1)+x(kk:-1:kk-M+1)));
  23. end

  24. if i~=1
  25.     xl=xl';
  26. end
复制代码

评分

1

查看全部评分

回复
分享到:

使用道具 举报

发表于 2008-12-2 21:24 | 显示全部楼层
今天试 过了您的这个滤波器,对高频滤波效果很好,但对低频几乎没什么作用,不知道怎么回事,还请您指教
发表于 2008-12-2 22:05 | 显示全部楼层

回复 板凳 wangwu1976 的帖子

本来滤波的范围就是有限的
发表于 2008-12-8 15:07 | 显示全部楼层
这个程序怎么用?
发表于 2008-12-15 21:42 | 显示全部楼层
发表于 2009-3-19 14:27 | 显示全部楼层
今天用了一下,感觉很好,谢谢

请问哪位高手能够帮忙把楼主的程序改写为C语言呢?
我弄了半天不得要领,谢谢

[ 本帖最后由 ChaChing 于 2009-3-20 14:16 编辑 ]
发表于 2009-3-20 13:28 | 显示全部楼层
有个问题:您这个滤波器在通带内的衰减系数不为1,按理说在通带内信号应该不衰减才对阿

参数如下
fs=20000;
fl=900;
fh=1100;
M=50;

希望楼主能帮忙看下

原波形

原波形

带通后的波形

带通后的波形

1000_FFT.txt

2.25 KB, 下载次数: 42

采样频率为20K的1K正弦波数据

发表于 2009-3-20 13:36 | 显示全部楼层
在上个采样频率40K的2k正弦波的数据对比

带通后衰减得非常厉害

fs=40000;
fl=1900;
fh=2100;
M=50;

[ 本帖最后由 Jnny_CN 于 2009-3-20 13:41 编辑 ]

原图

原图

带通后

带通后

2000_FFT.txt

2.25 KB, 下载次数: 24

采样频率20K的2k正弦波

发表于 2009-12-9 18:58 | 显示全部楼层
没有用matlab中自带的滤波器函数,厉害
发表于 2012-7-24 17:54 | 显示全部楼层
弱弱的问一下,带通滤波和高通滤波有什么区别么???
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-29 04:50 , Processed in 0.066885 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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