有源模拟滤波器的快速设计

本文章是笔者整理的备忘笔记。希望在帮助自己温习避免遗忘的同时,也能帮助其他需要参考的朋友。如有谬误,欢迎大家进行指正。

一、概述

几乎所有电子电路中都能看到有源模拟滤波器的身影。音频系统使用滤波器进行频带限制和平衡。通信系统设计使用滤波器调谐特定频率并消除其它频率。为了使高频信号衰减,所有数据采集系统都在模数转换器(ADC)前面设计一个低通滤波器,或者在数模转换器(DAC)后面设计一个低通滤波器。这种模拟滤波可以在信号到达 ADC之前或者离开DAC之后,消除叠加在信号上面的高频噪声。利用TI的WEBENCH滤波器设计软件,可以高效的设计出低通、高通、带通或者带阻滤波器。

二、低通模拟滤波器的重要设计参数

低通模拟滤波器的频域规范包括4个基础参数:

  • fc,即滤波器的–3dB截止频率
  • Ao,即滤波器的增益
  • Asb,即阻带衰减
  • fs,即阻带衰减的中断频率

图1所示WEBENCH滤波器设计器的滤波器类型窗口

从图片可以看出DC到截止频率(fc)的频率范围为带通区域。图1 中Ao为带通响应量级。使用巴特沃兹(Butterworth)或者贝塞尔(Bessel)滤波器时,带通响应可以为扁平,并且无纹波。相反,一直到截止频率,切比雪夫(Chebyshev)滤波器都有纹波。切比雪夫滤波器的纹波误差量级为2△AMAX。滤波器响应超出fc时, 它会通过过渡带降至阻带区域。滤波器近似法( 巴特沃兹、贝塞尔和切比雪夫等)决定过渡带的带宽和滤波器的阶数(M)。传输函数的极点数决定滤波器阶数。例如,如果某个滤波器的传输函数内有3个极点,则其为一个三阶滤波器。一般而言,当更多极点用于实现滤波器设计时过渡带变得更小,如图2巴特沃兹低通滤波器所示。理想情况下,低通、抗锯齿滤波器应有“砖墙”式响应,并且过渡带极小。实际而言,这并不是最好的抗锯齿方法。进行有源滤波器设计时,每两个极点就要求有一个运算放大器。例如,32阶滤波器要求16个运算放大器、32个电容器和多达48个电阻器。

三、模拟滤波器近似计算类型

图3 显示了WEBENCH滤波器设计器观察屏幕的解决方案窗口中一些可用的低通滤波器类型。点击 “开始滤波器设计”按钮(图1)以后,出现该屏幕。

巴特沃兹、贝塞尔和切比雪夫是一些比较流行的滤波器近似法类型。查看量级和频率域对比以及量级和时域对比情况以后,可以知道滤波器类型。

巴特沃兹滤波器:巴特沃兹滤波器传输函数包括所有极点, 并且没有零,其表达式如下:

图4表明四阶、低通巴特沃兹滤波器的响应在带通部分为扁平。这种特性的技术术语称作“最大扁平”。之后,它会显示过渡带的衰减速率不如切比雪夫滤波器。

图5表明,相同四阶巴特沃兹滤波器的阶跃响应在时域中有一些过冲和振铃。如果滤波器阶数更高,则这种过冲也会更高。如果这种滤波器用在多路器之后,则应考虑其稳定时间。

切比雪夫滤波器的传输函数与巴特沃兹滤波器类似,因为它具有所有极点,并且没有零:

图6表明,四阶、低通切比雪夫滤波器的频率响应在带通区域有0.2dB的纹波。电路设计的极点布局决定了这种纹波。总之, 纹波量级的增加会降低过渡带的宽度。

理论上,2△AMAX(图1)的纹波量级可以如我们预期的那样大或者小。高纹波量级一般会带来更多的带通区域误差,但却可以实现更快的过渡带衰减。相比巴特沃兹滤波器,过渡带衰减速率变化更剧烈。0.2 dB纹波的四阶、低通切比雪夫滤波器的阶跃响应,存在相当程度的过冲和振铃(图7)。

四、滤波器近似法类型比较

对于低通滤波器来说,滤波器近似法类型影响滤波器截止频率之前和之后的频率响应。由于频率(单位赫兹) 倒转为数秒时间, 因此滤波器类型会对时域产生相反影响。表1对频域(带通和过渡区域)和时域(阶跃响应)中的低通巴特沃兹、贝塞尔和切比雪夫滤波器进行了比较。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/63706.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用Python库连接Redis

1、redis-py 库封装一个 Redis 工具类可以帮助我们简化 Redis 的操作并提高代码的复用性和可维护性。 安装redis pip install redisimport redis import logginglogging.basicConfig(levellogging.INFO) logger logging.getLogger(__name__)class RedisUtils:def __init__(s…

【代码随想录day57】【C++复健】 53. 寻宝(prim算法);53. 寻宝(kruskal算法)

53. 寻宝(prim算法) 好像在研究生的算法课上学过prim算法和kruskal算法,不过当时只是了解了一下大致的概念和流程,并没有涉及到如何去写代码的部分,今天也算是学习了一下这两个算法的代码应该如何去实现,还…

使用OpenTK展示3D点云图像(C#)

最近在研究3D显示,找到一款在winform上展示3D点云的控件,并且实现了点线面的展示,及光照渲染纹理贴图等功能,如下面几张图所展示。 一些基础知识可以在LearnOpenTK - OpenTK 这个网站上学习到。 我这边使用的是openTK3.3.3版本&a…

MetaGPT源码 (Memory 类)

目录 MetaGPT源码:Memory 类例子 MetaGPT源码:Memory 类 这段代码定义了一个名为 Memory 的类,用于存储和管理消息(Message)对象。Memory 提供了多种操作消息的功能,包括添加单条或批量消息、按角色或内容筛选消息、删除最新消息…

pythonOpenCV篇:0基础带你python入门之常用函数

① 二值化函数 功能:将图像转换为二值图像(黑白图像),将像素值分为两种类别:前景(白)和背景(黑)。函数:cv2.threshold()参数: src:输…

小发现,如何高级的顺序输出,逆序输出整数的每一位(栈,队列)

当我还是初学者的时候,我经常思考有没有比慢慢求每一位数字然后考虑正序,逆序输出要快的办法...长期琢磨,必有所获! 我刚学数据结构的时候还没意识到栈,队列还能这样用,虽然说有点杀鸡用牛刀的感觉&#x…

详细解析RNNoise:基于深度学习的语音噪声抑制技术

引言 在语音通信、语音识别以及音频处理领域,噪声抑制是一个至关重要的任务。环境噪声,如风声、交通声和人群声,通常会影响语音的清晰度和质量,特别是在远程通信和在线会议中。为了提高语音质量,许多噪声抑制技术应运…

【笔记】架构上篇Day6 法则四:为什么要顺应技术的生命周期?

法则四:为什么要顺应技术的生命周期? 简介:包含模块一 架构师的六大生存法则-法则四:为什么要顺应技术的生命周期?&法则四:架构设计中怎么判断和利用技术趋势? 2024-08-29 17:30:07 你好&am…

跟李笑来学美式俚语(Most Common American Idioms): Part 66

Most Common American Idioms: Part 66 前言 本文是学习李笑来的Most Common American Idioms这本书的学习笔记,自用。 Github仓库链接:https://github.com/xiaolai/most-common-american-idioms 使用方法: 直接下载下来(或者clone到本地…

【Sentinel Go】新手指南、流量控制、熔断降级和并发隔离控制

随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开…

代码随想录第43天

300.最长递增子序列 # Dynamic programming. class Solution:def lengthOfLIS(self, nums: List[int]) -> int:if not nums: return 0dp [1] * len(nums)for i in range(len(nums)):for j in range(i):if nums[j] < nums[i]: # 如果要求非严格递增&#xff0c;将此行 …

Anaconda Conda Pip 的区别与联系

在Python生态中,Anaconda、Conda和Pip是三个非常重要的工具,它们在包管理和环境管理方面发挥着关键作用。 Anaconda Anaconda是一个为科学计算而设计的Python发行版,它集成了Conda、Python以及大量的数据科学相关库,如NumPy、Pandas等。Anaconda的主要优势在于它提供了一个…

Y3编辑器官方文档1:编辑器简介及菜单栏详解(文件、编辑、窗口、细节、调试)

文章目录 一、新建项目二、 编辑器主界面2.1 游戏场景2.2 导航栏/菜单栏2.3 功能栏三、菜单栏详细介绍3.1 文件3.1.1 版本管理3.1.2 项目管理(多关卡)3.1.2.1 多关卡功能说明3.1.2.2 关卡切换与关卡存档3.2 编辑3.2.1 通用设置3.2.2 键位设置3.3 窗口(日志)3.4 细节3.4.1 语言…

OpenCV相机标定与3D重建(16)将点从齐次坐标转换为非齐次坐标函数convertPointsFromHomogeneous()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::convertPointsFromHomogeneous 是 OpenCV 库中的一个函数&#xff0c;用于将点从齐次坐标&#xff08;homogeneous coordinates&#xff09;…

前端视角下的Go语法学习:创建 Go 项目

今日话题 使用 GoLand 创建 Go 项目 作者&#xff1a; 时间&#xff1a;2024年6月20日 17时16分14秒 主线任务 一、GoLand 创建项目 1、点击 “new Project” 按钮 2、已经有下载过两个 Golang SDK 版本&#xff0c;选择版本创建即可~ 3、如果没有下载过Golang SDK&#…

vue3使用keep-alive做缓存

暂未整理&#xff0c;等待更新 文章目录 一、注意项1.不生效原因 二、使用步骤1.引入库2.读入数据 总结 一、注意项 1.不生效原因 vue3无beforeRouteEnter&#xff0c;但可以写。<script lang"jsx">需要一致:include"[‘experienceMaintenance’, ‘rea…

Android13应用在后台录音无声音

最近在做项目&#xff0c;对讲应用放在后台&#xff0c;录音无声音&#xff0c;最后解决。 一 现象 对讲应用运行在后台&#xff0c;录音无效查看日志&#xff0c;AudioRecorder录音回调全是0&#xff1b;状态栏无通知&#xff0c;无申请通知权限。 二解决 看了现象应该能够…

数据结构6.3--交换排序

目录 交换排序基本思想 1.冒泡排序 2.快速排序 2.1hoare版本 2.2挖坑法 2.3前后指针版本 交换排序基本思想 所谓交换&#xff0c;就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置&#xff0c;交换排序的特点是&#xff1a;将键值较大的记录向序列的尾…

Unity 制作一个视频播放器(打包后,可在外部编辑并放置新的视频)

效果展示&#xff1a; 在这里&#xff0c;我把视频名称&#xff08;Json&#xff09;和对应的视频资源都放在了StreamingAssets文件夹下&#xff0c;以便于打包后&#xff0c;客户还可以自己在外部增加、删除、修改对应的视频资料。 如有需要&#xff0c;请联细抠抠。

软件工程知识点

软件开发模型1 软件开发模型2 软件过程模型习惯上也称为软件开发模型&#xff0c;它是软件开发全部过程、活动和任务的结构框典型的软件过程模型有瀑布模型、增量模型、演化模型(原型模型、螺旋模型)、喷泉模型基于构件的开发模型和形式化方法模型等。 极限编程 开发方法 RUP…