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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 一種高階音頻均衡濾波器的設(shè)計實現(xiàn)

          一種高階音頻均衡濾波器的設(shè)計實現(xiàn)

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

            2.2 系數(shù)存儲模塊

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

           濾波器系數(shù)存儲模塊實現(xiàn)框圖

          圖3 系數(shù)存儲模塊實現(xiàn)框圖

            4個子塊使用相同的輸入數(shù)據(jù)線,通過系數(shù)寫地址的譯碼,生成各子塊的寫使能’wen1~wen4和寫地址h_addr,控制輸入的系數(shù)按照順序依次存入到RAM中。系數(shù)的讀地址h_addr由控制模塊生成,4個子塊共用一個讀地址,輸出與數(shù)據(jù)相對應(yīng)的系數(shù)h1~h4到乘累加模塊,進(jìn)行乘累加運算。

            2.3 控制模塊

            控制模塊產(chǎn)生輸入序列緩存模塊的讀寫地址、使能信號以及濾波系數(shù)存儲模塊的讀地址、使能信號,并對乘累加運算進(jìn)行控制。

            輸入序列需要在緩存模塊中反復(fù)移位輸出進(jìn)行運算,每256個時鐘周期輸入1個數(shù),輸入序列的寫地址必須滯后讀地址一個時鐘周期,才能保證數(shù)據(jù)的連續(xù)、不丟失。這樣新寫入的數(shù)據(jù)不在固定的位置,就要求讀地址也不是單純的累加關(guān)系。以每個RAM塊深度等于4為例研究讀寫地址的關(guān)系,如圖4所示。

          每個RAM塊深度為4時讀寫順序

          圖4 每個RAM塊深度為4時讀寫順序

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

          每個RAM塊深度為4時讀地址

          圖5 每個RAM塊深度為4時讀地址

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

          輸入序列緩存模塊讀地址
          圖6 輸入序列緩存模塊讀地址

            整個控制模塊的實現(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。

          整個控制模塊的實現(xiàn)

          圖7 整個控制模塊的實現(xiàn)

            主計數(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); })();