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