新聞中心

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

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

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

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

本文引用地址:http://butianyuan.cn/article/191298.htm

c.jpg


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

d.jpg


可見(jiàn)此時(shí)輸入序列的讀地址順序如圖5所示。

e.jpg


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

f.jpg


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

g.jpg


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



評(píng)論


相關(guān)推薦

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

關(guān)閉