新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 一種基于FPGA的自適應(yīng)譜線增強系統(tǒng)的設(shè)計

一種基于FPGA的自適應(yīng)譜線增強系統(tǒng)的設(shè)計

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

  3.1 TLC5510的控制

  TLC5510是8位高速模數(shù)轉(zhuǎn)換器,以流水線的工作方式進行采樣,在每一個時鐘周期啟動1次采樣、完成1次采樣,采樣在時鐘下降沿進行,經(jīng)過2.5個時鐘周期后輸出轉(zhuǎn)換結(jié)果。設(shè)計中根據(jù)采樣時序,用狀態(tài)機來描述采樣控制過程,實現(xiàn)了采樣的控制。實現(xiàn)狀態(tài)交替的VHDL代碼如下:

  實現(xiàn)采樣數(shù)據(jù)輸出的VHDL代碼如下:

  3.2 采樣信號延遲

  為了實現(xiàn)延時,片內(nèi)開辟了3個緩沖區(qū),分別是輸入、時延、權(quán)值緩沖區(qū)。采樣后的數(shù)據(jù)首先存入片內(nèi)數(shù)據(jù)緩存FIFO,進入待命狀態(tài)。時延緩沖區(qū)實現(xiàn)△長度的時延,權(quán)值緩沖區(qū)儲存權(quán)值。其中,時延緩沖區(qū)和輸入緩沖區(qū)地址是連續(xù)的。時延緩沖區(qū)的長度由延遲△決定,輸入緩沖區(qū)和權(quán)值緩沖區(qū)的長度由權(quán)值的維數(shù)決定。緩沖區(qū)的實現(xiàn)是在VHDL語言編寫的程序中定義存儲數(shù)據(jù)的向量,這些數(shù)據(jù)向量的數(shù)據(jù)類型定義如下:

  其中:ARRAY_N1BIF定義的是濾波器參數(shù)向量的數(shù)據(jù)類型;ARRAY_N1BIYX定義的延遲后信號向量的數(shù)據(jù)類型;ARRAY_N1BIT定義的是輸入信號向量的數(shù)據(jù)類型;ARRAY_N2BIT定義的是譜線增強后信號向量的數(shù)據(jù)類型;W1是采樣數(shù)據(jù)的寬度,這里為8;Delay是延時長度;L是濾波器階數(shù)。

  3.3 LMS算法核心模塊

  這是設(shè)計的核心部分也是設(shè)計中的難點。用實現(xiàn)復(fù)雜數(shù)字并不像DSP中那樣簡單,需要考慮時序同步、數(shù)據(jù)寬度以及如何舍入。該設(shè)計采用16階器實現(xiàn),濾波器初始權(quán)值全部為0,按照式(3)的算法進行迭代更新,算法實現(xiàn)中用到大量乘法運算。調(diào)用芯片內(nèi)部嵌入的乘法器宏功能模塊lpm_mult使實現(xiàn)這些乘法運算更加快速、高效的方案。lpm_mult模塊輸入采樣的8位數(shù)據(jù),因為在乘法運算中2個8位二進制數(shù)相乘得到的結(jié)果是1個16位二進制數(shù),所以設(shè)計中將處理結(jié)果輸出為16位二進制數(shù)。為了提高速度,設(shè)計中采用流水線的濾波器結(jié)構(gòu)。流水線結(jié)構(gòu)能夠顯著地提高處理的速度,但是要消耗更多的硬件資源,特別是硬件乘法器,如果LMS FIR濾波器的長的為L則需要2L個通用乘法器。設(shè)計中L=16,片內(nèi)有36個片內(nèi)乘法器可以勝任處理要求。編譯結(jié)果顯示片內(nèi)應(yīng)用于LMS核心算法的其他資源消耗全部小于或等于總消耗的6%,其余資源可以用于片內(nèi)的采樣、輸出等時序控制。LMS算法硬件實現(xiàn)的流水線結(jié)構(gòu)框圖如圖5所示。



評論


相關(guān)推薦

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

關(guān)閉