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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于分布式算法的低通FIR濾波器

          基于分布式算法的低通FIR濾波器

          作者: 時間:2010-10-21 來源:網(wǎng)絡(luò) 收藏

           0 引言

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

            傳統(tǒng)數(shù)字硬件的實(shí)現(xiàn)主要采用專用集成電路(ASIC)和數(shù)字信號處理器(DSP)來實(shí)現(xiàn)。FPGA內(nèi)部的功能塊中采用了SRAM的查找表(lo-ok up table,LUT)結(jié)構(gòu),這種結(jié)構(gòu)特別適用于并行處理結(jié)構(gòu),相對于傳統(tǒng)方法來說,其并行度和擴(kuò)展性都很好,它逐漸成為構(gòu)造可編程高性能結(jié)構(gòu)的新選擇。

            是一種適合FPGA設(shè)計(jì)的乘加運(yùn)算,由于FPGA中硬件乘法器資源有限,直接應(yīng)運(yùn)乘法會消耗大量的資源。本文利用了豐富的存儲器資源進(jìn)行查找表運(yùn)算,設(shè)計(jì)了一種低通;利用線性相位的對稱性減小了硬件規(guī)模;利用分割查找表的方法減小了存儲空間;采用并行算法結(jié)構(gòu)和流水線技術(shù)提高了濾波器的速度,在FPGA上實(shí)現(xiàn)了該濾波器。

            1 分布式的濾波器算法

            濾波器突出的特點(diǎn)是單位取樣響應(yīng)h(n)僅有有限個非零值。對于一個N階的FIR濾波器形式如下:

            


            在許多數(shù)字信號處理應(yīng)用領(lǐng)域中,在技術(shù)上是不需要通用的乘法算法的。對于本系統(tǒng)可以通過Matlab中的fdatool工具根據(jù)設(shè)計(jì)要求設(shè)計(jì)出濾波器的系統(tǒng)函數(shù)h(n),那么乘積項(xiàng)h(k)×x(n-k)就變成了2個常數(shù)的乘法。無符號數(shù)的分布式算法和有符號數(shù)的分布式算法是分布式算法在FIR濾波器中的2種典型算法。

            1.1 無符號數(shù)的分布式算法設(shè)計(jì)

            由于FPGA為并行處理結(jié)構(gòu),所以假設(shè)x(n-k)數(shù)據(jù)寬度為L b,則由式(1)可表示為:

            

            由式(1)、式(2)可以得到:

            

            假設(shè):

            

            則式(1)可以表示為:

            

            1.2 有符號數(shù)的分布式算法設(shè)計(jì)

            對于有符號數(shù)的補(bǔ)碼表示為:

            

            則由式(5),式(1)可得:

            


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 濾波器 FIR 算法 分布式 基于

          評論


          相關(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); })();