推荐设计RC无源滤波器使用,数字滤波器可以使用MATLAB,有源滤波器使用Filter Pro。
一、Filter Solutions
1、软件资源及安装教程如下
(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、软件资源及安装教程如下
(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文件)即可