<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的超聲波信號(hào)處理研究

          基于FPGA的超聲波信號(hào)處理研究

          作者: 時(shí)間:2011-08-05 來(lái)源:網(wǎng)絡(luò) 收藏


          2 FIR濾波器的實(shí)現(xiàn)
          由式(4)可知,F(xiàn)IR濾波器的數(shù)學(xué)表達(dá)式就是卷積運(yùn)算,也就是做乘加運(yùn)算。例如,一個(gè)M階的FIR濾波器的輸出是輸入樣本的M個(gè)依次值的加權(quán)和,加權(quán)系數(shù)就是此濾波器的單位沖激響應(yīng)值。對(duì)于上節(jié)設(shè)計(jì)的10階線性FIR濾波器,可以得到:
          e.jpg
          這樣,10階FIR濾波器的結(jié)構(gòu)可以描述為:輸入樣本x(n)經(jīng)過(guò)10階移位寄存器延遲后得到10個(gè)具有不同延遲的抽頭,將對(duì)稱的抽頭值相加后再與相應(yīng)的權(quán)系數(shù)相乘,5個(gè)乘積相加就得到濾波器的輸出值。濾波器結(jié)構(gòu)如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/191079.htm

          f.jpg


          濾波器抽頭與權(quán)系數(shù)之間存在著乘法運(yùn)算,在硬件實(shí)現(xiàn)中乘法運(yùn)算是相當(dāng)復(fù)雜的運(yùn)算,不僅占用大量硬件資源,而且運(yùn)算速度較慢。為了提高運(yùn)算速度,在此利用邏輯單元(LE)中的查找表實(shí)現(xiàn)替代乘法運(yùn)算的查表運(yùn)算。為了說(shuō)明方便,在此以4階濾波器為例,數(shù)據(jù)為2位的二進(jìn)制整形。設(shè)a(1)=01,a(2)=11,h(1)=10,h(2)=01,權(quán)系數(shù)與抽頭之間的乘加運(yùn)算如圖2所示。

          g.jpg


          圖2中,P1(n)為抽頭低位與權(quán)系數(shù)的乘積結(jié)果,P2(n)為抽頭高位與權(quán)系數(shù)的乘積結(jié)果,在此稱之為單位積。常規(guī)的計(jì)算順序是先將P1(n)和P2(n)的對(duì)應(yīng)項(xiàng)在垂直方向上移位相加,所得結(jié)果再進(jìn)行水平方向上相加。但是從圖中可以看出,先將P1(n)和P2(n)在水平方向上相加,然后再進(jìn)行垂直方向上移位相加,所得的結(jié)果是一樣的。第二種順序中,P1(n)和P2(n)是h(n)和a(n)的某個(gè)比特位的乘積,而對(duì)于設(shè)計(jì)好的FIR濾波器h(n)是固定的,這樣就可以通過(guò)a(n)某比特位的組合來(lái)查表求出P1(n)或P2(n),并在水平方向上實(shí)現(xiàn)求和。如表1所示,a1(n)表示a(n)的低位組合,單位積P1表示相應(yīng)的權(quán)系數(shù)和。



          關(guān)鍵詞: FPGA 超聲波 信號(hào)處理

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();