基于FPGA的軟件無線電高速數(shù)字信號處理
摘 要 本文首先建立了單信道的軟件無線電數(shù)學(xué)模型,分析比較了FPGA、ASIC以及DSP設(shè)計方式的優(yōu)缺點,并深入研究了FPGA技術(shù)在軟件無線電中的應(yīng)用。
本文引用地址:http://www.ex-cimer.com/article/249221.htm關(guān)鍵詞 現(xiàn)場可編程門陣列 上/下變頻器 DA算法
1 引言
軟件無線電的基本思想是:A/D、D/A變換器盡可能地接近天線,用軟件來完成盡可能多的無線電臺的功能1軟件無線電的結(jié)構(gòu)大致分為三種:射頻低通采樣數(shù)字化結(jié)構(gòu)、射頻帶通采樣數(shù)字化結(jié)構(gòu)和寬帶中頻采樣數(shù)字化結(jié)構(gòu)。
對于前兩種方式,由于是對射頻信號直接進行采樣,結(jié)構(gòu)簡潔,并把模擬電路部分減小到最低限度,無疑是最理想的方式,但這種結(jié)構(gòu)不僅對A/D轉(zhuǎn)換器的性能如轉(zhuǎn)換速率、工作帶寬、動態(tài)范圍提出了非常高的要求,同時對后續(xù)DSP或ASIC的處理速度要求過高,以至于無法實現(xiàn);寬帶中頻采樣的軟件無線電結(jié)構(gòu)與目前的中頻數(shù)字化接收機(發(fā)射機)的結(jié)構(gòu)是類似的,都采用了多次混頻體制,在適當(dāng)?shù)闹蓄l位置進行數(shù)字化,所以它是三種結(jié)構(gòu)中最容易實現(xiàn)的,對器件的要求也較低,但它離理想軟件無線電的要求仍有一定距離。
2 單信道軟件無線電數(shù)學(xué)模型
單信道軟件無線電接收機和發(fā)射機的數(shù)學(xué)模型如圖1所示。以接收機為例,將數(shù)字處理流程分為兩部分:一是數(shù)字下變頻部分,包含NCO、混頻器、低通濾波以及抽取濾波器;二是基帶信號處理部分,包含解調(diào)、譯碼、自適應(yīng)均衡、幀調(diào)整、比特調(diào)整和鏈路去加密等算法。數(shù)字下變頻單元的功能一是進行頻譜搬移,將射頻信號或中頻信號轉(zhuǎn)換為零中頻信號;二是降低采樣速率,將滿足射頻或中頻采樣定理的高速采樣信號降低為低速基帶采樣信號。
就目前器件的發(fā)展水平,要想實現(xiàn)完全的射頻數(shù)字化,幾乎還不太可能,所以研究的重點往往放在中頻數(shù)字化上。根據(jù)上面的分析,中頻數(shù)字化中基帶信號處理部分由于處在較低速率上,一般采用通用DSP方案實現(xiàn),通過軟件來實現(xiàn)各種功能;而對于數(shù)字變頻部分,它們過高的速率使得通用DSP無能為力,即使像運算速度已高達600 MHz的TMS320C64X也不能解決數(shù)字中頻的處理,所以,如何解決A/D采樣后高速信號的處理,依然是中頻以下軟件無線電的關(guān)鍵。目前,人們已經(jīng)提出了一些解決關(guān)鍵元器件的方法,并已出現(xiàn)了大量的數(shù)字中頻產(chǎn)品,尤以Harris公司和Gray公司為代表,像Harris公司的可編程數(shù)字上/下變頻器 HSP50415、HSP50216等都為軟件無線電的實現(xiàn)奠定了良好的基礎(chǔ)。同時,在另一方面,由于FPGA技術(shù)的迅速發(fā)展,超大規(guī)模、高速度的 FPGA芯片不斷出現(xiàn),特別是像Xilinx公司的SpartanII、VirtexII具有獨特的快速邏輯進位、DDL功能,為實現(xiàn)高速數(shù)字信號處理提供了可能,這種FPGA加DSP的設(shè)計方法為實現(xiàn)軟件無線電提供了一種更加靈活的方案,本文的重點正是研究FPGA技術(shù)在軟件無線電中的應(yīng)用。
3 幾種技術(shù)方案的比較
3.1 FPGA的發(fā)展現(xiàn)狀
FPGA(Field Programmable Gate Array)現(xiàn)場可編程門陣列是最近10年發(fā)展起來的新型可編程邏輯器件。由于FPGA器件的功能由邏輯結(jié)構(gòu)的配置數(shù)據(jù)決定,工作前需要從芯片外部加載配置數(shù)據(jù)。配置數(shù)據(jù)存儲在片外的EPROM或其它存儲體上,人們可以控制加載過程,在現(xiàn)場修改器件的邏輯功能,即所謂現(xiàn)場編程。FPGA與CPLD一起在數(shù)字電路中發(fā)揮著巨大的作用。FPGA技術(shù)的發(fā)展可以從全球最大的FPGA生產(chǎn)廠商Xillinx公司推出的產(chǎn)品看出,無論是在規(guī)模、處理速度還是功耗上,都得到了長足的進步,如VirtexII系列XC2V10000:系統(tǒng)邏輯門為10M,內(nèi)含專用18(18位乘法器192個,并有Block RAM 3456kbit,內(nèi)部時鐘處理速度為420MHz,IO數(shù)據(jù)速率可達840Mbit/s,核心電壓1.5V。
3.2 FPGA與ASIC的比較
下面我們從功耗、體積、成本、現(xiàn)場可編程性以及硅芯片的解決方案等角度分別對高速DSP、ASIC以及FPGA設(shè)計方案進行比較,如表1所示。
從表1中可以看出,與ASIC設(shè)計方案比較,F(xiàn)PGA具有更大的靈活性。ASIC設(shè)計是通過在FPGA中的模型來測量,當(dāng)接近要求時,再轉(zhuǎn)到小批量ASIC 中測量,這種測量是需要反復(fù)進行的。設(shè)計系統(tǒng)直接使用可重構(gòu)的FPGA,不但增加了設(shè)計的靈活性,而且大大減少了投放市場所需的時間。
3.3 FPGA與DSP的比較
DSP芯片在市場上已有20幾年了,其性能也在不斷地提高,但要達到千兆赫量級的時鐘速度所要求的功耗仍然較高,并且其串行處理的結(jié)構(gòu)不可能實現(xiàn)高階的數(shù)字濾波器功能(如表2所示)。
4 FPGA在數(shù)字中頻處理中的應(yīng)用
根據(jù)圖1所示數(shù)學(xué)模型,F(xiàn)PGA在軟件無線電中的應(yīng)用主要體現(xiàn)在數(shù)字上變頻DUC和數(shù)字下變頻DDC中。經(jīng)過 A/D采樣后的信息直接送給FPGA,在FPGA中完成本地混頻,把中頻信號搬移到基帶信號,然后經(jīng)過低通濾波和多級抽取濾波,降低信息的采樣速率,由 FPGA送至通用DSP,實現(xiàn)基帶信號的調(diào)制解調(diào);對于數(shù)字上變頻結(jié)構(gòu),和下變頻有完全對稱的結(jié)構(gòu),所以分析時僅以接收機為例。
4.1 本地頻率產(chǎn)生器和混頻器
DDC結(jié)構(gòu)中第一個環(huán)節(jié)就是要實現(xiàn)本地數(shù)字混頻,主要由兩個部件完成,一是乘法器,二是數(shù)控振蕩器(NCO)。乘法器是數(shù)字信號處理中的基本運算單元,在FPGA中設(shè)計較為復(fù)雜,而且占用資源也比較多,但在具體實現(xiàn)FIR濾波時,往往不采用這種直接的乘累加的形式,以免占用大量的資源;在實現(xiàn)混頻時,由于只需兩個乘法器,而且是在很高的速率下進行,所以不考慮資源的限制。在Xilinx公司FPGA產(chǎn)品中,有的已在芯片內(nèi)部嵌入了乘法器,這種內(nèi)置乘法器充分結(jié)合了芯片硬件特點,使得運算速度更高。
NCO的硬件結(jié)構(gòu)如圖2所示,主要由相位累加器和SIN/COS表構(gòu)成。相位累加器產(chǎn)生的相位作為地址去查找ROM表,查到的SIN/COS值即本地載波的數(shù)字頻率送至乘法器,完成混頻。在實現(xiàn)NCO時有以下參數(shù)值得注意:
· NCO產(chǎn)生數(shù)字頻率的精度。此參數(shù)與SIN/COS 值的位數(shù)有關(guān),位數(shù)越寬,則精度也就越高,但占用FPGA的資源也就越多。
· 載波的同步。如果需要本地載波做到嚴格的同步,則需要額外的鎖相環(huán)結(jié)構(gòu)獲取偏移相位,進行調(diào)整。
· NCO輸出頻率的噪聲。噪聲的產(chǎn)生與頻率在時間上量化有關(guān),由于采樣時刻不一定嚴格對齊載波的相位,所以會產(chǎn)生噪聲,但構(gòu)造更大的正弦或余弦表會減少噪聲分量,這同樣會增加FPGA的資源占用。
4.2 抽樣率變換濾波器組
下變頻過程中經(jīng)過混頻后的信號必須進行抽取濾波,以便降低抽樣速率,使得通用的DSP對基帶信號處理時有充足的時間完成運算;同樣,在上變頻過程中,首先要進行插值濾波,提高抽樣速率,從而實現(xiàn)在IF范圍內(nèi)頻譜的搬移。根據(jù)DDC總抽取因子的大小,我們把數(shù)字下變頻分為兩類:即當(dāng)抽取率大于32時,認為是窄帶下變頻,反之則認為是寬帶下變頻。無論是寬帶還是窄帶,一般都采用FIR結(jié)構(gòu)實現(xiàn)抽取濾波器,但對于窄帶下變頻,由于抽取因子較大,所以其抽取濾波器組也更為復(fù)雜一些。參考古得曼(Goodman)和開萊(Carey)提出的設(shè)計多級抽取器和內(nèi)插器的經(jīng)典模型[3],對窄帶下變頻作如圖3設(shè)計,其中CIC濾波器為整系數(shù)濾波器,濾波時無需乘法運算,而半帶濾波器有一半系數(shù)為零,這樣在濾波時大大減少了計算量。
實現(xiàn)FIR濾波功能的基本元素包括乘法器、加法器、延遲單元以及存儲單元等,其中乘法器的設(shè)計最為復(fù)雜。用 FPGA技術(shù)作乘累加運算通常有移位相加、加法器樹、查詢表和邏輯樹等設(shè)計方法,不管采取哪種方法,要實現(xiàn)一個高階的數(shù)字濾波器都將占用相當(dāng)大的資源。相比較來說,采用分布式運算DA算法(Distributed Arithmetic)的FPGA設(shè)計無論是在邏輯資源占用上,還是處理速度上都具有很大的優(yōu)勢,特別是對于基于SRAM結(jié)構(gòu)的FPGA更加適合于DSP 功能的設(shè)計。有關(guān)DA算法早期比較著名的闡述,是在1974年由Abraham Peled 和Bede Liu在討論數(shù)字IIR濾波器和FIR濾波器硬件設(shè)計時涉及到,1975年在IEEE Proceedings中Freeny發(fā)表了一篇關(guān)于DA算法在貝爾實驗室電話系統(tǒng)中應(yīng)用的論文,同時惠普公司的Kai-Ping Yiu提供了一種有關(guān)符號位的DA設(shè)計方法;此后,西門子H.Schroder以及RICE大學(xué)C. S. Burrus 在提高算法的處理速度方面做了深入的研究。隨著大規(guī)模集成電路技術(shù)的發(fā)展,特別是可編程邏輯器件的發(fā)展,DA算法在數(shù)字濾波器硬件設(shè)計中的研究進一步加強,SDA(串行DA)算法和PDA(并行DA)算法已成為FPGA實現(xiàn)DSP功能最為有效的方法。根據(jù)DA算法設(shè)計的思想,我們進行FIR濾波器設(shè)計如圖4所示。
圖4為FIR濾波器實現(xiàn)的串行DA形式,其中S-REG為串行移位寄存器,實現(xiàn)輸入數(shù)據(jù)的并/串轉(zhuǎn)換,并由 TSB(Time-Skew Buffer)完成數(shù)據(jù)的移位緩存,產(chǎn)生訪問DALUT的地址;查表后得到的輸 出數(shù)據(jù)由定標ACC單元完成累加,累加的結(jié)果即為濾波后的值。SDA算法處理的速度與抽頭系數(shù)的大小無關(guān),只與輸入信號的數(shù)據(jù)位數(shù)有關(guān),例如當(dāng)x(n) 的數(shù)據(jù)寬度為12bit,則需要12個時鐘來完成一個輸出結(jié)果的運算。PDA(并行DA)算法可相應(yīng)提高信號處理的速度,但它是以犧牲更大的邏輯單元為代價的。為了實現(xiàn)較高性能的濾波器指標,往往需要很多個抽頭,這時DALUT必然會占用很大的空間,如每增加一個抽頭,DALUT的容量就會增加一倍 (2K),在實際處理時,通常采用分解級聯(lián)的方法,利用多個DALUT實現(xiàn)總的濾波功能。
4.3 FPGA實現(xiàn)和實驗結(jié)果
我們設(shè)計了一個中頻為10.75MHz,帶寬為20kHz的中頻數(shù)字化收發(fā)信機,硬件設(shè)計如圖5所示。
如圖5所示,中頻A/D、D/A分別采用AD公司的AD9224和AD9764,其中AD9224分辨率為 12bit,AD9764為14 bit,采樣速率為30.720MHz;DSP選用TI公司的0芯片,最高處理速度為100MIPS;音頻A/D、D/A由 TLV320AIC10實現(xiàn)。FPGA選用Xilinx公司的SpartanII-200,規(guī)模為20萬門,最高工作頻率為200MHz,該芯片主要完成抽取率為512的DDC功能和插值率同樣為512的DUC功能,而且是在同一片F(xiàn)PGA中實現(xiàn)。FPGA單元與DSP接口的數(shù)據(jù)速率為60kHz。 FPGA開發(fā)工具為Xilinx Foundation3.1,編程語言采用VHDL和Schematic混合設(shè)計方法,并利用CORE Generator提供的DA FIR濾波器方便地實現(xiàn)半帶濾波器和整形高階FIR濾波器功能。
5 結(jié)束語
本文在建立單信道軟件無線電數(shù)學(xué)模型的基礎(chǔ)上,深入研究了FPGA技術(shù)在軟件無線電高速數(shù)字信號處理中的應(yīng)用,特別是在DDC和DUC中的應(yīng)用。研究表明,這種基于FPGA/通用DSP的協(xié)同設(shè)計方法,無論是在性能價格上,還是在設(shè)計的靈活性上,都有很大的優(yōu)勢,非常適合目前軟件無線電硬件平臺設(shè)計。
參考文獻
1 Mitola J. The software radio architecture. IEEE Communication Magazine,1995(5)
2 Cummings M, Haruyama. FPGA in the software radio. IEEE Communications Magazine, 1999,37(2)
3 R.E.克勞切,L.R拉賓納.多抽樣率數(shù)字信號處理.北京:人民郵電出版社,1988
濾波器相關(guān)文章:濾波器原理
dc相關(guān)文章:dc是什么
fpga相關(guān)文章:fpga是什么
西門子plc相關(guān)文章:西門子plc視頻教程
濾波器相關(guān)文章:濾波器原理
混頻器相關(guān)文章:混頻器原理 數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理 鎖相環(huán)相關(guān)文章:鎖相環(huán)原理
評論