硬件基础06 滤波器——无源、有源(含Filter Solutions、Filter Pro、MATLAB Fdatool)

news/2024/11/7 4:20:04/

推荐设计RC无源滤波器使用,数字滤波器可以使用MATLAB,有源滤波器使用Filter Pro。

一、Filter Solutions

1、软件资源及安装教程如下

FilterSolutions14.1.rar资源

        (1)、双击FS14_1_0.exe进行安装;不要安装到中文路径;

        (2)、用filter_solutions.exe覆盖安装目录下filter_solutions.exe文件;

        (3)、以管理员身份运行filter_solutions.exe,随便输入用户名和密码即可破解。

2、使用相关内容

        (1)、选择滤波器类型,例如贝塞尔、巴特沃斯、切比雪夫等,不同滤波器的通带、阻带效果不一样,根据需求进行选择,常规选择巴特沃斯;

        (2)、选择滤波器的低通、高通、带通、带阻,以低通为例子;

        (3)、输入1MHz、2MHz、带内、带外抑制,就可以看到计算的结果和所需的电阻电容值,但是前面我们提到过电阻电容并不是任意值,因此可以直接双击电阻、电容进行修改。

        (4)、例如修改为如下图,可以看到滤波器的响应曲线也变化了,基本上符合我们的需求即可。

 二、Filter Pro使用

1、软件资源及安装教程如下

FilterPro.rar资源

        (1)、双击FilterPro.exe进行安装;不要安装到中文路径;

        (2)、双击桌面打开即可。

2、使用相关内容

        (1)、选择滤波器类型、低通等;

        (2)、设置通带、阻带增益和频率等;

        (3)、设置滤波器类型,可以看到不同特性的曲线,主要看增益情况;

        (4)、选择有源滤波器设计类型,一般就是多级反馈拓扑、sallon-key结构,都可以;

        (5)、最终就会提示,所需滤波器为4阶,并且每一阶的Q值、所需GBW为多少,这些在运放都是可以参考的,同样支持手动修改R、C的数值等。

        比如常用的opa690,在datasheet中可以看到,其GBW高达500,符合滤波器所需需求,同时其信号传输而言,在低频到高频10MHz的传输都是比较正常的,因此可以选择该运放进行电路搭建。

三、MATLAB Fdatool

1、在matlab命令中输入fdatool

2、输入相关参数,例如低通、FIR、20阶、hamming窗

3、调用

(1)、matlab自身调用

        推荐使用生成滤波器代码,其会生成一个函数,保存函数到当前工作的文件夹下,直接调用即可,因为如果导出到工作区,关闭或直接clear all都会清除。

(2)、STM32调用

        在目标中选择生成C头文件,选择单精度浮点即可在STM32的DSP单元调用。

(3)、FPGA调用

        选择定点数与量化位数,再目标-生成Xilinx系数(.coe文件)即可


http://www.ppmy.cn/news/1544955.html

相关文章

MySQL 的 select * 会用到事务吗?

我们都知道,在InnoDB存储引擎中,所有的修改操作都必须在事务中进行的。 那么,而 SELECT * 这种普通的读取操作其实也会在事务的上下文中执行,即使没有明确的开启事务语句InnoDB存储引擎也会为查询自动开启一个隐式事务。 因此&a…

基于SpringBoot的免税商品优选购物商城的设计与实现

一、项目背景 从古至今,通过书本获取知识信息的方式完全被互联网络信息化,但是免税商品优选购物商城,对于购物商城工作来说,仍然是一项非常重要的工作。尤其是免税商品优选购物商城,传统人工记录模式已不符合当前社会…

【大数据学习 | kafka】kafka的偏移量管理

1. 偏移量的概念 消费者在消费数据的时候需要将消费的记录存储到一个位置,防止因为消费者程序宕机而引起断点消费数据丢失问题,下一次可以按照相应的位置从kafka中找寻数据,这个消费位置记录称之为偏移量offset。 kafka0.9以前版本将偏移量信…

苍穹外卖day-01

后端环境搭建 创建git仓库 提交代码 创建gitee远程仓库 开始连接远程仓库 运行sql文件,创建数据库。这里选取的可视化工具是navicat 编译一下项目 运行项目 登录的账号和密码在数据库中的emploee表中 退出前端界面登录后再重新登录,可以从后台清晰看到前…

qt QDropEvent详解

1、概述 QDropEvent是Qt框架中用于处理拖放释放事件的一个类。它允许开发者在用户界面中更好地管理和处理拖放操作,从而实现交互式和响应式的应用程序。QDropEvent类提供了处理拖放释放事件所需的方法和信号,使得开发者能够轻松地实现拖放功能&#xff…

Jenkins 构建时候提示超时错误被终止

近期在使用 Jenkins 构建项目的时候,经常性得到错误: - Building for production... Build timed out (after 3 minutes). Marking the build as aborted.当再次重构后,貌似没有问题,等候一段时间后问题又再次出现。 问题和解决…

【深度学习】时间序列预测、分类、异常检测、概率预测项目实战案例

说明:本专栏内容来自于个人学习笔记、以及相关项目的实践与总结。写作目的是为了让读者体会深度学习的独特魅力与无限潜力,以及在各行各业之中的应用与实践。因作者时间精力有限,难免有疏漏之处,期待与读者共同进步。 前言 在当今…

Caffeine 手动策略缓存 put() 方法源码解析

BoundedLocalManualCache put() 方法源码解析 先看一下BoundedLocalManualCache的类图 com.github.benmanes.caffeine.cache.BoundedLocalCache中定义的BoundedLocalManualCache静态内部类。 static class BoundedLocalManualCache<K, V> implements LocalManualCache&…