工频干扰可以用陷波器进行处理过滤50hz信号。常用的工频陷波器主要有IIR和FIR两种其中FIR具有良好的线性相位,但是在同等滤波效果的情况下IIR的阶数要比FIR少很多,一个两阶嘚IIR滤波器的效果FIR要付出100多阶的代价阶数大意味着运算量大,对于一个MCU单片机来说这是得不偿失的所以采用IIR滤波器来实现工频滤波。
IIR滤波器的设计方法有脉冲响应不变法和双线性变换法如果你已经熟悉IIR滤波器的设计原理可以直接借用Matlab的Fdatool滤波器设计工具直接生成相关系数,这样省去了中间设计环节再通过IIR滤波器的直接II型实现方式翻译成C语言格式并应用于STM32平台(重要:fs为采样频率,Fnotch为陷波频率)
导出滤波系数得到转移函数
这样再通过直接II型实现框图翻译成C语言代码并烧录到主控MCU中运行
前提是你的输入信号的时域采样率要和滤波器的频域采样率要保持一致,这样就涉及定时器触发ADC采样用STM32的定时器来配置采样率,
附带Matlab平台仿真实现:
加载中请稍候......
}
|
|
|
||
狂欢節专属(分享宝宝)
狂欢节专属(微信上墙)
狂欢节专属(研讨会问答)
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。