基于FPGA的軟件無線電可編程DDC的設(shè)計(jì)
近年來,軟件無線電已經(jīng)成為通信領(lǐng)域一個(gè)新的發(fā)展方向,數(shù)字下變頻技術(shù)(DIGItal Down CONverter-DDC)是軟件無線電的核心技術(shù)之一,也是計(jì)算量最大的部分,一般通過FPGA或?qū)S眯酒扔布?shí)現(xiàn)。
現(xiàn)場可編程門陣列(FPGA)是一種由用戶自行配置的高密度專用數(shù)字集成芯片,具有小型化、低功耗、可編程、數(shù)字化和快速方便實(shí)用的特點(diǎn)。FPGA的靈活性與高速處理的能力,使其由一種靈活的邏輯設(shè)計(jì)平臺(tái)發(fā)展為重要的信號處理元件,在各種軟件無線電產(chǎn)品中得到了廣泛的應(yīng)用。
本文設(shè)計(jì)和實(shí)現(xiàn)了基于FPGA的可編程DDC(DDC),用于寬帶數(shù)字中頻軟件無線電接收機(jī)中,完成數(shù)字下變頻、數(shù)據(jù)抽取等功能。采用自頂向下的模塊化設(shè)計(jì)方法,將整個(gè)DDC劃分為基本單元,實(shí)現(xiàn)這些功能模塊并組成模塊庫。在具體應(yīng)用時(shí),優(yōu)化配置各個(gè)模塊來滿足具體無線通信系統(tǒng)性能的要求。
DDC由數(shù)控振蕩器(NCO)、數(shù)字混頻器和積分清洗濾波器三部分組成,如圖1所示。從原理上比較,DDC和模擬下變頻器是一致的,都是輸入信號與本地振蕩信號混頻,然后經(jīng)低通濾波器濾除高頻分量,得到基帶信號。
1 DDC的設(shè)計(jì)
1.1 數(shù)控振蕩器的設(shè)計(jì)
NCO是DDC中的重要組成部分,NCO的目標(biāo)是產(chǎn)生頻率可變的正交正、余弦樣本信號。NCO產(chǎn)生正弦波樣本通??刹捎貌楸矸?。即通過輸入的相位數(shù)據(jù)來尋址查表以輸出相應(yīng)的正弦波幅值。如圖2所示,碼發(fā)生器由相位累加器和查找表構(gòu)成。累加器按已定的步長進(jìn)行累加,在每個(gè)參考時(shí)鐘周期累加,并將結(jié)果存入寄存器。當(dāng)結(jié)果溢出時(shí)重復(fù)執(zhí)行,累加的過程可以看作NCO輸出頻率的周期。使用查找表選擇相應(yīng)的SIN和COS值輸出。若使用字長為N位寬的累加器,對于某一頻率控制字A,輸出頻率fout與輸入頻率控制字A的關(guān)系為:
其中,fclk為系統(tǒng)時(shí)鐘。只要改變控制字A的大小,就可以控制輸出頻率fout。fout變化的最小步長△f由累加器的數(shù)據(jù)寬度決定。即:
1.2 數(shù)字混頻器和積分清洗濾波器的設(shè)計(jì)及實(shí)現(xiàn)
在本設(shè)計(jì)中,全部過程均采用數(shù)字化處理,DDC由一對載波混頻器和一對積分清洗濾波器組成。載波混頻器主要用來實(shí)現(xiàn)下變頻,積分清洗濾波器用來去掉高頻分量,數(shù)據(jù)信息通過監(jiān)測相鄰兩個(gè)符號時(shí)間內(nèi)的相位變化來解調(diào)數(shù)據(jù)。兩路信號在經(jīng)過積分清洗濾波器后,輸出信號的函數(shù)形式仍然不變,只是信號的幅值發(fā)生了變化。
由于利用FPGA設(shè)計(jì)時(shí),采用的是數(shù)字化的解調(diào)過程,因此在用VHDL實(shí)現(xiàn)時(shí),需要將送過來的基于比特?cái)?shù)據(jù)類型的位矢量先轉(zhuǎn)化為有符號數(shù),然后再進(jìn)行數(shù)字運(yùn)算,運(yùn)算過程結(jié)束后,再將其轉(zhuǎn)化為位矢量以便于進(jìn)行信號的傳輸。兩個(gè)載波混頻器的輸入信號為前端送來的2比特的采樣數(shù)據(jù),取值分別為±1和±3,其中,“00”代表‘1’,“01”代表‘3’,“10”代表‘-1’,“11”代表‘-3’,同樣,本地載波取值±1,±3,這樣經(jīng)過載波混頻后得到了±1、±3、±9等6個(gè)值。將這6個(gè)值用三位二進(jìn)制數(shù)表示,高位為符號位,0表示正,1表示負(fù),低位為數(shù)據(jù)位00、01、10分別代表1、3、9。所以載波混頻器比較簡單,用簡單的門電路就可以實(shí)現(xiàn),圖3為混頻器的綜合圖。對于本系統(tǒng)來說,雖然載波NCO的輸出不是一個(gè)方波,但對整體設(shè)計(jì)沒什么影響。
在實(shí)現(xiàn)積分清洗濾波時(shí),采取了前后兩個(gè)樣點(diǎn)相加(基于主時(shí)鐘mainclk),然后由chip時(shí)鐘(chipclk)進(jìn)行抽樣輸出。這樣做可以回避低通濾波器的同步問題。因?yàn)槿绻扇±奂?0次(Tchip=10Tmain)然后輸出累加量方式的話,需要準(zhǔn)確確定Iout和Qout的chip同步點(diǎn),這樣才能恢復(fù)出正確的基帶信號。因此接收進(jìn)來的QPSK信號經(jīng)過下變頻和低通濾波后的波形如圖5中的i out和q out所示。
2 DDC的系統(tǒng)仿真
通過VHDL語言編寫NCO模塊,其在Modelsim中的仿真如圖4所示。
其中:clk為基準(zhǔn)時(shí)鐘信號;i和q分別為sin、cos兩路載波輸出;carr clock為載波周期時(shí)鐘,用來記錄載波周期個(gè)數(shù);load p為裝載初始相位有效信號;p_init為初始相位值;fctrl為頻率控制字。本設(shè)計(jì)用的是全局時(shí)鐘作為工作時(shí)鐘,所以雖然載波NCO的輸出不是一個(gè)方波,但對整體設(shè)計(jì)沒什么影響,本地載波在一個(gè)周期內(nèi)有4個(gè)相位,輸出為系統(tǒng)時(shí)鐘的分頻信號。
圖5是數(shù)字混頻器仿真圖,其中,sAMPle in為接收到的信號,本文中用偽隨機(jī)碼;sin in、cos in為輸入的兩路載波信號;i out、q out為輸出結(jié)果。
3 結(jié)論
本文所設(shè)計(jì)的簡單DDC系統(tǒng)可以完成基本的下變頻功能,適用于各種需要進(jìn)行下變頻的場合。并可免去使用專業(yè)DDC芯片的麻煩,有效實(shí)現(xiàn)所期望的功能。程序設(shè)計(jì)和實(shí)驗(yàn)表明,將接收進(jìn)來的經(jīng)過采樣量化的數(shù)字中頻信號進(jìn)行數(shù)字式下變頻在單片F(xiàn)PGA中完成是完全可行的。
評論