声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2017|回复: 1

[编程技巧] 对信号进行滤波时,如何确定滤波函数的参数?

[复制链接]
发表于 2015-9-21 17:13 | 显示全部楼层 |阅读模式

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

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

x
各位,请教:
         在对信号进行滤波时,调用滤波函数,但是滤波函数的中各个参数如何选择?
         比如下面的带通滤波函数
         a=bandp(a,0.35,3,0.2,3.5,2.5,6.5,128);
         我现在知道0.35是带通左边界,3是带通右边界,0.2是衰减截止左边界,3.5是衰减截止右边界。128是采样频率。
         但是,这个2.5和6.5是边带区衰减DB数,这两个参数是如何选取?选择时有什么要求吗?
回复
分享到:

使用道具 举报

发表于 2015-9-23 09:24 | 显示全部楼层
bandp这个不是matlab自带的函数吧,网上搜了一下其代码是:
  1. function y=bandp(x,f1,f3,fsl,fsh,rp,rs,Fs)
  2. %带通滤波
  3. %使用注意事项:通带或阻带的截止频率与采样率的选取范围是不能超过采样率的一半
  4. %即,f1,f3,fs1,fsh,的值小于 Fs/2
  5. %x:需要带通滤波的序列
  6. % f 1:通带左边界
  7. % f 3:通带右边界
  8. % fs1:衰减截止左边界
  9. % fsh:衰变截止右边界
  10. %rp:边带区衰减DB数设置
  11. %rs:截止区衰减DB数设置
  12. %FS:序列x的采样频率
  13. % f1=300;f3=500;%通带截止频率上下限
  14. % fsl=200;fsh=600;%阻带截止频率上下限
  15. % rp=0.1;rs=30;%通带边衰减DB值和阻带边衰减DB值
  16. % Fs=2000;%采样率
  17. %
  18. wp1=2*pi*f1/Fs;
  19. wp3=2*pi*f3/Fs;
  20. wsl=2*pi*fsl/Fs;
  21. wsh=2*pi*fsh/Fs;
  22. wp=[wp1 wp3];
  23. ws=[wsl wsh];
  24. %
  25. % 设计切比雪夫滤波器;
  26. [n,wn]=cheb1ord(ws/pi,wp/pi,rp,rs);
  27. [bz1,az1]=cheby1(n,rp,wp/pi);
  28. %查看设计滤波器的曲线
  29. [h,w]=freqz(bz1,az1,256,Fs);
  30. h=20*log10(abs(h));
  31. figure;plot(w,h);title('所设计滤波器的通带曲线');grid on;
  32. y=filter(bz1,az1,x);
  33. end
复制代码


从这里可以看出wsl和wsh分别是切比雪夫滤波器的阻带转折频率上下限
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-15 13:25 , Processed in 0.076528 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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