0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA实现FIR数字滤波电路的设计及应用

FPGA设计论坛 来源:FPGA设计论坛 作者:FPGA设计论坛 2023-04-15 15:28 次阅读

车辆在动态称重时,作用在平台上的力除真实轴重外,还有许多因素产生的干扰力,如:车速、车辆自身谐振、路面激励、轮胎驱动力等,给动态称重实现高 测量造成很大困难。若在消除干扰的过程中采用模拟方法滤波,参数则不能过大,否则将产生过大的延迟导致不能实现实时处理,从而造成滤波后的信号仍然含有相当一部分的噪声。所以必须采用数字滤波消除干扰。

FIR滤波的原理及实现

本文采用FIR数字滤波,其原理如公式1所示。

Y(n)=(1)

其中h(k)为系统滤波参数,x(n)为采集的信号,Y(n)为滤波后的输出信号。

FIR滤波器的h(n)0≤n≤N-1

H(z)=(2)

在本文中N=17。由于h(n)具有对称性质,即:

h(n)=h(N-1-n)(n=0,1,。..,(N-1)/2)(3)

这样就可以把FIR滤波器设计成具有线性相位。利用这一情况,可以得到的乘法结构,需要(N+1)/2次乘法,仅是级联或并联结构所需次数的一半,因此,实际应用中多采用此方法。

我们选用17点的FIR滤波算法,这样实现 FIR卷积运算需要执行9次乘法和16次加法。为了实现数据的实时处理,需要在20ms内完成这个卷积运算,如果选用单片机89C51(12M晶振)则无法实现。所以我们选用了Altera公司的FLEX10K20。FLEX10K系列是工业界 个嵌入式的PLD,采用重复可构造的CMOSSRAM工艺,把连续的快速通道互连与独特的嵌入式阵列结构相结合,同时也结合了众多可编程器件的优点来完成普通门阵列的宏功能。具有高密度、低成本、低功率等特点。

pYYBAGQ6Uj-Af7snAABHytxhdUI285.jpg

图1硬件结构框图硬件设计

由于我们选用的AD1674芯片转换时间为10ms,而所设计的电路每隔20ms启动转换 ,所以有足够的时间完成模数转换。轴重台的宽度为40cm,汽车通过轴重台的 速度为15km/h,通过计算可知在这段时间里系统可采集4800个数据。由于前30ms是传感器的反应时间,将剩下的数据进行FIR数字滤波后,噪声会被有效的抑制。为了进一步平滑波形,对每8个数据做 平均,这样就消弱了由于汽车高速通过轴重台时由于颠簸产生的尖峰信号。FPGA的每次滤波包含有FIR运算和8个数据的平均值运算,完成 滤波就会向单片机发一个中断请求,此时单片机读取滤波后的数据。由于我们选用的A/D转换器是12位,而单片机89C51是8位的,所以经过处理后的数据必须分两次读入。 次读入低8位,第二次读入高4位,然后对数据处理。此时我们可以认为单片机接收的数据为滤波后不含有噪声的数据。根据轴重称量的波形图可以知道,只要求出此时的 值就是汽车的真实重量。

在此仪表中,串行口即用来显示也用来通讯,我们可以通过FPGA很容易实现切换。如图1所示,当控制信号为1的时候RXD、TXD用于显示,而当控制信号为0的时候用于和上位机通讯。

我们选用加海明窗的理想低通滤波器,其归一化截至频率为0.25,如图2所示。汽车称重信号为含有多种成分噪声的直流信号如图3所示,这1000个数据经过FPGA的FIR滤波和8点数据平均后,提供给单片机125个数据

滤波之前的噪声的峰峰值在0.1V左右,而此时的轴重信号为1,这将严重影响测量 。滤波后我们看到情况得到了明显的改善,噪声信号的峰峰值被抑制在0.02V的范围内,大大改善了信噪比,从而提高了测量 。

结语

本设计不但实现了硬件数字滤波电路,而且减少了许多门电路和组合逻辑电路。用比较少的器件实现了比较复杂的功能,减少了故障率。用此方法设计的汽车动态称重仪表具有良好的实时性和较高的 ,现已投入批量生产。


审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593194
  • 滤波电路
    +关注

    关注

    45

    文章

    598

    浏览量

    69140
  • 数字滤波电路

    关注

    0

    文章

    2

    浏览量

    5596
  • FIR滤波
    +关注

    关注

    0

    文章

    6

    浏览量

    9795
  • AD1674
    +关注

    关注

    0

    文章

    12

    浏览量

    20546

原文标题:基于FPGA实现FIR数字滤波电路的设计及应用

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用FPGA构建的数字滤波器设计方案

    本文简要介绍了FIR数字滤波器的结构特点和基本原理,提出基于FPGA和DSP Builder的FIR数字滤波器的基本设计流程和
    发表于 07-24 15:30 8439次阅读
    使用<b class='flag-5'>FPGA</b>构建的<b class='flag-5'>数字滤波</b>器设计方案

    基于FPGA实现FIR数字滤波电路的设计及应用

    这样就可以把FIR滤波器设计成具有线性相位。利用这一情况,可以得到的乘法结构,需要(N+1)/2次乘法,仅是级联或并联结构所需次数的一半,因此,实际应用中多采用此方法。
    发表于 12-22 12:22 1846次阅读
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b><b class='flag-5'>FIR</b><b class='flag-5'>数字滤波</b><b class='flag-5'>电路</b>的设计及应用

    基于DSP的FIR 数字滤波器设计

    :文章设计了一种基于TI 公司的DSP(TMS320VC5402)的FIR 数字滤波器系统。主要包括了DSP 最小系统电路设计、AD 和DA 转换接口电路设计,并给出了系统初始化程序设
    发表于 05-14 23:30

    基于FPGAFIR滤波器设计与实现

    DSPBuilder设计了一个4阶FIR滤波器,并用QuartusII进行硬件仿真,仿真结果表明设计FIR滤波器的正确性。同时使用IPCore开发基于
    发表于 08-11 15:32

    基于FPGAFIR数字滤波器的优化设计

    基于FPGAFIR数字滤波器的优化设计
    发表于 08-17 23:55

    基于FPGAFIR数字滤波器该怎么设计?

    在信息信号处理过程中,数字滤波器是信号处理中使用最广泛的一种方法。通过滤波运算,将一组输入数据序列转变为另一组输出数据序列,从而实现时域或频域中信号属性的改变。常用的数字滤波器可分为有
    发表于 09-29 07:45

    怎么实现基于PSO的FIR数字滤波器设计?

    怎么实现基于PSO的FIR数字滤波器设计?
    发表于 05-14 06:49

    基于DSP的FIR数字滤波器设计与实现

    分析了FIR数字滤波器的基本原理,在MATLAB环境下利用窗函数设计FIR低通滤波器,实现FIR
    发表于 12-18 15:53 101次下载

    什么是fir数字滤波器 什么叫FIR滤波

    什么是fir数字滤波器 Part 1: Basics1.1 什么是FIR滤波器?FIR 滤波
    发表于 01-16 09:42 1.6w次阅读

    FIR数字滤波器的FPGA实现研究策略

    FIR数字滤波器的FPGA实现研究策略  如今,FPGA已成为数字信号处理系统的核心器
    发表于 04-23 14:13 1094次阅读
    <b class='flag-5'>FIR</b><b class='flag-5'>数字滤波</b>器的<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b>研究策略

    基于FPGAFIR数字滤波器的优化设计

    目前数字滤波器的硬件实现方法通常采用专用DSP芯片或FPGA,本文从FIR滤波器的系数考虑,采用CSD编码,对
    发表于 08-16 10:54 3663次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>FIR</b><b class='flag-5'>数字滤波</b>器的优化设计

    基于Matlab/Simulink的FIR数字滤波器的设计与实现

    基于Matlab/Simulink的FIR数字滤波器的设计与实现
    发表于 01-15 15:16 38次下载

    基于LabVIEW的FIR数字滤波器设计

    基于LabVIEW的FIR数字滤波器设计。
    发表于 01-20 16:30 53次下载

    Matlab辅助DSP实现FIR数字滤波

    Matlab辅助DSP实现FIR数字滤波
    发表于 10-20 09:34 5次下载
    Matlab辅助DSP<b class='flag-5'>实现</b><b class='flag-5'>FIR</b><b class='flag-5'>数字滤波</b>器

    FPGA是如何设计并实现了32阶FIR数字滤波器的硬件电路

    数字信号处理中,数字滤波器的应用是极其广泛和重要的单元。与模拟滤波器相比,数字滤波器可以克服模拟滤波器所无法克服的电压漂移,温度漂移以及噪
    发表于 07-20 14:32 5132次阅读
    <b class='flag-5'>FPGA</b>是如何设计并<b class='flag-5'>实现</b>了32阶<b class='flag-5'>FIR</b><b class='flag-5'>数字滤波</b>器的硬件<b class='flag-5'>电路</b>?