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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA的高階音頻均衡濾波器設(shè)計

          基于FPGA的高階音頻均衡濾波器設(shè)計

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

          2.2 濾波器系數(shù)存儲模塊
          濾波器系數(shù)存儲模塊和輸入序列緩存模塊相對應(yīng),采用雙口RAM模塊實現(xiàn),共有4個256深度的雙口RAM模塊,如圖3所示。

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

          c.jpg


          4個子塊使用相同的輸入數(shù)據(jù)線,通過系數(shù)寫地址的譯碼,生成各子塊的寫使能’wen1~wen4和寫地址h_addr,控制輸入的系數(shù)按照順序依次存入到RAM中。系數(shù)的讀地址h_addr由控制模塊生成,4個子塊共用一個讀地址,輸出與數(shù)據(jù)相對應(yīng)的系數(shù)h1~h4到乘累加模塊,進(jìn)行乘累加運(yùn)算。
          2.3 控制模塊
          控制模塊產(chǎn)生輸入序列緩存模塊的讀寫地址、使能信號以及濾波系數(shù)存儲模塊的讀地址、使能信號,并對乘累加運(yùn)算進(jìn)行控制。
          輸入序列需要在緩存模塊中反復(fù)移位輸出進(jìn)行運(yùn)算,每256個時鐘周期輸入1個數(shù),輸入序列的寫地址必須滯后讀地址一個時鐘周期,才能保證數(shù)據(jù)的連續(xù)、不丟失。這樣新寫入的數(shù)據(jù)不在固定的位置,就要求讀地址也不是單純的累加關(guān)系。以每個RAM塊深度等于4為例研究讀寫地址的關(guān)系,如圖4所示。

          d.jpg


          可見此時輸入序列的讀地址順序如圖5所示。

          e.jpg


          由此類推可得實際輸入序列緩存模塊的讀地址如圖6所示。

          f.jpg


          整個控制模塊的實現(xiàn)如圖7所示。主計數(shù)器整體計數(shù),每256個時鐘周期,地址產(chǎn)生模塊就把計數(shù)器的計數(shù)值整體加1,作為輸人序列的讀地址raddr輸出,實現(xiàn)了圖6所示的地址順序。寫地址waddr由讀地址raddr經(jīng)延時一個時鐘周期獲得。由于輸入序列是按時間順序輸出的,故濾波系數(shù)只要從存儲陣列中也相應(yīng)地順序輸出就可以了,將主計數(shù)器的計數(shù)值直接引出作為濾波系數(shù)陣列的讀地址h_addr。

          g.jpg


          主計數(shù)器的輸出經(jīng)過譯碼電路后,輸出數(shù)據(jù)的低速采樣時鐘sa_clk,用來同步輸入序列。還輸出輸入序列的寫使能wren,每256個時鐘周期使能一次,寫一次數(shù)據(jù)。



          評論


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