当前位置:高校自动化网 >> fpga >> 浏览文章

利用FPGA实现滤波及抗干扰

文章来源:dl.21ic.com 作者:佚名


该文章讲述了利用FPGA实现滤波及抗干扰.

利用FPGA实现滤波及抗干扰

 


整个电路的主要功能是抗冲击波

和蚊虫干扰,并把有效弹丸信号变成脉宽为50μs的信号输出到下级处理电路。设计中采用的芯片是MAX7000系列的EPM7128SLC84-15芯片。下面就如何实现滤波和抗干扰作详细介绍。


1 电路原理


当有物体穿过光幕时,所产生方波的脉冲宽度为:T=(L+D)/V。式中,L为飞行物的长度,D为光幕面的厚度,V为飞行物的速度。冲击波以声速计算,V为340m/s,D=3mm,则可知冲击波穿过光幕产生的方波信号脉冲宽度为:T1=D/V≌8.8μs;若V=330m/s,则T1≌9.1μs。蚊虫等飞行物飞行速度V为20m/s,物体长度L大约为10mm,则可知蚊虫飞过光幕产生的方波信号脉冲宽度为T2≌650μs。红外密集度立靶测试系统测试弹丸弹速范围为200~1200m/s,主要用于5.8mm、7.62mm、9mm三种弹;冲击波的影响主要产生于对9mm×19mm的手枪弹的测量,该弹丸弹速约为320m/s。根据弹速和弹长,可知弹丸穿过光幕产生的方波信号脉冲宽度范围为T3=37.5μs。


根据靶场实际测试情况,弹丸穿过光幕时产生的方波信号脉冲宽度基本都小于150μs且大于10μs,则可以认为脉冲宽度大于150μs小于10μs的信号为无效信号,可以剔除,此时可将蚊虫干扰信号和冲击波信号滤除,达到抗干扰的目的。


2抗冲击波电路


滤除冲击波电路如图1所示。当PULSE_IN端出现一个正跳变时,上跳沿使得触发器D1的输出端产生高电平信号,则启动计数器开始计数。当计数器计满后,计数器输出端产生一个正跳变,上升沿使得触发器D3的输出端产生一个高电平信号,将这两个信号相与得到输出信号PULSE_OUT1。当PULSE_IN的下降沿到来时将计数器和三个触发器同时清零,等待下一个信号到来。由图2可知,当PULSE_IN的脉宽小于设定计时宽度时,认为干扰信号PULSE_OUT1为低;当PULSE_IN的脉宽大于设定计时宽度时且仍为高时,认为信号有效,PULSE_OUT1为高且在PULSE_IN的下降沿变为低电平,等待下一信号的到来。

点击浏览下一页

图1 滤除冲击波电路

点击浏览下一页

图2 抗冲击波电路仿真波形图


3 抗“蚊虫”干扰电路

 


当PULSE_OUT1有一个正跳变时,计数器开始计数,若计数器计满则计数器cout端将有一个正跳变,经反相后加在触发器D4的Q输入端。在PULSE_OUT1的下降沿到来时,触发器D4的输出端仍输出低电平信号,输出信号PULSE_OUT2为低,即若PULSE_OUT1的脉冲宽度不小于计数器计时宽度时,PULSE_OUT2端将输出低电平信号;若计数器未计满则cout 端将不会有上升沿,触发器D4的Q输入端为高,在PULSE_OUT1的下降沿使触发器D4的输出端为高时,输出信号PULSE_OUT2为高。在PULSE_OUT1上升沿到来时,触发器D6的输出端输出为高经反相器后将触发器D4和D6同时清零,等待下一信号的到来。


4 脉宽设定电路


为了保证弹丸穿过光幕产生的脉冲信号能够非常适合后续处理电路的需要,在设计中将弹丸穿过光幕产生的脉冲信号均变为脉宽为50μs的脉冲信号再输出给后续电路。


当PULSE_OUT2有一个正跳变时,触发器D7的输出端输出高电平,并启动计数器。当计数器计满时,计数器cout出现上升沿,触发器D8的输出端输出高电平,此高电平信号将计数器清零,同时经反相器反相后接到触发器D7和D8清零端,将触发器D7和D8清零。


整个电路的作用就是,当PULSE_IN上跳沿到来后,先经过抗冲击波电路,若信号脉宽大于10μs,则启动抗蚊虫干扰电路;若信号脉宽大于150μs,输出PULSE_OUT为低电平信号;若脉宽小于150μs,则经过脉宽设定电路变成宽度为50μs的信号输出。


通过分析可知应用FPGA器件所设计的抗干扰电路具有可灵活调节信号的脉宽修改方便、对输入信号的脉宽适应能力强可调节范围大、输出的脉冲宽度和幅值稳定准确的特点。

点击浏览下一页

图3 抗蚊虫干扰电路

点击浏览下一页

图4 抗蚊虫干扰电路仿真波形

点击浏览下一页

图5 脉宽设定电路

结语


为了在测试弹丸射击密集度时消除冲击波和蚊虫干扰,利用FPGA器件来设计抗干扰电路,本电路简单可靠,能有效地消除干扰脉冲,从而保证了数据的准确性和可靠性。

点击浏览下一页

图6 脉宽设定电路仿真波形图

点击浏览下一页

图7 整体电路仿真波形图

相关文章:
  • altera器件名字
  • 分享modelsim下编译xilinx库的方法
  • $monitor任务调用要领
  • 上一篇:FPGAI/O 单元结构
    下一篇:没有了
    最近更新