0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA實(shí)現(xiàn)FIR數(shù)字濾波電路的設(shè)計(jì)及應(yīng)用

FPGA設(shè)計(jì)論壇 ? 來源:FPGA設(shè)計(jì)論壇 ? 作者:FPGA設(shè)計(jì)論壇 ? 2023-04-15 15:28 ? 次閱讀

車輛在動態(tài)稱重時(shí),作用在平臺上的力除真實(shí)軸重外,還有許多因素產(chǎn)生的干擾力,如:車速、車輛自身諧振、路面激勵(lì)、輪胎驅(qū)動力等,給動態(tài)稱重實(shí)現(xiàn)高 測量造成很大困難。若在消除干擾的過程中采用模擬方法濾波,參數(shù)則不能過大,否則將產(chǎn)生過大的延遲導(dǎo)致不能實(shí)現(xiàn)實(shí)時(shí)處理,從而造成濾波后的信號仍然含有相當(dāng)一部分的噪聲。所以必須采用數(shù)字濾波消除干擾。

FIR濾波的原理及實(shí)現(xiàn)

本文采用FIR數(shù)字濾波,其原理如公式1所示。

Y(n)=(1)

其中h(k)為系統(tǒng)濾波參數(shù),x(n)為采集的信號,Y(n)為濾波后的輸出信號。

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

H(z)=(2)

在本文中N=17。由于h(n)具有對稱性質(zhì),即:

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

這樣就可以把FIR濾波器設(shè)計(jì)成具有線性相位。利用這一情況,可以得到的乘法結(jié)構(gòu),需要(N+1)/2次乘法,僅是級聯(lián)或并聯(lián)結(jié)構(gòu)所需次數(shù)的一半,因此,實(shí)際應(yīng)用中多采用此方法。

我們選用17點(diǎn)的FIR濾波算法,這樣實(shí)現(xiàn) FIR卷積運(yùn)算需要執(zhí)行9次乘法和16次加法。為了實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)處理,需要在20ms內(nèi)完成這個(gè)卷積運(yùn)算,如果選用單片機(jī)89C51(12M晶振)則無法實(shí)現(xiàn)。所以我們選用了Altera公司的FLEX10K20。FLEX10K系列是工業(yè)界 個(gè)嵌入式的PLD,采用重復(fù)可構(gòu)造的CMOSSRAM工藝,把連續(xù)的快速通道互連與獨(dú)特的嵌入式陣列結(jié)構(gòu)相結(jié)合,同時(shí)也結(jié)合了眾多可編程器件的優(yōu)點(diǎn)來完成普通門陣列的宏功能。具有高密度、低成本、低功率等特點(diǎn)。

pYYBAGQ6Uj-Af7snAABHytxhdUI285.jpg

圖1硬件結(jié)構(gòu)框圖硬件設(shè)計(jì)

由于我們選用的AD1674芯片轉(zhuǎn)換時(shí)間為10ms,而所設(shè)計(jì)的電路每隔20ms啟動轉(zhuǎn)換 ,所以有足夠的時(shí)間完成模數(shù)轉(zhuǎn)換。軸重臺的寬度為40cm,汽車通過軸重臺的 速度為15km/h,通過計(jì)算可知在這段時(shí)間里系統(tǒng)可采集4800個(gè)數(shù)據(jù)。由于前30ms是傳感器的反應(yīng)時(shí)間,將剩下的數(shù)據(jù)進(jìn)行FIR數(shù)字濾波后,噪聲會被有效的抑制。為了進(jìn)一步平滑波形,對每8個(gè)數(shù)據(jù)做 平均,這樣就消弱了由于汽車高速通過軸重臺時(shí)由于顛簸產(chǎn)生的尖峰信號。FPGA的每次濾波包含有FIR運(yùn)算和8個(gè)數(shù)據(jù)的平均值運(yùn)算,完成 濾波就會向單片機(jī)發(fā)一個(gè)中斷請求,此時(shí)單片機(jī)讀取濾波后的數(shù)據(jù)。由于我們選用的A/D轉(zhuǎn)換器是12位,而單片機(jī)89C51是8位的,所以經(jīng)過處理后的數(shù)據(jù)必須分兩次讀入。 次讀入低8位,第二次讀入高4位,然后對數(shù)據(jù)處理。此時(shí)我們可以認(rèn)為單片機(jī)接收的數(shù)據(jù)為濾波后不含有噪聲的數(shù)據(jù)。根據(jù)軸重稱量的波形圖可以知道,只要求出此時(shí)的 值就是汽車的真實(shí)重量。

在此儀表中,串行口即用來顯示也用來通訊,我們可以通過FPGA很容易實(shí)現(xiàn)切換。如圖1所示,當(dāng)控制信號為1的時(shí)候RXD、TXD用于顯示,而當(dāng)控制信號為0的時(shí)候用于和上位機(jī)通訊。

我們選用加海明窗的理想低通濾波器,其歸一化截至頻率為0.25,如圖2所示。汽車稱重信號為含有多種成分噪聲的直流信號如圖3所示,這1000個(gè)數(shù)據(jù)經(jīng)過FPGA的FIR濾波和8點(diǎn)數(shù)據(jù)平均后,提供給單片機(jī)125個(gè)數(shù)據(jù)

濾波之前的噪聲的峰峰值在0.1V左右,而此時(shí)的軸重信號為1,這將嚴(yán)重影響測量 。濾波后我們看到情況得到了明顯的改善,噪聲信號的峰峰值被抑制在0.02V的范圍內(nèi),大大改善了信噪比,從而提高了測量 。

結(jié)語

本設(shè)計(jì)不但實(shí)現(xiàn)了硬件數(shù)字濾波電路,而且減少了許多門電路和組合邏輯電路。用比較少的器件實(shí)現(xiàn)了比較復(fù)雜的功能,減少了故障率。用此方法設(shè)計(jì)的汽車動態(tài)稱重儀表具有良好的實(shí)時(shí)性和較高的 ,現(xiàn)已投入批量生產(chǎn)。


審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598930
  • 濾波電路
    +關(guān)注

    關(guān)注

    46

    文章

    613

    瀏覽量

    69479
  • 數(shù)字濾波電路
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    5620
  • FIR濾波
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    9814
  • AD1674
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    20575

原文標(biāo)題:基于FPGA實(shí)現(xiàn)FIR數(shù)字濾波電路的設(shè)計(jì)及應(yīng)用

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    使用FPGA構(gòu)建的數(shù)字濾波器設(shè)計(jì)方案

    本文簡要介紹了FIR數(shù)字濾波器的結(jié)構(gòu)特點(diǎn)和基本原理,提出基于FPGA和DSP Builder的FIR數(shù)字濾波器的基本設(shè)計(jì)流程和
    發(fā)表于 07-24 15:30 ?8729次閱讀
    使用<b class='flag-5'>FPGA</b>構(gòu)建的<b class='flag-5'>數(shù)字濾波</b>器設(shè)計(jì)方案

    基于FPGA實(shí)現(xiàn)FIR數(shù)字濾波電路的設(shè)計(jì)及應(yīng)用

    這樣就可以把FIR濾波器設(shè)計(jì)成具有線性相位。利用這一情況,可以得到的乘法結(jié)構(gòu),需要(N+1)/2次乘法,僅是級聯(lián)或并聯(lián)結(jié)構(gòu)所需次數(shù)的一半,因此,實(shí)際應(yīng)用中多采用此方法。
    發(fā)表于 12-22 12:22 ?1959次閱讀
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>FIR</b><b class='flag-5'>數(shù)字濾波</b><b class='flag-5'>電路</b>的設(shè)計(jì)及應(yīng)用

    基于DSP的FIR 數(shù)字濾波器設(shè)計(jì)

    :文章設(shè)計(jì)了一種基于TI 公司的DSP(TMS320VC5402)的FIR 數(shù)字濾波器系統(tǒng)。主要包括了DSP 最小系統(tǒng)電路設(shè)計(jì)、AD 和DA 轉(zhuǎn)換接口電路設(shè)計(jì),并給出了系統(tǒng)初始化程序設(shè)
    發(fā)表于 05-14 23:30

    基于FPGAFIR濾波器設(shè)計(jì)與實(shí)現(xiàn)

    DSPBuilder設(shè)計(jì)了一個(gè)4階FIR濾波器,并用QuartusII進(jìn)行硬件仿真,仿真結(jié)果表明設(shè)計(jì)FIR濾波器的正確性。同時(shí)使用IPCore開發(fā)基于
    發(fā)表于 08-11 15:32

    基于FPGAFIR數(shù)字濾波器的優(yōu)化設(shè)計(jì)

    基于FPGAFIR數(shù)字濾波器的優(yōu)化設(shè)計(jì)
    發(fā)表于 08-17 23:55

    基于FPGAFIR數(shù)字濾波器該怎么設(shè)計(jì)?

    在信息信號處理過程中,數(shù)字濾波器是信號處理中使用最廣泛的一種方法。通過濾波運(yùn)算,將一組輸入數(shù)據(jù)序列轉(zhuǎn)變?yōu)榱硪唤M輸出數(shù)據(jù)序列,從而實(shí)現(xiàn)時(shí)域或頻域中信號屬性的改變。常用的數(shù)字濾波器可分為有
    發(fā)表于 09-29 07:45

    基于DSP的FIR數(shù)字濾波器設(shè)計(jì)與實(shí)現(xiàn)

    分析了FIR數(shù)字濾波器的基本原理,在MATLAB環(huán)境下利用窗函數(shù)設(shè)計(jì)FIR低通濾波器,實(shí)現(xiàn)FIR
    發(fā)表于 12-18 15:53 ?101次下載

    FIR帶通濾波器的FPGA實(shí)現(xiàn)

    FIR帶通濾波器的FPGA實(shí)現(xiàn) 引 言??? 在FPGA應(yīng)用中,比較廣泛而基礎(chǔ)的就是數(shù)字濾波
    發(fā)表于 11-13 09:55 ?6912次閱讀
    <b class='flag-5'>FIR</b>帶通<b class='flag-5'>濾波</b>器的<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b>

    FIR數(shù)字濾波器的FPGA實(shí)現(xiàn)研究策略

    FIR數(shù)字濾波器的FPGA實(shí)現(xiàn)研究策略  如今,FPGA已成為數(shù)字信號處理系統(tǒng)的核心器
    發(fā)表于 04-23 14:13 ?1146次閱讀
    <b class='flag-5'>FIR</b><b class='flag-5'>數(shù)字濾波</b>器的<b class='flag-5'>FPGA</b><b class='flag-5'>實(shí)現(xiàn)</b>研究策略

    基于FPGAFIR數(shù)字濾波器的優(yōu)化設(shè)計(jì)

    目前數(shù)字濾波器的硬件實(shí)現(xiàn)方法通常采用專用DSP芯片或FPGA,本文從FIR濾波器的系數(shù)考慮,采用CSD編碼,對
    發(fā)表于 08-16 10:54 ?3763次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>FIR</b><b class='flag-5'>數(shù)字濾波</b>器的優(yōu)化設(shè)計(jì)

    基于Matlab/Simulink的FIR數(shù)字濾波器的設(shè)計(jì)與實(shí)現(xiàn)

    基于Matlab/Simulink的FIR數(shù)字濾波器的設(shè)計(jì)與實(shí)現(xiàn)。
    發(fā)表于 01-15 15:16 ?39次下載

    用CPLD實(shí)現(xiàn)FIR數(shù)字濾波器的設(shè)計(jì)

    用CPLD實(shí)現(xiàn)FIR數(shù)字濾波器的設(shè)計(jì),下來看看
    發(fā)表于 01-10 21:35 ?15次下載

    用CPLD實(shí)現(xiàn)FIR數(shù)字濾波

    用CPLD實(shí)現(xiàn)FIR數(shù)字濾波器,好資料,下來看看
    發(fā)表于 01-10 21:35 ?22次下載

    FPGA是如何設(shè)計(jì)并實(shí)現(xiàn)了32階FIR數(shù)字濾波器的硬件電路

    數(shù)字信號處理中,數(shù)字濾波器的應(yīng)用是極其廣泛和重要的單元。與模擬濾波器相比,數(shù)字濾波器可以克服模擬濾波器所無法克服的電壓漂移,溫度漂移以及噪
    發(fā)表于 07-20 14:32 ?5299次閱讀
    <b class='flag-5'>FPGA</b>是如何設(shè)計(jì)并<b class='flag-5'>實(shí)現(xiàn)</b>了32階<b class='flag-5'>FIR</b><b class='flag-5'>數(shù)字濾波</b>器的硬件<b class='flag-5'>電路</b>?

    FIR數(shù)字濾波器設(shè)計(jì)

    數(shù)字濾波器的輸入輸出均為數(shù)字信號,信號通過數(shù)字濾波器后,可以改變頻率成分的相對比例或?yàn)V除某些頻率成分。數(shù)字濾波器可以分為IIR數(shù)字濾波器和
    的頭像 發(fā)表于 04-05 09:47 ?5375次閱讀