巴特沃斯滤波器原理及其仿真设计

2024-03-04 11:48

本文主要是介绍巴特沃斯滤波器原理及其仿真设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前面的几篇文章对一阶低通滤波器原理及其数字化进行了探究。为了进一步探究滤波这条知识线路,今天对巴特沃斯滤波器滤波器进行了研究。

1、什么是巴特沃斯滤波器?

巴特沃斯(Butterworth)滤波器是一种具有最大平坦幅度响应低通滤波器,它在通信领域里已有广泛应用,在电测中也具有广泛的用途,可以作检测信号的滤波器。文献[张殿龙 王福文.巴特沃斯低通滤波器在电动机测试中的应用[J]成功地将巴特沃斯低通滤波器应用于电动机测试中。 补充一下通带频率和阻带频率的概念,能够通过滤波器的频率信号范围构成通带(pass-bands),而被衰减的频率信号则不能在输出端输出,这些被衰减的频率范围构成了滤波器的阻带(stop-bands)。通带与阻带交界点的频率称为截止频率。理想的滤波器其频率响应于通带区没有插入损耗(insertion-loss),而于阻带则有无限大衰减以阻绝讯号通过。然而实际电路无法同时满足上述要求,故在设计电路时应选择适当滤波器种类以符合所需的规格。 

2、巴特沃斯滤波器的特点

(1)最大平坦性。幅频特性的前2n-1阶导数均为零,因此在截止频率前较为平坦,这个平坦也保证了信号的原始值,不会因为滤波被衰减。巴特沃斯低通滤波器的通频带最大扁平效应使通频带的增益得到扁平优化.

(2)幅频特性是单调下降,相频特性也是单调下降。巴特沃斯低通滤波器是全极点滤波器,所有零点都在无穷远处;它的幅度随频率的增加而单调下降,且频率无穷大时它的幅度才衰减完

(3)无论阶数n是什么数,都会通过[ω=ωb,|G(jω)|=1/槡2]点。而且n越大,其幅频响应就越逼近理想情况

 3、巴特沃斯滤波器的设计

在了解基本概念后,如何设计巴特沃斯滤波器滤波器是最关键的。对于巴特沃斯滤波器而言,n 阶巴特沃斯低通滤波器的振幅和频率关系可用如下的公式表示:

而巴特沃斯低通滤波器将其写为传递函数的形式,可以写为:

 如果根据需要的截止频率、滤波器的阶数计算出上式中的所有系数b,即可完成对巴特沃斯滤波器的设计。以前其实是需要很完整的推导和计算的,现在matlab的实时更新对于巴特沃斯滤波器的工具箱进行充盈,在此记录一些工具函数的用法。

1、[N,wn]=buttord(wp,ws,rp,rs,'s')  buttord函数

此函数的功能是根据数字滤波器的通带、阻带截止频率、通带衰减倍数、阻带衰减倍数来计算巴特沃斯数字滤波器的阶数N和3dB截止频率wn。

其中,调用参数wp,ws分别为数字滤波器的通带、阻带截止频率,当ws≤wp时,为高通滤波器;当wp和ws为二元矢量时,为带通或带阻滤波器,这时w n 也是二元向量。rp,rs分别为通带最大衰减和组带最小衰减(dB)。

2 [B,A]=butter(N,wn‘,ftype’butter 函数

此函数的功能是根据滤波器阶数N和截止频率 wn计算N阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量B、A。其中,调用参数N和wn分别为巴特沃斯数字滤波器的阶数和3 d B 截止频率,一般是可与buttord格式计算N和wn配合使用。系数B、A是按照z-1的升幂排列,ftype为滤波器的类型。N,wn为butter函数的调用参数。

3 buttap 函数 [Z,P,K] = buttap(N)

函数可设计出N阶巴特沃斯低通滤波器的零、极点。

以一个例子来说说这个滤波器的设计过程,由于芯片计算能力有限,假如我们需要一个二阶的巴特沃斯滤波器,并且截止频率也设定为100rad/s。那么此时就可以直接用[B,A]=butter(N,wn‘,ftype’)函数,输入代码如下:

N = 2;
wc = 100;
[B,A]= butter(N,wc,'s');  %代入N和wn设计低通巴特沃斯模拟滤波器
x = B
y = A
grid;

 计算得出:

 因此,此时可以得到传递函数的表达式如下所示:

  4、巴特沃斯滤波器的性能测试

这个滤波器的优点好多地方已经介绍出来了,但是实际效果如何还是看波形最直接了,由于上述设计的巴特沃斯滤波器的截止频率为 100rad/s ,因此设计输入为 幅值为100,频率为10rad/s初始正弦信号,叠加一个幅值为100,频率为100rad/s的正弦波。将叠加波分别通过截止频率为100rad/s的低通滤波器及巴特沃斯低通滤波器。其波形如下图所示,图中第一行波形为原始信号,第二行为一阶低通滤波器滤波后信号,第三行为二阶巴特沃斯低通滤波器后的信号,可以从仿真波形看到,巴特沃斯低通滤波器的性能要远优于一阶低通滤波器。

 接下来对两种低通滤波器的bode图进行分析,如下图所示,可以从图中看出两者的截止频率完全一致,但是在截止频率后的衰减巴特沃斯滤波器明显要比一阶低通滤波器更大,所以在稳态裕度允许的条件下,巴特沃斯滤波器性能更优。

小结:

 1、巴特沃斯(Butterworth)滤波器是一种具有最大平坦幅度响应的低通滤波器,保证了信号的原始值,不会因为滤波被衰减。

2、巴特沃斯滤波器的性能明显优于一阶低通滤波器。

3、n越大,其幅频响应就越逼近理想情况。(这个还未做,有兴趣的同学可以在我的基础上往下深入探究一下)

4、如果需要巴特沃斯滤波器模型的同学同志,可以在评论区留下你们的邮箱,我看到就会发过去。

这篇关于巴特沃斯滤波器原理及其仿真设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/773080

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

hdu4407容斥原理

题意: 有一个元素为 1~n 的数列{An},有2种操作(1000次): 1、求某段区间 [a,b] 中与 p 互质的数的和。 2、将数列中某个位置元素的值改变。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.Inpu

hdu4059容斥原理

求1-n中与n互质的数的4次方之和 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWrit

SprinBoot+Vue网络商城海鲜市场的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍:CSDN认证博客专家,CSDN平台Java领域优质创作者,全网30w+

寻迹模块TCRT5000的应用原理和功能实现(基于STM32)

目录 概述 1 认识TCRT5000 1.1 模块介绍 1.2 电气特性 2 系统应用 2.1 系统架构 2.2 STM32Cube创建工程 3 功能实现 3.1 代码实现 3.2 源代码文件 4 功能测试 4.1 检测黑线状态 4.2 未检测黑线状态 概述 本文主要介绍TCRT5000模块的使用原理,包括该模块的硬件实现方式,电路实现原理,还使用STM32类