【摘 要】目前,數(shù)字信號處理技術在通信、雷達、語音和圖像處理等諸多領域得到了廣泛的應用,發(fā)揮著越來越重要的作用,而其處理算法的硬件實現(xiàn)也得到了飛速發(fā)展。本文分析了FPGA的特點,并對其在數(shù)字信息處理中的應用進行了研究和探討。
【關鍵詞】FPGA 數(shù)字信號處理 要點
前言:數(shù)字信號處理,簡稱DSP,是指采用數(shù)值計算的方式,對信號進行加工處理的理論和技術。在科技發(fā)展的帶動下,信息化時代逐漸來臨,數(shù)據(jù)信息成為社會發(fā)展中的關鍵因素,傳統(tǒng)的模擬信號處理由于容易受到環(huán)境的影響,可靠性和靈活性較差,無法適應時代發(fā)展的要求,因此,隨著數(shù)字化計算機和大規(guī)模集成電路的發(fā)展和應用,數(shù)字信號處理逐漸取代模擬信號處理,在各個領域中得到了廣泛的應用,受到了社會各界的關注和重視。
一.FPGA概述
FPGA,全稱Field Programmable Gate Array,即現(xiàn)場可編程邏輯門陣列,是一個包含有可編輯元件的半導體設備,可以由用戶根據(jù)實際需求,進行邏輯功能的編輯,與一般的ASIC電路相比,F(xiàn)PGA具有設計周期短、修改方便等優(yōu)點。
FPGA出現(xiàn)與上世紀八十年代的中期,是在PAL、GAL、EPLD等可編輯器件的基礎上,進一步發(fā)展出來的產(chǎn)物,可以通過對應的編程,將一個通用型的FPGA芯片配置成符合用戶實際需求的硬件數(shù)字電路,因此能夠極大地縮短電子產(chǎn)品的研發(fā)周期,同時也可以降低產(chǎn)品的研發(fā)成本,使用FPGA對數(shù)字電路進行設計,可以有效簡化設計流程,縮小數(shù)據(jù)規(guī)模,進一步提升系統(tǒng)的穩(wěn)定性和可靠性。
FPGA的主要特點包括:
(一)利用FPGA對專用集成電路(ASIC)進行設計時,用戶不需要進行投片生產(chǎn),就可以得到想要的芯片;
(二)在FPGA內(nèi)部,含有豐富的觸發(fā)器以及I/O引腳,可以滿足用戶的不同需求;
(三)FPGA可以為其它全定制或者半定制的ASIC電路提供中試樣片;
(四)FPGA是所有ASIC電路設計中,開發(fā)費用最低、風險最小、設計周期最短的器件之一;
(五)在FPGA中,應用了高速CMOS技術,因此不僅功耗極低,而且可以實現(xiàn)與CMOS、TTL電平的有效兼容。
二.FPGA在數(shù)字信處理中的實施要點
從目前來看,數(shù)字信號處理的方案,大致可以三種,其一,通用性極強的可編程DSP芯片;其二,用于特定目的,具備全定制或半定制功能的DSP芯片組以及ASIC;其三,可以由用戶自主編程的FPGA芯片。與其它兩種方案相比,使用FPGA實現(xiàn)數(shù)字信號處理,具備高速性、實時性、經(jīng)濟性、靈活性等優(yōu)點,在數(shù)字信號處理領域發(fā)揮著越來越重要的作用,可以完全取代傳統(tǒng)的通用DSP芯片,或者作為DSP芯片的協(xié)處理器進行工作。如果在實際應用中,將FPGA與通用處理器相互融合,由FPGA完成多個時鐘周期的運算,由DSP芯片完成單個時鐘的運算,并對FPGA的“可再配置計算”功能進行有效控制,則能夠確保兩者優(yōu)勢的充分發(fā)揮,體現(xiàn)出更好的應用效果。
(一)基于FPGA的FFT算法實現(xiàn)
在部分特殊的信號處理領域,對于系統(tǒng)的高速性和實時性要求極高,通用DSP很難實現(xiàn)這一要求,這就需要通過FPGA來實現(xiàn),這里結(jié)合基于FPGA的FFT算法的實現(xiàn),對FPGA在數(shù)字信號處理中的應用進行簡單分析。
1.FFT的存儲單元結(jié)構(gòu)
為了確保連續(xù)數(shù)據(jù)流目標的實現(xiàn),在各級蝶形運算單元中,采用了雙口RAM對計算的中間結(jié)果進行設計,實部與虛部的容量之和是單個蝶形運算元件的兩倍左右。同時,存儲單元還包括了對旋轉(zhuǎn)因子的存儲,每一級的蝶形運算單元,都包含兩塊ROM旋轉(zhuǎn)因子的實部和虛部。
2.地址產(chǎn)生單元
在FFT運算過程中,一般都需要用到大量的RAM和ROM。因此,要想確保運算的有效性,數(shù)據(jù)讀取和存儲的正確性是非常重要的。FFT在運算時,會產(chǎn)生三組不同的地址,包括蝶形運算輸入數(shù)據(jù)的地址、地形運算結(jié)果輸入下一級的地址以及運算結(jié)束后最終的輸出地址。在運算中,由于采用了同為運算的方式,因此對地址進行讀取的過程同時也是寫入地址的過程。
3.FFT 處理器的性能分析
要想提高FFT處理器的性能,一般會采用兩種方法,即并行處理技術和流水線處理技術。在并行處理技術中,通過并行遞歸結(jié)構(gòu),設計了可以同時產(chǎn)生4個RAM地址以及3個ROM地址的地質(zhì)發(fā)生器,從而有效提高了運算的效率;在流水線處理技術中,結(jié)合FPGA級聯(lián)結(jié)構(gòu)的特點,通過多級流水線技術,可以將整個信號序列的運算時間縮短為一級蝶形單元的運算時間。
(二)基于FPGA的相關運算實現(xiàn)
利用FPGA可以系統(tǒng)的相關運算,包括以下兩個方面:
1.時域內(nèi)的相關運算
相對來說,時域內(nèi)的相關運算是比較簡單的,但是對于系統(tǒng)的性能有著較高的要求,在實際操作中,可以以查表的形式,來實現(xiàn)運算,不需要考慮點數(shù)問題,但是會占用大量的系統(tǒng)資源;也可以以成累加的方法實現(xiàn)運算,可以充分利用FPGA并行運算的特點,將FPGA控制在一個時鐘頻率較低的環(huán)境中。
2.頻域內(nèi)的相關運算
這種運算采用了FFT的時域相關法,因此能夠極大地減少運算量,根據(jù)傅里葉變化規(guī)律、時卷積定理,可以采用快速傅里葉變換和反變換在頻域內(nèi)實現(xiàn)相關運算,這種運算方法被稱為快速頻域卷積法。
總之,作為現(xiàn)代通信的核心技術之一,數(shù)字信號處理技術的意義和作用都是十分巨大的,也受到了人們的廣泛關注。在數(shù)字信號處理中應用FPGA,能夠確保系統(tǒng)高速、實時、低成本、靈活運行,推動數(shù)字信號處理技術的發(fā)展,應該得到相關技術人員的重視和推廣。
參考文獻:
[1]錢偉康,孟憲元.FPGA技術在數(shù)字信號處理應用中的地位[J].計算機工程與應用,2008,(33):4-10.
[2]楊宇翔,秦偉.基于 FPGA 的數(shù)字信號處理算法研究與高效實現(xiàn)[J].中國新通信,2013,(12):92-93.
[3]楊貴.FPGA在數(shù)字信號處理中的應用與研究[D].湖南大學,2004.