写在前面
前几天看了一部漫画,里面有个老技术人员的话,让我不自觉地想起了很多事情。
是的,有时候我们认为自我实现实际上是在聚集这个时代的兴奋。每个时代都有自己的兴奋。个人只是时代的浪花。
本周,我想和大家分享一些前段时间设计滤波器时遇到的问题和解决方案,希望对大家有所帮助。
完整的流程图如下:
滤波器是什么?
看过我之前博客的人都知道,我的研究方向是研究谐波,一个人类看不到或摸不着的东西,但它确实存在。
什么是谐波?感兴趣的学生可以下去了解自己。在这里,我们只需要知道这个东西既有好处也有坏处。关键取决于它在哪里使用。
我们的目的是消除我们不想要的谐波。
为了减少谐波的影响,应对谐波源本身或在附近采取适当的措施,通常通过安装滤波器来控制谐波。
首先滤波器按照处理信号类型分类有模拟滤波器和离散滤波器,我们常用的模拟滤波器分为有源滤波器和无源滤波器。
对比有源与无源
1.谐波处理能力
无源滤波器只能过滤固定次数的谐波;但完全可以解决系统中的谐波问题,解决企业用电过程中的实际问题,达到国家电力部门的标准;有源滤波器可以动态过滤各种谐波。
2.系统阻抗变化的影响
系统阻抗严重影响无源滤波器,存在谐波放大和共振的危险;但不影响有源滤波。
3.频率变化的影响
无源滤波器谐振点偏移,效果降低;有源滤波器不受影响。
4.负载增加的影响
无源滤波器可能因过载而损坏;有源滤波器无损坏危险,谐波量大于补偿能力时,补偿效果不足。
5.负载变化对谐波补偿效果的影响
无源滤波器的补偿效果随负载变化而变化;有源滤波器不受负载变化的影响。
6.设备造价
无源滤波器较低;有源滤波器过高。
有源电力滤波器
在研究这个滤波器的时候,我也遇到了一个有趣的滤波器,叫做有源电力滤波器,经常用在电网上。一开始,我把它和上面的有源滤波器混淆了。
有源电力滤波器(Active Power Filter,简称APF)它是一种用于动态抑制谐波和补偿无功的新型电力电子设备,可以补偿大小和频率变化的谐波和无功。
内部原理图如下:
它是通过电流互感器,实时检测负载电流,并通过运算器,提取出负载电流的谐波成分,然后通过PWM向内部发送信号IGBT,控制逆变器产生与负载谐波大小相等、方向相反的电流,注入电网补偿谐波电流,实现滤波功能。
也是非常有趣的东西,但它不是我这次要讲的重点,以后有机会可以再聊聊。
第一步:网页工具设计滤波器
现在互联网上有很多工具箱可以帮助我们设计,甚至不需要你安装任何东西,网页版本,甚至VScode有网页版,还有什么是不可能的。
这里推荐两个可以设计滤波器的网页工具箱。
首先是亚诺半导体官网:点击这里
https://www.analog.com/cn/design-center/design-tools-and-calculators/amplifier-and-linear-tools.html
我用的最多TI官网的这个:点这里
简单告诉大家流程:
1.选择滤波器类型
低通滤波
1.以下参数根据需要确定
通带增益、通频带、通频带起伏、阻带和阻带衰减
有这样的设计标准:
1.选择滤波器的响应
有三种常见的滤波器响应:
- Bessel通频带内有恒定延迟,但截止速率最慢;
- Chebychev截止速率最陡,但通带起伏最大;
- Butterworth通频带最平坦,通频带起伏较好。
巴特沃兹滤波器更合适。
设计之后的频率响应曲线:
order阶数,放大器数量需要计算; Q对方波冲击响应的稳定性。
1.4择滤波器的拓扑
常见滤波器有两种拓扑: Multiple - Feedback (MFB)
- 输入输出相反
- 输入阻抗低,输出阻抗低
- 无高频馈通,对运输带宽要求低
- 不需要额外的增益电阻对设备敏感度低
Salley-Key
- 输入输出相同
- 输入阻抗高,输出阻抗低
- 有高频馈通,对运输带宽的要求更宽
两者最本质的区别:输入输出的相位方向
1.5.根据设备的难度和成本确定设备的值
关键是电阻电容的精度,保证在10%左右。
有源滤波电路在这里完成。
这个网页工具箱甚至可以直接选择原件并下订单。当然,不需要的学生可以直接导出你设计的滤波器的报告。
第二步:Multisim该滤波器的模拟验证
有了这样的电路,下一步就是想办法验证电路的可行性:
当然,这还不够直观。在这里,我们使用两个信号发生器,一个50Hz信号,1.3KHz,将这两个信号复合,然后通过设计滤波器电路检查效果。
上图左侧的两个信号是两个信号发生器产生的信号,右边是两个复合信号之后的波形。
右下角是过滤后的波形,我们输入50Hz将信号与最终获得的信号波信号进行比较:
如果我们觉得不够直观,我们可以FFT分析。将时域上的信号转移到频域观察。
可以清楚地观察到,1.3KHz信号已被过滤和消失。
这个滤波器完全没有问题。
如果只是工程应用,到这一步就可以了。
第三步:数学模型,公式推导
一开始我也是一步一步推这个公式。
但我们的目标是在三分钟内设计一个滤波器,显然不能用手推导。
所以这里给大家介绍几个Matlab只需几秒钟就可以传递函数。
1.[N,wn]=buttord(wp,ws,rp,rs,‘s’) buttord函数
这个函数的功能是来计算巴特沃斯数字滤波器的
调用参数wp,ws数字滤波器的通带和阻带截止频率,
当ws≤wp为高通滤波器;当wp和ws当它是二元矢量时,带通或带阻滤波器w n 也是二元向量。rp,rs分别是通带最大衰减和组带最小衰减(B)。
2.[B,A]=butter(N,wn,‘ftype’)butter 函数
此函数的功能是
其中,调用参数N和wn分别为巴特沃斯数字滤波器的阶数和3dB截止频率,
一般是可与buttord格式计算N和wn配合使用。系数B、A是按照z-1的升幂排列,ftype为滤波器的类型。N,wn为butter函数的调用参数。
3.buttap 函数 [Z,P,K] = buttap(N)
函数可设计出N阶巴特沃斯低通滤波器的零、极点。
其传递函数模型如下:
这样你就可以在simulink中与你的整个控制系统放在一起进行仿真。
仿真效果如下:
甚至你还可以直接绘制这个滤波器的幅频特性曲线:
到此为止一个完整的设计闭环已经结束。
写在最后
写这个博文一方面给大家分享滤波器设计流程之外,还有一点就是强调工具的使用。
最后祝大家早晚,午安和晚安!
(学校新政策,一周可以申请一次离校,指定时间前必须回来,真就跟监狱放风似的,不说了,我去放风了,拜拜~)