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