摘 要:數字信號處理技術可以被應用在通信、圖像、音頻、數據傳輸、數控等各個領域,與人們的生活息息相關。近年來,我國科技高速發展,數字信號處理領域也有了一定的突破,FPGA技術有了一定的研究成果,在數字信號處理領域中得到了廣泛的應用,本文對數字信號處理的FPGA實現進行了一定的探究。
關鍵詞:數字信號處理;FPGA;可編程門陣列
引言:我國已經進入了互聯網時代,各個企業也開始逐漸向數字化、網絡化轉型,企業的工作已經離不開各種軟件程序,編程技術和程序技術人員越來越受到重視,FPGA是一種可編程門陣列,能夠提高程序運行的效率和精度,在通信、信息識別、語音識別等數字信號處理技術中擁有廣闊的應用空間。
1. FPGA簡述和結構
FPGA被稱為可編程邏輯陣列器件,是在PAL、GAL、CPLD等可編程器件基礎上進一步發展的產物。FPGA通過編程可以把一個通用的FPGA芯片配置成客戶所需求的數字電路。FPGA是專用集成電路中的一種半定制電路,在彌補了定制電路不足的同時,又克服了原有可編程器電路數量有限的缺點。FPGA主要由可編程輸入單元、編程邏輯單元、嵌入式塊RAM所構成。可編程輸入單元是外接器件引腳和內部邏輯陣列之間的連接,主要由輸入觸發器、緩沖器和輸出觸發器、緩沖器組成。可編程邏輯單元是FPGA的主體結構,是實現邏輯功能的主體,主要由觸發器和查找表組合而成。嵌入式塊RAM擁有單雙接口,能擴展FPGA的應用范圍和靈活性。
2.用FPGA實現數字信號處理的特點
FPGA由于其兼容性、穩定性、成本低等特點,在數字信號處理領域有著廣泛的應用空間。數字信號處理領域中應用FPGA后,其數據運算和數據處理速度得到了顯著的提升。FPGA是可以由用戶編程,來實現所需邏輯功能的數字集成電路,可以實現布爾表達式、寄存器函數等功能。FPGA擁有串行、并行兩種工作方式,集成度很高,用FPGA設計數字電路,可以精簡數字處理程序的結構,減小數據規模,降低能源的消耗,提高程序的穩定性。與當前的ASIC電路相比,FPGA設計周期更段,程序更改也更加方便。因此,FPGA在實時測控、信息傳遞、數字信號處理等方面有巨大的應用前景,對其進行深入研究具有重要的意義。
3.用 FPGA 實現數字信號處理算法
3.1數字信號處理的系統結構的實現方法
數字信號處理需要用同一代碼對大量數據進行重復執行,每組重復的代碼稱為一次迭代,具有單一指令、多重數據的特性,需要巨大的數據吞吐量和實時計算量。在數字信號系統中,輸入信號會持續的被處理,每一次迭代都會給出相同的輸出,輸入信號的處理并不會在輸出結果時停止,兩者是同時運行的。實時DSP系統要求處理器速度滿足應有的抽樣率,語音、聲納等應用場景中,系統抽樣率較低,DSP系統的處理速度也相應降低。數控、圖像等應用場景中,系統的抽樣率較高,對DSP系統的處理能力也相應提高。由此可見,高效、實時是當代信號處理技術的顯著特點。常見的信號處理系統結構有四種,都應用了FPGA技術,包括流水線處理、并行處理、陣列結構、RISC結構。
當算法具有一定的遞歸性、數據規整,并在局部傳輸時,采用流水線處理會有很好的效果,能提高數據在網絡中的通過率[1]。但實際流水線結構存在流水級間的“瓶頸”問題,不能處理復數遞歸性運算。應用FPGA后,信號處理系統可以采用兼容處理的方式,同時能處理復數的遞歸性算法,提高了處理器的兼容程性和運算效率。并行算法是提高信號處理系統運算效率和運算量的最有效方法。并行處理具有同時性,系統可以在同一時刻處理一個或多個的時間,復數硬件程序同時工作,并行處理結構極大的提高了信號處理系統的數據吞吐量和數據處理能力。但是這種并行處理對系統的負擔較大,而且處理速度較慢,無法達到其真正的效果。FPGA的應用有效的提高了信號處理系統的數據處理能力和數據流通速度,并通過精簡系統結構,減少數據流通步驟,減輕了系統負擔,延長了使用壽命。陣列結構是最近研制出的一種數據處理,模型,擁有一定的實用性,已經到了可以投入實用的階段。陣列處理采用并行與流水結合的方式,最大限度的應用了VLSI技術,非常適合處理數據量大、數據規整、具有局域特性的信號處理任務[2]。陣列處理中運用了大量的FPGA技術,精簡了復雜的系統結構,使流水和并行的能力得以實現。
3.2基于 FPGA 的 FFT 算法實現
數字信號處理有很多種實現方法,信號處理領域對數據處理速度的要求非常高,當前通用的單片機或DSP系統數據處理速度較慢,難以與快速的數據輸入器件所匹配,已經無法滿足現在信號處理領域的要求。設計人員可以根據FPGA中可編程邏輯器件的特點,編輯高速的信號處理算法,并且單個FPGA器件就能得到期望的性能。DFT及FFT算法是信號處理領域的核心,設計人員可以基于FPGA技術實現FFT算法蝶形處理單元,將高速輸入性能模塊化內置于單元中,在編程時可以用DSP模塊生成乘法器,以多個蝶形單元來進行FFT運算,并通過不斷循環DSP模塊,可以實現FFT并行化運算,使其擁有強大的內核性能和大存儲寬帶,數據處理能力是通用DSP系統的十倍左右。FPGA的應用,極大的提高了信號處理領域的數據處理速度。
3.3 用FPGA來實現相關運算
相關運算是數字信號的基本方法,實現相關運算的方法有時域和頻域兩種,時域相關處理對系統的性能要求較高,通過查表或者累加的形式實現運算,查表與點數沒有關系,缺點是占用大量運算空間。累加方式可以應用FPGA,實現多個累加單元并行運算。頻域相關運算對系統性能要求較低,實現簡單、實用性強,但是與點數有較強的聯系,當點數較大時,頻域相關運算量將會非常龐大,處理速度慢,難以滿足實時性的要求。頻域相關運算也可應用FPGA,精簡運算架構,減少運算量。
結 論
近年來,我國數字信號技術有了高速發展,在通信、視頻、音頻、數控等領域得到了廣泛的應用,極大的改變了人們的生活方式。數字信號技術需要兼顧數據吞吐量和數據處理速度,FPGA作為一種半定制電路,可以兼容單行與并行、精簡系統架構,靈活度高,在數字信號領域中起著極為重要的作用。
參考文獻
[1] 李聰,向新,王瑞,孫曄.基于FPGA的數字信號處理模塊設計與實現[J].計算機工程與設計,2020,41(06):1586-1591.
[2] 何雙宗. 基于多核DSP的可重構數字信號處理系統設計與實現[D].天津工業大學,2019.
作者簡介:姓名:鄭維海(1991.11—);性別:男,民族:漢,籍貫:貴州安正人,學歷:本科;現有職稱:助理工程師;研究方向:數字信號處理。