一種基于FPGA的自適應譜線(xiàn)增強系統的設計
2.2 ALE的Matlab仿真
Matlab是數字信號處理和仿真的有效工具,設計之初使用Matlab進(jìn)行仿真,可以有效地評估設計的最終效果,為整個(gè)設計過(guò)程提供強有力的理論支持。首先用Matlab仿真以L(fǎng)MS算法實(shí)現的ALE,從仿真結果的時(shí)域波形和處理時(shí)間兩方面證明算法在ALE系統中的有效性。將正弦波混合高斯白噪聲作為譜線(xiàn)增強濾波的輸入信號,圖3是用Matlab對算法的部分仿真結果??梢钥闯龈鶕煊性肼暤妮斎胄盘柛緹o(wú)法判斷原始周期信號,經(jīng)過(guò)0~100時(shí)間長(cháng)度的學(xué)習過(guò)程后濾波器輸出信號已經(jīng)具有明顯的周期性,寬帶噪聲得到有效的濾除,窄帶信號得以濾出。而這段時(shí)間在高速FPGA中只需要μs級的處理時(shí)間,滿(mǎn)足實(shí)時(shí)性要求。
3 系統結構
ALE系統總體包括:模/數轉換、FPGA核心處理、片外RAM、電源等。前端采用TLC5510完成模擬信號的采集,并以數字信號的形式傳遞給FPGA。FPGA部分是整個(gè)系統的核心,其實(shí)現模/數轉換器時(shí)序控制、內部數據緩存FIFO、片內時(shí)鐘合成、譜線(xiàn)增強算法以及片外RAM控制。經(jīng)過(guò)譜線(xiàn)增強后的數據存入片外RAM芯片CY7C1021V。電源提供整個(gè)系統需要的3.3 V和5 V以及TLC5510的參考電壓。系統結構如圖4所示。
TLC5510是TI公司的高速模/數轉換器,可以用于視頻處理、高速數據轉換等領(lǐng)域,它的轉換速率達到20 Mb/s,采用高速AD芯片是為了與FPGA的高速處理能力相匹配。EP2C8F256C6是Altera公司的生產(chǎn)的CycloneⅡ系列的FPGA,片內具有162 Kb的片內存儲器和36個(gè)18×18 b片內乘法器,可以用于實(shí)現復雜數字信號算法。片內存儲器基于流行的M4K存儲器塊,可以支持廣泛的配置方式,包括RAM,ROM、先入先出(FIFO)緩沖器以及單端口和雙端口模式等。片內乘法器是低成本數字信號處理(DSP)應用的理想方案。這些乘法器可用于實(shí)現通用DSP功能,如有限沖擊響應(FIR)濾波器、快速傅里葉變換、相關(guān)器、編/解碼器以及數控振蕩器(NCO)。EP2C8F256C6提供高級外部存儲器接口支持,允許開(kāi)發(fā)人員集成外部單倍數據速率(SDR)、雙倍數據速率(DDR)、DDR2 SDRAM器件以及第2代4倍數據速率(QDRⅡ)SRAM器件。片內具有時(shí)鐘管理模塊,利用PLL實(shí)現片內時(shí)鐘合成,使數據處理速率遠高于信號采集速率,以滿(mǎn)足實(shí)時(shí)性要求。在FPGA內部首先實(shí)現TLC5510的采樣控制,采樣信號先要存人片內FIFO,當每次ALE算法迭代完成后,取出FIFO中的數據,更新處理數據。需要處理的數據經(jīng)過(guò)信號延遲處理和LMS自適應濾波算法后得到譜線(xiàn)增強的信號。片內時(shí)鐘合成模塊為系統提供時(shí)鐘信號,利用片內PLL對晶振時(shí)鐘倍頻和分頻,為片內提供600 MHz時(shí)鐘和片外TLC5510以及RAM提供10 MHz時(shí)鐘。為了保證數據精度。經(jīng)過(guò)ALE處理后的數據以16位二進(jìn)制數字信號輸出。片外存儲器選用64K×16 b靜態(tài)RAM芯片CY7C1021V,它的讀/寫(xiě)控制時(shí)序也由FPGA實(shí)現。
評論