李月月 葉秀麗 薛雯宇
數(shù)字信號(hào)處理的應(yīng)用優(yōu)勢(shì)較強(qiáng),因此在當(dāng)前得到了廣泛使用,其主要將采集到的信號(hào)轉(zhuǎn)換為數(shù)字形式,為后續(xù)的分析處理提供支持。就當(dāng)前的情況來(lái)看,多種系統(tǒng)對(duì)數(shù)字信號(hào)處理的要求有所提升,使得原有的處理芯片不再適用。現(xiàn)階段,F(xiàn)PGA芯片迅速發(fā)展,逐步取代原有芯片,并被大量應(yīng)用于數(shù)字信號(hào)處理領(lǐng)域中。
1 FPGA與數(shù)字信號(hào)處理的概述
1.1 FPGA
FPGA(現(xiàn)場(chǎng)可編程邏輯門(mén)陣列)依托PAL、GAL等可編程器件的研究形成,其主要是作為專(zhuān)用集成電路領(lǐng)域中的一種半定制電路而出現(xiàn)的。對(duì)于FPGA而言,其具有極高的應(yīng)用優(yōu)勢(shì),在使用中既能夠解決定制電路的缺陷,又可以克服原有可編程器件門(mén)電路數(shù)有限的問(wèn)題。
FPGA應(yīng)用了邏輯單元陣列概念,其內(nèi)部主要包括三部分,即可配置邏輯模塊、輸入輸出模塊和內(nèi)部連線(xiàn)。相比與傳統(tǒng)的邏輯電路和門(mén)陣列(包括PAL、GA或是CPLD器件等)來(lái)說(shuō),F(xiàn)PGA屬于可編程器件,因此擁有不同的內(nèi)部結(jié)構(gòu)。
1.2 數(shù)字信號(hào)處理技術(shù)
對(duì)于數(shù)字信號(hào)處理技術(shù)來(lái)說(shuō),其主要指在模擬信息(圖片、聲音、視頻等)向數(shù)字信息轉(zhuǎn)換中所應(yīng)用的技術(shù)。寬泛的來(lái)講,數(shù)字信號(hào)處理技術(shù)為數(shù)字信號(hào)處理理論的應(yīng)用實(shí)現(xiàn)技術(shù),主要包含數(shù)字信號(hào)處理理論、硬件技術(shù)、軟件技術(shù)。在實(shí)際的使用中,該技術(shù)高度穩(wěn)定、可程控、可重復(fù)性強(qiáng)、抗干擾且修改簡(jiǎn)單,因此得到了廣泛應(yīng)用。
2 基于FPGA的數(shù)字信號(hào)處理算法的實(shí)現(xiàn)
2.1 數(shù)字信號(hào)處理系統(tǒng)的結(jié)構(gòu)
數(shù)字信號(hào)處理的特點(diǎn)主要有運(yùn)算過(guò)程相對(duì)復(fù)雜、大數(shù)據(jù)結(jié)構(gòu)相對(duì)固定、數(shù)據(jù)量相對(duì)較大等等,基于此,在實(shí)踐中,普遍使用了單指令多數(shù)據(jù)流的計(jì)算方法。具體來(lái)說(shuō),就是對(duì)大量的數(shù)據(jù)使用同一種程序代碼展開(kāi)反復(fù)的計(jì)算。在數(shù)字信號(hào)處理系統(tǒng)中,對(duì)實(shí)時(shí)性的要求更高,能夠?qū)崿F(xiàn)數(shù)據(jù)接收與分析計(jì)算的同時(shí)展開(kāi),促使整個(gè)流程的流水化。
根據(jù)數(shù)據(jù)的輸入量與算法復(fù)雜程度的不同,對(duì)數(shù)字信號(hào)處理芯片的性能要求也存在著較大差異。以數(shù)據(jù)流控制來(lái)說(shuō),想要對(duì)信號(hào)進(jìn)行高速、實(shí)時(shí)性處理,可以使用的方案包括流水處理、并行處理、RISC結(jié)構(gòu)以及陣列結(jié)構(gòu);以硬件選型來(lái)說(shuō),想要實(shí)現(xiàn)信號(hào)的高速、實(shí)時(shí)性處理,可以使用的器件或技術(shù)主要有可編程器件、專(zhuān)用芯片、高速器件、超并行列陣、其他EDA技術(shù)??傮w來(lái)看,實(shí)時(shí)處理、大吞吐量、高速計(jì)算是當(dāng)前數(shù)字信號(hào)處理系統(tǒng)的主要發(fā)展趨勢(shì),而引入FPGA就能夠達(dá)到上述目標(biāo)。因此,F(xiàn)PGA在數(shù)字信號(hào)處理領(lǐng)域得到了廣泛應(yīng)用。
2.2 基于FPGA的FFT算法實(shí)現(xiàn)
在長(zhǎng)時(shí)間的發(fā)展中,已經(jīng)形成了多種可以應(yīng)用于數(shù)字信號(hào)處理領(lǐng)域的技術(shù),且這些技術(shù)在不同應(yīng)用場(chǎng)景下均占據(jù)較大市場(chǎng)。然而,從性能的角度進(jìn)行分析,在數(shù)字信號(hào)處理中單片機(jī)等信號(hào)處理單元雖然得到廣泛應(yīng)用,但是其速度依舊有待提升,與AJD等芯片相比存在較大差距[1]。
處理速度是多數(shù)應(yīng)用場(chǎng)景中重點(diǎn)追求的內(nèi)容,也是系統(tǒng)最重要的性能,而通用數(shù)字信號(hào)處理芯片難以達(dá)到高速。在實(shí)際的信號(hào)處理中引入FPGA就能夠彌補(bǔ)這一缺陷,具體來(lái)說(shuō),使用FPGA展開(kāi)算法變成能夠獲得更高的信號(hào)處理速度,這也是當(dāng)前技術(shù)條件下提升速度的最優(yōu)方案。此時(shí),在硬件陣列的條件下應(yīng)用并行處理即可。
現(xiàn)階段,可編程器件生產(chǎn)技術(shù)不斷提升,依托FPGA芯片能夠完成多樣的復(fù)雜算法。在當(dāng)前的數(shù)字信號(hào)處理中,傅里葉變換占據(jù)著核心地位。文章主要選取傅里葉變換中的FFT算法進(jìn)行FPGA應(yīng)用的分析。依托FPGA實(shí)現(xiàn)FFT算法的核心在于設(shè)計(jì)蝶形處理模塊。筆者使用FLEXIOK仿真器件作為硬件平臺(tái),保障數(shù)字信號(hào)處理實(shí)踐的高速與實(shí)時(shí)性。在FPGA芯片的支持下乘法運(yùn)算得以迅速完成,為FFT算法的實(shí)現(xiàn)提供了有力支持。
該過(guò)程中,可以使用VHDL編程對(duì)高度數(shù)字信號(hào)處理乘法運(yùn)算單元實(shí)施調(diào)用,以此完成蝶形運(yùn)算結(jié)構(gòu)的構(gòu)建;在該蝶形處理模塊的支持下組成FFT運(yùn)算級(jí),結(jié)合反復(fù)迭代,就可以實(shí)現(xiàn)FFT算法的并行計(jì)算。另外,利用MAXPLUSII軟件可以完成FFT算法性能的有效分析,依托波形分析與邏輯分析,可以獲取該算法各項(xiàng)性能的參數(shù)。
2.3 FFT處理器的構(gòu)建
傅里葉變換原理表明,基數(shù)有著多種劃分方法,且基數(shù)與系統(tǒng)資源占用率呈現(xiàn)出正比例的關(guān)系,具體有:當(dāng)基數(shù)越大時(shí),所占用的系統(tǒng)資源也就越多,而分析速度也更快。一般情況下,均使用基2展開(kāi)分解,保證處理速度與系統(tǒng)資源的分配高度平衡。在FFT算法中,運(yùn)算單元也可以使用不同的分解形式,包括基4、基8、基16等,也可以使用不同分解的組合形式[2]。在本次研究中,由于必須要在計(jì)算中應(yīng)用大量的旋轉(zhuǎn)因子,所以加設(shè)了ROM存儲(chǔ)器,以此完成緩存操作。此時(shí),控制單元提供算法執(zhí)行過(guò)程中所需要的所有控制信號(hào);計(jì)算數(shù)據(jù)的緩沖由一號(hào)存儲(chǔ)器承擔(dān);中間結(jié)果的暫時(shí)保存由二號(hào)存儲(chǔ)器承擔(dān)。依托控制器的指揮,中間數(shù)據(jù)、使能信號(hào)與地址信號(hào)均有序工作,并完成計(jì)算結(jié)果及其指示標(biāo)志的輸出。
3 FPGA在數(shù)字信號(hào)處理領(lǐng)域的具體應(yīng)用探究
3.1 在音視頻領(lǐng)域的應(yīng)用
現(xiàn)階段,新媒體技術(shù)迅速發(fā)展,人們對(duì)自媒體的要求增高。從視頻方面來(lái)看,對(duì)視頻的清晰度以及分辨率有著更高的追求;從圖像處理方面來(lái)看,不僅要求著更高的圖像質(zhì)量以及穩(wěn)定性,還需要圖像可以直觀(guān)的反映出內(nèi)容與情感。為了實(shí)現(xiàn)這一目標(biāo),就需要對(duì)圖像展開(kāi)處理,包括特效處理、添加效果燈等等。此時(shí),若是依舊使用傳統(tǒng)的音視頻處理芯片,則難以滿(mǎn)足上述需要。而在這樣的數(shù)字信號(hào)處理中應(yīng)用FPGA芯片就能夠達(dá)到當(dāng)前對(duì)音視頻質(zhì)量與效果的現(xiàn)實(shí)需求,完成富有創(chuàng)意的作品創(chuàng)作,賦予音視頻以新的風(fēng)格。
在FPGA的支持下,用戶(hù)可以結(jié)合自身個(gè)性化需求完成高性能產(chǎn)品的開(kāi)發(fā);在預(yù)算充足的前提下,使用該芯片也能夠提升產(chǎn)品性能。就當(dāng)前的情況來(lái)看,用戶(hù)對(duì)音視頻產(chǎn)品的個(gè)性化需求更高,而使用FPGA就能夠做到針對(duì)性分析,結(jié)合具體問(wèn)題進(jìn)行實(shí)現(xiàn)產(chǎn)品定制,促使市場(chǎng)中的音視頻產(chǎn)品不斷推陳出新。基于此,明顯推動(dòng)了音視頻領(lǐng)域與信號(hào)處理系統(tǒng)的升級(jí),為我國(guó)文化產(chǎn)業(yè)的更好發(fā)展提供支持。
3.2 在軟件無(wú)線(xiàn)電領(lǐng)域的應(yīng)用
可以重新展開(kāi)硬件配置的無(wú)線(xiàn)設(shè)備為軟件無(wú)線(xiàn)電,由于其能夠在多種通信標(biāo)準(zhǔn)下有效使用,因此在當(dāng)前的通訊操作中,該設(shè)備得到了廣泛應(yīng)用。相比于其他設(shè)備來(lái)說(shuō),軟件無(wú)線(xiàn)電的成本更低、靈活性更強(qiáng),有著極高的應(yīng)用優(yōu)勢(shì),在商用與軍事領(lǐng)域均發(fā)揮著較大作用。而通過(guò)在其中引入FPGA,能夠?qū)崿F(xiàn)軟件無(wú)線(xiàn)電的基帶優(yōu)化處理,達(dá)到系統(tǒng)延長(zhǎng)的效果,提升了設(shè)備性能。同時(shí),依托FPGA,可以進(jìn)一步增強(qiáng)處理器之間動(dòng)態(tài)軟件部分交換的靈活程度,促使系統(tǒng)能夠從一個(gè)標(biāo)準(zhǔn)更迅速、高質(zhì)量、準(zhǔn)確的切換至另一個(gè)標(biāo)準(zhǔn)上。
需要注意的是,F(xiàn)PGA與數(shù)字信號(hào)處理并非為完全獨(dú)立的,兩者之間可以展開(kāi)協(xié)同運(yùn)行,推動(dòng)系統(tǒng)性能顯著提升的同時(shí),達(dá)到降低成本的效果??傮w來(lái)說(shuō),F(xiàn)PGA為軟件無(wú)線(xiàn)電的基帶處理提供了新路徑。
總 結(jié)
綜上所述,現(xiàn)階段,原有的數(shù)字信號(hào)處理芯片無(wú)法滿(mǎn)足現(xiàn)實(shí)需求,推動(dòng)著FPGA芯片的迅速發(fā)展。由于FPGA具有極高的應(yīng)用優(yōu)勢(shì),因此逐被大量應(yīng)用于數(shù)字信號(hào)處理領(lǐng)域中。相比于普通數(shù)字信號(hào)處理芯片來(lái)說(shuō),F(xiàn)PGA芯片的靈活性更強(qiáng)、使用性能更高,依托FPGA芯片完成多樣的復(fù)雜算法有著更高的可行性。當(dāng)前,F(xiàn)PGA在音視頻領(lǐng)域、軟件無(wú)線(xiàn)電領(lǐng)域以及水聲信號(hào)處理中得到了深入應(yīng)用,推動(dòng)了數(shù)字信號(hào)處理領(lǐng)域的技術(shù)升級(jí)。