首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
电源与功率管理
» 两种基于FPGA的软件滤波方法
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
两种基于FPGA的软件滤波方法
发短消息
加为好友
porereading
当前离线
UID
863084
帖子
7183
精华
0
积分
3592
阅读权限
90
在线时间
209 小时
注册时间
2011-11-30
最后登录
2019-8-28
论坛元老
UID
863084
1
#
打印
字体大小:
t
T
porereading
发表于 2015-8-27 22:00
|
只看该作者
两种基于FPGA的软件滤波方法
计算机软件
,
集成电路
,
电子技术
,
在线
,
开发
基于FPGA的软件滤波算法设计及实现
随着数字电子技术的发展,数字电路已由早期的分立元件逐渐发展成集成电路,对电路设计的要求越来越高。尤其是可编程逻辑器件的出现,使得以硬件为载体、以计算机软件为开发环境的现代数字系统的设计方法日趋成熟。可编程逻辑器件设计灵活、功能强大、可在线修改、效率高等优点深受广大电子设计人员青睐。目前,大多数现场可编程逻辑阵列( FPGA)芯片是电压敏感型芯片,基于可重构CMOS-SRAM单元结构,数据具有易失性,工作在低电压状态,易受干扰,尤其在工控、军用场合,外界电磁环境恶劣,电路耦合、空间辐射的杂波脉冲均会对FPGA工作的稳定性产生影响。
干扰脉冲和毛刺信号是影响FPGA稳定工作的主要因素,为了保证输入信号每变化一次,电路只做出一次正确的响应,必须对输入信号进行滤波处理。要实现信号滤波可以采用硬件滤波和软件滤波两种方法。与硬件滤波相比,软件滤波不需要硬件电路的支持,从而可以减少元器件的使用,降低成本,更重要的是软件滤波更易于修改,所以常采用软件滤波的方法来实现电路中的信号滤波问题。通过VHDL语言编程实现信号滤波功能,介绍了延时滤波法和判决滤波法,并通过实验证明了上述两种滤波方法的可靠性。
1延时滤波
延时滤波法的滤波原理是对输入信号的脉冲宽度进行鉴别,对那些与真实信号的宽度相差很大的干扰信号进行有效的抑制。具体的实现流程为在检测到输入信号的状态发生变化后,延时一段时间T,脉冲宽度小于延时时间T的输入信号被认为是干扰信号,将其滤除;脉冲宽度大于延时时间T的输入信号则被认为是真实信号,将其输出。针对不同脉冲宽度的干扰信号,可以通过设置不同的参数来实现相应的信号延时,从而达到有效滤波的目的。
1. 1延时时间T的确定
延时时间T取决干扰信号的脉冲宽度T‘。延时时间T太短( T<T’),滤波不完整,脉冲宽度大于T的干扰信号仍然会造成电路的误动作;延时时间T太长( T>>T‘),会造成资源的浪费,降低电路的工作效率。
这里以某型号的扭子开关输入信号为例来介绍如何确定延时时间T.由于扭子开关的机械触点存在弹性作用,当拨动开关时,都不可避免地要在触点闭合及断开的瞬间产生一连串的抖动。为了能够更准确地估测拨动开关时产生的干扰脉冲宽度T',可以用示波器对开关信号进行多次测量,经测量发现这种扭子开关信号的抖动时间不会超过1.5ms.图1为没有经过滤波处理的开关信号波形。
图1中,横坐标表示时间,每格代表50μs,纵坐标表示电压,每格表示1 V.从图中可以明显看出,在开关信号达到稳定状态之前,有一连串的抖动,抖动时间不到1. 5 ms.这里根据实际情况,确定延时时间T = 2 ms.
1. 2延时滤波程序设计
延时滤波程序采用一个计数器来实现,计数器的模值N取决于延时时间T和采样时钟CLK的周期TCLK.若计数器的初始值为0时,则N = T /TCLK-1.图2为编写延时滤波程序的流程图。
图1未经过滤波处理的开关信号
图2延迟滤波程序流程图
当检测到开关信号的状态发生变化时(这里以由‘0’变到‘1’为例),计数器开始计时,当计数器的计数值计到N时,如果开关信号仍保持为变化之后的状态‘1’,则输出‘1’,否则,认为这是一个干扰脉冲,将其滤除。
当采样时钟的频率为5 kHz时,TCLK = 0. 2 ms,要实现2 ms的延时时间,若计数器初始值为0,那么计数器模值N = 9.具体的VHDL语言程序进程如下:
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议