以带通滤波器——巴特沃斯滤波器为例

matlab给出的代码如下:[n,Wn] = buttord(Wp,Ws,Rp,Rs)

首先要先理解一个带通滤波器的幅频特性图中,分为通带、阻带、过渡带三大部分。

通带截止频率和阻带截止频率对这三部分进行划分,二者之间的部分即为过渡带。

一.如何设计带通滤波器?

1.Wp,Ws分别是通带频率和阻带截止频率

这两个频率是指同一侧的通带和阻带频率,比如设计一个40Hz~100Hz的带通滤波器

Wp1=40Hz,Wp2=100Hz,代表Wp1~Wp2之间是通带

Ws1=20Hz,Ws2=120Hz,代表0~20Hz和120Hz~正无穷为阻带

过渡带宽度=阻带边缘频率-通带边缘频率(高频的一侧)=Ws2-Wp2=20Hz

2.Rp,Rs是描述通带、阻带幅值的两个重要参量

Rp是描述通带波纹(起伏程度)的一个参量,通带纹波是指在滤波器的频响中通带的最大幅值和最小幅值之间的差值,正常的纹波一般小于1db。

通带波纹当然越小越好,这样通带内频率的幅度都基本稳定在单倍幅度上,因此Rp是允许的通带波纹的最大值。

Rs是描述阻带衰减的一个参量

阻带衰减越大越好,衰减越大代表对不想要的信号频率成分的滤除效果越好,因此Rs是允许的需要达到的阻带衰减的最小值。

3.n,Wn是设计得到滤波器的阶数和截止频率

通道滤波器的设计代码例程如下:

Wp = [40 100]/500;
Ws = [20 120]/500;
Rp = 3;
Rs = 40;
[n,Wn] = buttord(Wp,Ws,Rp,Rs)

上述在Wp,Ws的赋值过程中进行了归一化,因此run之后得到的Wn的值也是归一化过的

n = 12
Wn = 0.0799    0.2002

二.如何绘制带通滤波器的幅频响应?

可以先调用butter()函数返回巴特沃斯滤波器传递函数的零极点系数和增益。

[z,p,k] = butter(n,Wn);
sos = zp2sos(z,p,k);freqz(sos,512,1000)
title(sprintf('n = %d Butterworth Lowpass Filter',n))

三.如何使用带通滤波器对一组数据进行滤波

y = filter(b,a,x) 

利用分子和分母系数 b 和 a 定义的有理传递函数对输入数据 x 进行滤波。

https://zhidao.baidu.com/question/423138525.html

四.如何合理确定滤波器的参数?

我们已知所需要的通带截止频率,阻带截止频率,可以通过一个便捷的方式由matlab直接确定滤波器的参数。输入fdatool命令,具体方法可参见以下博客。

https://blog.csdn.net/qq_42839007/article/details/104184920

https://wenku.baidu.com/view/6bb31c23dcccda38376baf1ffc4ffe473368fd82.html

  • 滤波的阶数

滤波器的阶数,就是滤波几次的意思,一阶,就是对谐波过滤一次,滤波器的阶数越高,滤波效果越好,但是,成本也会成倍的增加,因此,选择合适的阶数是非常重要的。

matlab实现带通滤波相关推荐

  1. matlab 理想带通,matlab理想带通滤波

    理想带通使用如下函数,dim是维度,如果input是一维,则dim=1 % FILTERED = ideal_bandpassing(INPUT,DIM,WL,WH,SAMPLINGRATE) % % ...

  2. matlab仿真的窄带带通滤波算法移植单片机没有达到仿真效果-总结

    问题描述: 设计6阶0.1-0.6Hz的带通滤波器,并得到滤波系数 const int NL = 7; const real64_T NUM[7] = {2.282056841956e-07, 0,- ...

  3. 【matlab】butter高通/低通/带通滤波

    butter step1:设计滤波器 即计算滤波器系数[B,A] [B,A] = BUTTER(N,Wn,'high') %高通滤波 [B,A] = BUTTER(N,Wn,'low') %低通滤波 ...

  4. matlab产生带通白噪声,理想白噪声和带限白噪声的产生与分析

    <理想白噪声和带限白噪声的产生与分析>由会员分享,可在线阅读,更多相关<理想白噪声和带限白噪声的产生与分析(21页珍藏版)>请在人人文库网上搜索. 1.理想白噪声和带限白噪声的 ...

  5. 带通滤波中零相位和最小相位_相位器在Perl 6中的工作方式

    带通滤波中零相位和最小相位 这是关于将代码从Perl 5迁移到Perl 6 的系列文章中的第六篇 .本文着眼于Perl 5中的特殊块 ,例如BEGIN和END ,以及Perl中所谓的相位器在语义上的细 ...

  6. python源码 高通滤波、低通滤波、带通滤波

    创作不易,如果此文使您有收获,记得点赞哦! 一. 傅里叶变化原理: https://www.cnblogs.com/wojianxin/p/12529809.html 二. 高通滤波.低通滤波.带通滤 ...

  7. 200Hz-10KHz带通滤波

    200Hz-10KHz带通滤波 本专栏的内容都是作者多年前制作的电路小模块,仅供新手参考,应该都是调通了的,做个纪念.将就看,需要原工程可以联系我.

  8. 【Python气象绘图临摹】处理数据(上):读入输出nc数据、截取夏季/冬季数据、ButterWorth带通滤波、计算方差

    前言 2022.9学习绘图 利用python进行气象绘图,本文为学习绘制期间记录笔记,分为上.下两部分:处理数据和图像绘制.处理数据流程:读入olr资料,截取夏季/冬季数据,进行10-30dButte ...

  9. OpenCV-python 实现低通滤波、高通滤波、带通滤波

    import cv2 import numpy as np import matplotlib.pyplot as plt import math plt.rcParams['font.sans-se ...

  10. 利用python的强大函数库,实现波形的小波降噪、带通滤波、时阈分析、FFT波形转换

    import math import matplotlib.pyplot as plt import pywt import pandas as pd import numpy as np impor ...

最新文章

  1. SWF文件加密、混淆
  2. k8s master ping不通node_搭建k8s可用集群
  3. 通过IP地址查计算机名
  4. php创建无限级树型菜单以及三级联动菜单
  5. windows等宽字体
  6. Matlab--绘图总结
  7. AIOps产品与架构浅析
  8. .NET 重生之旅——序言
  9. java netty和dubbo_Dubbo与Netty杂谈
  10. Python中文编码过程中遇到的一些问题
  11. 【最新】Oracle官网Java SE各个版本JDK下载位置
  12. Linux下zip命令-不打包目标文件目录
  13. 网页与服务器数据库数据交互,网页与ACCESS数据库如何实现数据交互?
  14. python再议装饰器
  15. JavaMail gmail邮箱,gmx邮箱,disroot邮箱,protonmail邮箱,tutanota邮箱以及阿里云服务器邮箱配置
  16. 视频演示-Snapper快捷优秀的音频预览播放器演示
  17. Vue 按enter键实现登陆 过程
  18. MacBook safari一直闪退打不开,提示意外退出也重新启动不了
  19. python绘制动态Julia集,超炫酷
  20. 上传文件和上传文件的后缀名限制

热门文章

  1. Python入门之经典练习题
  2. 基于QT实现的图书室管理系统
  3. 非参数统计的Python实现—— Friedman 秩方差分析
  4. 孩子学Java编程_7个最适合儿童学习编程的应用程序(上)
  5. 产品配件类目税目分类_商品及税收分类编码选择技巧
  6. 心法利器[58] | 从长尾问题到以搜代分的机理探索
  7. OTC场外交易平台源码/虚拟场外交易源码
  8. Qt 学习之路 2 --- 读书笔记
  9. 个人简历小程序(附源码)
  10. 汽车行业准则:自信地采用 AIAG-VDA FMEA 方法