LMS算法是一種易于實現(xiàn)、性能穩(wěn)健、應用廣泛的算法。它采用負誤差能量梯度更新濾波器的權系數(shù),它的穩(wěn)態(tài)解仍為維納解,算法遞推公式如下:
其中:Xj是輸入信號;Wj是自適應濾波器的權系數(shù);dj是參考信號;ej是誤差;μ是一個用于控制自適應速度和穩(wěn)定性的增益常數(shù)。
2 ALE原理及其Matlab仿真
2.1 ALE原理
ALE屬于自適應濾波的范疇,但是在譜線增強的自適應濾波器設計中,沒有外部參考信號可以利用。此時,利用窄帶信號周期性明顯而寬帶噪聲周期性差,延遲一段時間后窄帶信號的相關函數(shù)會顯著地強于寬帶噪聲這一特征,將原始輸入信號接入具有固定延遲的延遲線作為參考信號。只要選取的延遲△足夠長,參考信號的寬帶噪聲和原始輸入的寬帶噪聲相關性就會迅速減弱,而窄帶周期信號的相關性不會受到影響。根據(jù)自適應濾波理論可知,ALE濾波會有一個學習過程,學習過程就是誤差信號趨于不斷減小的過程。當學習過程進入穩(wěn)態(tài)后,濾波器輸出是源窄帶周期信號和一個隨機的誤差,其誤差可以通過選取合適的步長因子而達到很小的振幅。ALE原理圖如圖2所示。
2.2 ALE的Matlab仿真
Matlab是數(shù)字信號處理和仿真的有效工具,設計之初使用Matlab進行仿真,可以有效地評估設計的最終效果,為整個設計過程提供強有力的理論支持。首先用Matlab仿真以LMS算法實現(xiàn)的ALE,從仿真結果的時域波形和處理時間兩方面證明算法在ALE系統(tǒng)中的有效性。將正弦波混合高斯白噪聲作為譜線增強濾波的輸入信號,圖3是用Matlab對算法的部分仿真結果。可以看出根據(jù)混有噪聲的輸入信號根本無法判斷原始周期信號,經(jīng)過O~100時間長度的學習過程后濾波器輸出信號已經(jīng)具有明顯的周期性,寬帶噪聲得到有效的濾除,窄帶信號得以濾出。而這段時間在高速FPGA中只需要μs級的處理時間,滿足實時性要求。
3 系統(tǒng)結構
ALE系統(tǒng)總體包括:模/數(shù)轉換、FPGA核心處理、片外RAM、電源等。前端采用TLC5510完成模擬信號的采集,并以數(shù)字信號的形式傳遞給FPGA。FPGA部分是整個系統(tǒng)的核心,其實現(xiàn)模/數(shù)轉換器時序控制、內部數(shù)據(jù)緩存FIFO、片內時鐘合成、譜線增強算法以及片外RAM控制。經(jīng)過譜線增強后的數(shù)據(jù)存入片外RAM芯片CY7C1021V。電源提供整個系統(tǒng)需要的3.3 v和5 V以及TLC5510的參考電壓。系統(tǒng)結構如圖4所示。
TLC5510是TI公司的高速模/數(shù)轉換器,可以用于視頻處理、高速數(shù)據(jù)轉換等領域,它的轉換速率達到20 Mb/s,采用高速AD芯片是為了與FPGA的高速處理能力相匹配。EP2C8F256C6是Altera公司的生產(chǎn)的CycloneⅡ系列的FPGA,片內具有162 Kb的片內存儲器和36個18×18 b片內乘法器,可以用于實現(xiàn)復雜數(shù)字信號算法。片內存儲器基于流行的M4K存儲器塊,可以支持廣泛的配置方式,包括RAM,ROM、先入先出(FIFO)緩沖器以及單端口和雙端口模式等。片內乘法器是低成本數(shù)字信號處理(DSP)應用的理想方案。這些乘法器可用于實現(xiàn)通用DSP功能,如有限沖擊響應(FIR)濾波器、快速傅里葉變換、相關器、編/解碼器以及數(shù)控振蕩器(NCO)。EP2C8F256C6提供高級外部存儲器接口支持,允許開發(fā)人員集成外部單倍數(shù)據(jù)速率(SDR)、雙倍數(shù)據(jù)速率(DDR)、DDR2 SDRAM器件以及第2代4倍數(shù)據(jù)速率(QDRⅡ)SRAM器件。片內具有時鐘管理模塊,利用PLL實現(xiàn)片內時鐘合成,使數(shù)據(jù)處理速率遠高于信號采集速率,以滿足實時性要求。在FPGA內部首先實現(xiàn)TLC5510的采樣控制,采樣信號先要存人片內FIFO,當每次ALE算法迭代完成后,取出FIFO中的數(shù)據(jù),更新處理數(shù)據(jù)。需要處理的數(shù)據(jù)經(jīng)過信號延遲處理和LMS自適應濾波算法后得到譜線增強的信號。片內時鐘合成模塊為系統(tǒng)提供時鐘信號,利用片內PLL對晶振時鐘倍頻和分頻。為片內提供600 MHz時鐘和片外TLC5510以及RAM提供10 MHz時鐘。為了保證數(shù)據(jù)精度,經(jīng)過ALE處理后的數(shù)據(jù)以16位二進制數(shù)字信號輸出。片外存儲器選用64K×16 b靜態(tài)RAM芯片CY7C1021V,它的讀/寫控制時序也由FPGA實現(xiàn)。
3.1 TLC5510的控制
TLC5510是8位高速模數(shù)轉換器,以流水線的工作方式進行采樣,在每一個時鐘周期啟動1次采樣、完成1次采樣,采樣在時鐘下降沿進行,經(jīng)過2.5個時鐘周期后輸出轉換結果。設計中根據(jù)采樣時序,用狀態(tài)機來描述采樣控制過程,實現(xiàn)了采樣的控制。實現(xiàn)狀態(tài)交替的VHDL代碼如下:
3.2 采樣信號延遲
為了實現(xiàn)延時,F(xiàn)PGA片內開辟了3個緩沖區(qū),分別是輸入、時延、權值緩沖區(qū)。采樣后的數(shù)據(jù)首先存入片內數(shù)據(jù)緩存FIFO,進入待命狀態(tài)。時延緩沖區(qū)實現(xiàn)△長度的時延,權值緩沖區(qū)儲存權值。其中,時延緩沖區(qū)和輸入緩沖區(qū)地址是連續(xù)的。時延緩沖區(qū)的長度由延遲△決定,輸入緩沖區(qū)和權值緩沖區(qū)的長度由權值的維數(shù)決定。緩沖區(qū)的實現(xiàn)是在VHDL語言編寫的程序中定義存儲數(shù)據(jù)的向量,這些數(shù)據(jù)向量的數(shù)據(jù)類型定義如下:
其中:ARRAY_N1BIF定義的是濾波器參數(shù)向量的數(shù)據(jù)類型;ARRAY_N1BITX定義的延遲后信號向量的數(shù)據(jù)類型;ARRAY_N1BIT定義的是輸入信號向量的數(shù)據(jù)類型;ARRAY_N2BIT定義的是譜線增強后信號向量的數(shù)據(jù)類型;W1是采樣數(shù)據(jù)的寬度,這里為8;Delay是延時長度;L是濾波器階數(shù)。
3.3 LMS算法核心模塊
這是設計的核心部分也是設計中的難點。用FPGA實現(xiàn)復雜數(shù)字信號處理并不像DSP中那樣簡單,需要考慮時序同步、數(shù)據(jù)寬度以及如何舍入。該設計采用16階自適應濾波器實現(xiàn)ALE,濾波器初始權值全部為O,按照式(3)的算法進行迭代更新,算法實現(xiàn)中用到大量乘法運算。調用芯片內部嵌入的乘法器宏功能模塊lpm_muIt使實現(xiàn)這些乘法運算更加快速、高效的方案。lpm_mult模塊輸入采樣的8位數(shù)據(jù),因為在乘法運算中2個8位二進制數(shù)相乘得到的結果是1個16位二進制數(shù),所以設計中將處理結果輸出為16位二進制數(shù)。為了提高自適應濾波速度,設計中采用流水線的濾波器結構。流水線結構能夠顯著地提高處理的速度,但是要消耗更多的硬件資源,特別是硬件乘法器,如果LMS FIR濾波器的長的為L則需要2L個通用乘法器。設計中L=16,片內有36個片內乘法器可以勝任處理要求。編譯結果顯示片內應用于LMS核心算法的其他資源消耗全部小于或等于總消耗的6%,其余資源可以用于片內的采樣、輸出等時序控制。LMS算法硬件實現(xiàn)的流水線結構框圖如圖5所示。
流水線結構中調用乘法器的VHDL代碼如下:
4 仿真結果分析
VHDL程序在QuartusⅡ軟件上部分仿真結果如圖6所示,圖中仿真數(shù)據(jù)以十進制表示。因為仿真結果不便于繪制類似Matlab中的圖形,將仿真結果的數(shù)據(jù)與Matlab仿真結果進行對比。通過行比較,發(fā)現(xiàn)處理結果在大體上與Matlab相一致,但是在幅度上整體有些衰減,這是由于FPGA中將處理結果的低位進行截尾處理,而Matlab仿真環(huán)境使用浮點形式、數(shù)據(jù)位數(shù)長,處理精度遠高于FPGA,F(xiàn)PGA設計中存在較大的截尾誤差。該仿真結果表明,基于FPGA實現(xiàn)ALE是切實可行的。
5 結語
系統(tǒng)采用FPGA芯片加上少量的外圍電路,完成了信號的自適應譜線增強。通過調用FPGA片內乘法器和片內存儲器,完成了LMS算法的自適應譜線增強,仿真結果與理論相符合?,F(xiàn)代數(shù)字信號處理算法大多要進行大量的乘法運算,調用FPGA片內乘法器是實現(xiàn)這些算法的快速高效而又經(jīng)濟的手段,這使得復雜信號處理算法在FPGA上實現(xiàn)成為可能。流水線結構是硬件設計中犧牲資源以提高速度的有效手段,有效地利用流水線可以顯著地提高資源利用率和處理速度。該設計可以實現(xiàn)高速、準確地譜線增強,在需要濾除寬帶噪聲提取單根譜線的領域具有一定的現(xiàn)實意義。
北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...
關鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...
關鍵字: 機器人 BSP 工業(yè)機器人 現(xiàn)代汽車