FPGA实现脉冲滤波的几种方法

     在PLC和伺服系统中,经常需要对脉冲进行计数以控制电机运行,对于干净的脉冲信号,使用FPGA采集边沿,非常可靠且易于实现,只需要对需采集的信号延迟一拍,再把延迟的信号与原信号做下处理就能得到上升沿或下降沿,下降沿通过取反的原信号与延迟信号相与获得,上升沿通过原信号与取反的延迟信号获得;

  而在实际应用中,PLC或伺服系统的应用环境通常都是非常复杂的,各种电磁干扰,不可能有干净的脉冲信号,又要保证脉冲个数准确,就必须对信号进行滤波,这里主要介绍三种滤波方法,暂且叫脉宽滤波,计数滤波及延时滤波。

1、脉宽滤波

         对需要采集的信号使用系统时钟打一拍,一般系统时钟频率尽量高,   然后和输入的信号做异或,当异或值为高电平时,置计计数器值为零,否则计数器自加,计数器值记到一定值,视为信号稳定,把当前值作为输出值,计数值没达到定值时,输出维持之前的输出值;

2、计数滤波

         已知脉冲频率范围,在一定计数范围内(计数值最好为奇数值),对需要采集的信号分别统计高电平和低电平的个数,当高电平的个数大于低电平的个数,输出高电平,反之输出低电平,此方法对于高斯噪声污染比较好使,假设干扰噪声总体均值趋向于零,对于脉冲频率越低的信号,统计效果会越好;

3、延时滤波

         对输入脉冲信号进行打拍,一般至少打两拍,使用几拍后的信号作为最终输出,这种方法能有效滤除系统频率以下的噪声信号;

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值