×
嵌入式 > 嵌入式开发 > 详情

基于AVR单片机的数字滤波器滤除工频干扰的快速算法

发布时间:2020-07-09 发布时间:
|

工频干扰广泛存在各种工业现场中,其产生的途径主要包括输电馈线、照明设备、发动机以及各种电子仪器设备等。一般可以通过滤波电路消除工频干扰,但这必将增加硬件结构的复杂程度。实际上,还可以采用数字信号处理的相关算法,通过软件滤波器滤除工频干扰。软件滤波算法的采用,无疑会在简化电路结构的同时,使系统的硬件资源得到更加充分的利用,并达到降低产品成本的要求。

AVR 单片机是Atmel 公司生产的8位精简指令集(RISC)单片机。与同类单片机相比,在运算速度、外设资源、灵活性等方面性能均衡,性价比较高。 AVR 单片机适合C语言开发,Mega 系列AVR 单片机还有一个内部硬件乘法器单元。这些特点都为软件滤波器的实现提供了极大的便利。

1 滤波算法

常用的单片机滤波算法包括中值滤波、均值滤波、滑动平均以及复合滤波算法等。工频干扰的频率范围在50Hz附近,可以采用一个截止频率远低于50Hz的低通滤波器来滤除工频干扰。

假设输入信号为x(t),输出信号为y(t),则一个RC低通滤波器表达式为:,其中t为时间常数。

连续时间信号经过采样后成为离散时间信号,低通滤波器的表达式也变为:

为采样时间间隔,k为归一化时间。

由(1)式可得:

所以系统的传递函数为:

假设采样频率Fs=500Hz,a分别取0.8, 0.85, 0.9, 0.95, 代入(4)式,利用matlab 画出频率响应曲线,如图1。其中50Hz频率对应的幅度衰减见表1。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
五大标准轻松搞定4K超高清电视选购