一种基于AVR单片机的工频干扰滤除快速算法
[09-12 18:13:33] 来源:http://www.88dzw.com 单片机学习 阅读:8729次
文章摘要:假设有用信号2V大小的直流信号,工频干扰是峰峰值为1V,频率为50Hz的正弦波,建立单片机AD的输入信号表示形式如下:2+0.5 sin(2π×50×t)VMLAB通过工程文件来管理和控制各种仿真信息、硬件连接以及显示I/O电压波形等。根据本算法的特点,采用Atmega16作为目标单片机,时钟选为8MHz,建立工程文件。恰当设置OCR0等存储,使计数器比较匹配中断的时间间隔约为2ms,这样AD的采样频率Fs近似认为等于500Hz。经过仿真,对比结果如表3。表3 Fs=500Hz时仿真结果对比 aDA输出纹波峰峰值衰减幅度DA输出均值收敛时间0.80.36V-8.8dB1.99V约为100ms0
一种基于AVR单片机的工频干扰滤除快速算法,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com假设有用信号2V大小的直流信号,工频干扰是峰峰值为1V,频率为50Hz的正弦波,建立单片机AD的输入信号表示形式如下:
2+0.5 sin(2π×50×t)
VMLAB通过工程文件来管理和控制各种仿真信息、硬件连接以及显示I/O电压波形等。根据本算法的特点,采用Atmega16作为目标单片机,时钟选为8MHz,建立工程文件。恰当设置OCR0等存储,使计数器比较匹配中断的时间间隔约为2ms,这样AD的采样频率Fs近似认为等于500Hz。经过仿真,对比结果如表3。
表3 Fs=500Hz时仿真结果对比
a | DA输出纹波峰峰值 | 衰减幅度 | DA输出均值 | 收敛时间 |
0.8 | 0.36V | -8.8dB | 1.99V | 约为100ms |
0.85 | 0.28V | -11.1dB | 1.99V | 约为120ms |
0.9 | 0.2V | -14dB | 1.98V | 约为145ms |
0.95 | 0.1V | -20dB | 1.95V | 约为210ms |
a DA输出纹波峰峰值 衰减幅度 DA输出均值 收敛时间
0.8 0.36V -8.8dB 1.99V 约为100ms
0.85 0.28V -11.1dB 1.99V 约为120ms
0.9 0.2V -14dB 1.98V 约为145ms
0.95 0.1V -20dB 1.95V 约为210ms
从表3可以看出:随着α的增大,算法收敛的时间变长,同时50Hz对应的衰减幅度增加,衰减的幅度值和理论推导基本一致。另外,当a=0.95时,DA输出的均值变小。这主要是进行循环迭代运算时,需要将16位的变量转化为8位表示形式所导致的。在有用信号失真较小的情况下,为使滤波器达到降低工频干扰的最佳效果,必须恰当选择a值。经过以上的仿真试验可以发现,当a=0.9时,衰减幅度、DA输出均值和算法收敛时间表现比较均衡,可以作为一般情况下的选择值。
将VMLAB中虚拟示波器的显示数据导出到一个*.cvs文件中,用matlab读出这些数据,并画出不同a值对应的输出响应,如图4。从图4可以清晰看出不同a值下算法的性能变化的大致走向。
将AD的采样间隔设置为4ms,对应的采样频率Fs就变为250Hz,其它条件不变。通过VMLAB进行仿真,对比结果如表4、图5。
表4 Fs=250Hz时不同a值仿真结果对比
a | DA输出纹波峰峰值 | 衰减幅度 | DA输出均值 | 收敛时间 |
0.8 | 0.20V | -14.0dB | 1.98V | 约为220ms |
0.85 | 0.16V | -15.9dB | 1.98V | 约为240ms |
0.9 | 0.14V | -17.1dB | 1.97V | 约为270ms |
0.95 | 0.06V | -24.4dB | 1.95V | 大于500ms |
- 上一篇:单片机应用编程技巧
《一种基于AVR单片机的工频干扰滤除快速算法》相关文章
- › 一种基于Modelsim FLI接口的协同仿真技术
- › 一种基于S7-200 PLC的位置控制器研究设计
- › 一种基于CPLD的声发射信号传输系统设计
- › 一种基于FPGA的VGA图象信号发生器设计
- › 一种基于H.264的快速运动估计算法
- › 一种基于FPGA的多路视频通道控制系统设计
- 在百度中搜索相关文章:一种基于AVR单片机的工频干扰滤除快速算法
- 在谷歌中搜索相关文章:一种基于AVR单片机的工频干扰滤除快速算法
- 在soso中搜索相关文章:一种基于AVR单片机的工频干扰滤除快速算法
- 在搜狗中搜索相关文章:一种基于AVR单片机的工频干扰滤除快速算法