摘 要: 介紹一種利用新器件特性實(shí)現(xiàn)全數(shù)字上變頻的方法,,包括射頻頻率范圍內(nèi)從基帶信號(hào)的插值濾波器的設(shè)計(jì),、載波信號(hào)的產(chǎn)生,到針對(duì)射頻信號(hào)高采樣率的并行處理方法以及與數(shù)模轉(zhuǎn)換器件的接口設(shè)計(jì),。與傳統(tǒng)模擬方案相比,,本設(shè)計(jì)具有更佳的性能、更低的成本和更好的靈活性,,可廣泛用于電纜調(diào)制解調(diào)器系統(tǒng),。
關(guān)鍵詞: 多相濾波;直接數(shù)字頻率合成,;輸出并串轉(zhuǎn)換器
?
傳統(tǒng)的調(diào)制方式包括模擬調(diào)制和數(shù)字調(diào)制,模擬調(diào)制中的基帶信號(hào)和載波都是模擬信號(hào),。隨著軟件無(wú)線電技術(shù)理論的發(fā)展以及大規(guī)模集成電路的廣泛應(yīng)用,原來(lái)的模擬通信系統(tǒng)的基帶處理部分采用數(shù)字電路逐漸數(shù)字化,、軟件化,,這樣就可通過(guò)可編程器件的可編程性對(duì)工作頻率、系統(tǒng)帶寬,、調(diào)制方式,、信源編碼等進(jìn)行編程控制,實(shí)現(xiàn)不同的通信功能系統(tǒng),,靈活性大為增強(qiáng)[1],。然而,根據(jù)奈奎斯特抽樣理論,,要對(duì)通信系統(tǒng)的射頻部分進(jìn)行數(shù)字化處理,,要求數(shù)字信號(hào)的采樣頻率至少是模擬射頻信號(hào)最高頻率的2倍以上,由于以往數(shù)字處理器件以及DA轉(zhuǎn)換器件的處理速度的限制,,傳統(tǒng)通信系統(tǒng)的基帶信號(hào)為數(shù)字信號(hào),,載波仍然是模擬載波。
近期,,Xilinx公司發(fā)布了Virtex5系列FPGA,,借助于該FPGA擁有的用于實(shí)現(xiàn)高性能DSP的550 MHz DSP48E slice以及實(shí)現(xiàn)終級(jí)并行連接功能的1.25 Gb/s SelectIO 技術(shù),可以直接實(shí)現(xiàn)數(shù)字射頻信號(hào)的調(diào)制,,Maxim公司也發(fā)布了采樣率高達(dá)4.3 GS/s的DA轉(zhuǎn)換器MAX5881,,可以從50 MHz~1 000 MHz直接進(jìn)行模擬射頻信號(hào)合成。本文介紹了如何使用Virtex5系列FPGA進(jìn)行數(shù)字射頻信號(hào)調(diào)制以及通過(guò)MAX5881輸出模擬射頻信號(hào)的“全數(shù)字”上變頻技術(shù),。之所以稱為“全數(shù)字”,,是因?yàn)槠浠鶐盘?hào)和載波全部都是時(shí)間離散的信號(hào),完成調(diào)制的器件也是數(shù)字器件,。
1 系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)
按照通信調(diào)制基本理論,,上變頻需要將調(diào)制好的信號(hào)從基帶頻率搬移到射頻頻率,,對(duì)于基帶信號(hào),其帶寬一般較窄,,因此在很多應(yīng)用場(chǎng)合中都是根據(jù)Nyquist采樣定理,,再結(jié)合工程實(shí)際,采用2.5~4倍的基帶信號(hào)最高頻率進(jìn)行采樣,。而作為載波的DDS輸出波形,,其頻率相對(duì)較高。如果用基帶信號(hào)對(duì)載波進(jìn)行正交調(diào)制,,即是數(shù)字信號(hào)的相乘,,要求基帶和載波具有相同的數(shù)據(jù)速率。所以,,在進(jìn)行正交調(diào)制之前必須對(duì)基帶數(shù)字信號(hào)進(jìn)行插值濾波,提高其數(shù)據(jù)速率,。提高基帶信號(hào)的數(shù)據(jù)速率有兩種途徑:一種是簡(jiǎn)單的數(shù)據(jù)保持方法,;另一種是嚴(yán)格的插值濾波法。簡(jiǎn)單的數(shù)據(jù)保持法是將序列的每一個(gè)采樣點(diǎn)做簡(jiǎn)單的保持(或重復(fù)采樣)直到下一個(gè)采樣點(diǎn)到來(lái),。這種近似的處理辦法相當(dāng)簡(jiǎn)單,,但效果不佳,只適合于數(shù)字調(diào)制方式或基帶信號(hào)帶寬很窄,、對(duì)信號(hào)精度要求不高的場(chǎng)合,。本設(shè)計(jì)采用嚴(yán)格的插值濾波,先經(jīng)過(guò)零值內(nèi)插,,然后再濾波得到,。信號(hào)從基帶頻率插值到4 GHz,插值倍數(shù)比較大,,故采用多相濾波結(jié)構(gòu)的FIR濾波器實(shí)現(xiàn),。
經(jīng)過(guò)插值后的數(shù)據(jù)與DDS產(chǎn)生的載波頻率相乘,乘法器使用Virtex5系列FPGA內(nèi)的高性能DSP模塊實(shí)現(xiàn),,該模塊是FPGA內(nèi)部的硬件模塊,,可運(yùn)行在550 MHz。為了保證信號(hào)的精度同時(shí)減少資源的使用,,基帶信號(hào)用12位有符號(hào)數(shù)表示,,載波信號(hào)用10位無(wú)符號(hào)數(shù)表示,二者相乘后為22位有符號(hào)數(shù),。由于MAX5881為12位輸入精度,,截取22位有符號(hào)數(shù)的高12位作為FPGA的輸出。
2 FPGA與MAX5881的接口設(shè)計(jì)
MAX5881是Maxim推出的首款12位,、4.3 GS/s數(shù)模轉(zhuǎn)換器,,器件提供出色的雜散,、噪聲和鄰道性能。MAX5881的輸出刷新速率高達(dá)4.3GS/s,,其數(shù)據(jù)接口的輸入速率也需要比傳統(tǒng)數(shù)模轉(zhuǎn)換器件高,。針對(duì)這種高帶寬的數(shù)據(jù)接口,設(shè)計(jì)了如圖1所示的FPGA與DAC的數(shù)據(jù)接口[2],。
?
MAX5881在DDR模式下工作時(shí)鐘速率高達(dá)2.15 GHz,,有獨(dú)立的模擬和數(shù)字時(shí)鐘,數(shù)據(jù)接口的時(shí)鐘由MAX5881輸出,,用于簡(jiǎn)化和FPGA的接口,。MAX5881輸出的數(shù)據(jù)時(shí)鐘DATACLKP/DATACLKN是由CLKP/CLKN引腳上的高精度模擬時(shí)鐘源分頻產(chǎn)生的,因而時(shí)鐘周期的抖動(dòng)非常小,,適合作為FPGA的工作時(shí)鐘,。
為了保證FPGA生成的數(shù)據(jù)傳輸?shù)組AX5881接口端與CLKP/CLKN的相位對(duì)齊關(guān)系,采用了“系統(tǒng)同步化”設(shè)計(jì),。這一設(shè)計(jì)的過(guò)程是將時(shí)鐘管理單元(DCM)的CLK0從芯片內(nèi)部經(jīng)過(guò)一個(gè)OSERDES輸出到電路板,,然后再將時(shí)鐘作為反饋時(shí)鐘送回DCM。PCB板上的時(shí)鐘反饋路徑長(zhǎng)度等于從FPGA到MAX5881的數(shù)據(jù)路徑長(zhǎng)度減去DATACLK路徑的長(zhǎng)度,,這就保證了時(shí)鐘反饋路徑產(chǎn)生的延時(shí)等于FPGA到MAX5881的數(shù)據(jù)傳輸路徑延時(shí)減去MAX5881的DATACLK輸出到FPGA的延時(shí),,因而由DCM提供的延時(shí)恰好補(bǔ)償FPGA的數(shù)據(jù)與時(shí)鐘路徑延時(shí)。此時(shí)到達(dá)MAX5881的數(shù)據(jù)變化發(fā)生在DATACLK的上升沿與下降沿,。為了保證MAX5881的建立與保持時(shí)間要求,,還要對(duì)數(shù)據(jù)與DATACLK之間的相位關(guān)系進(jìn)行微調(diào)。這個(gè)附加的延時(shí)可以通過(guò)增長(zhǎng)反饋路徑的長(zhǎng)度或者在反饋路徑上加入一個(gè)FPGA ODELAY模塊來(lái)實(shí)現(xiàn),。
MAX5881包括四個(gè)12位復(fù)用低壓差分信號(hào)(LVDS)輸入端口,,每個(gè)端口以雙倍數(shù)據(jù)速率(DDR)或四倍數(shù)據(jù)速率(QDR)模式工作在1 075 MHz。該器件接受1/2 DAC刷新速率的時(shí)鐘,,在時(shí)鐘上升沿和下降沿均觸發(fā)轉(zhuǎn)換,。輸入數(shù)據(jù)速率為1/4 DAC刷新速率或1/2時(shí)鐘速率。將MAX5881的CLKDIV引腳置為低電平并將FPGA的OSERDES配置為DDR模式,,此時(shí),,MAX5881輸出DATACLKP/DATACLKN的頻率等于其輸入引腳CLKP/CLKN頻率的1/4。對(duì)應(yīng)MAX5881的采樣頻率,,CLKP/CLKN的頻率為2 GHz,,DATACLKP/DATACLKN的頻率為500 MHz。這個(gè)500 MHz的時(shí)鐘信號(hào)驅(qū)動(dòng)FPGA的OSERDES模塊,。由于OSERDES模塊工作在DDR模式,,在DATACLKP/DATACLKN的上升沿與下降沿都有數(shù)據(jù)輸出,因此FPGA輸出的數(shù)據(jù)速率為1 GHz,。由于FPGA內(nèi)部邏輯仍然不能直接產(chǎn)生1 GHz的數(shù)據(jù),,因此FPGA使用了并行處理方式,,首先生成4路250 MHz的數(shù)據(jù),然后通過(guò)OSERDES模塊串行輸出1 GHz的數(shù)據(jù),。采用這種方式降低了FPGA的時(shí)序要求,,系統(tǒng)運(yùn)行更加穩(wěn)定。
3 數(shù)字射頻信號(hào)上變頻
3.1 多相濾波器結(jié)構(gòu)
本設(shè)計(jì)中,,假定被調(diào)制信號(hào)的采樣頻率為250 MHz,,需要進(jìn)行16倍插值才能達(dá)到4 GHz的采樣率??紤]到速度與資源的要求,,采用了兩級(jí)4倍插值濾波器級(jí)聯(lián)的方式,每一級(jí)都采用了多相濾波的方式來(lái)實(shí)現(xiàn),。
傳統(tǒng)的4倍插值濾波方式是將每?jī)蓚€(gè)原始數(shù)據(jù)中間插入3個(gè)0,,設(shè)原始數(shù)據(jù)序列為[a,b,,c,,d…],則4倍插值后的序列[x1,,x2,x3,,x4…]=[a,,0,0,,0,,b,0,,0,,0,c,,0,,0,0,,d,,0,0,,0…],。本設(shè)計(jì)中250 MHz的數(shù)據(jù)經(jīng)過(guò)插入3個(gè)0值后,數(shù)據(jù)速率已經(jīng)達(dá)到1 GHz,,用x序列表示輸入信號(hào),,c序列表示抽頭系數(shù),, y表示輸出信號(hào)。則可以直觀地發(fā)現(xiàn),,輸入序列x中有3/4的數(shù)據(jù)是0,,這些數(shù)據(jù)對(duì)FIR濾波器的乘法器毫無(wú)意義,因此將濾波器的抽頭系數(shù)分為4組,。圖2給出了第一個(gè)子濾波器的抽頭系數(shù)的計(jì)算流程,。從圖中可以看出,該組抽頭系數(shù)如同一把梳子,,計(jì)算得到輸出yn,,而yn+1,yn+2,,yn+3則由其他三組抽頭系數(shù)計(jì)算得到,。第一個(gè)子濾波器從第一個(gè)輸入開始計(jì)算,第二個(gè)子濾波器從第二個(gè)輸入開始計(jì)算,,依此類推,。當(dāng)?shù)谝粋€(gè)子濾波器的四組抽頭系數(shù)都計(jì)算完一遍后,各組抽頭系數(shù)向右移一個(gè)單元格,,計(jì)算得到輸出yn+4,,yn+5,yn+6,,yn+7,,依此類推。每一組子濾波器獨(dú)立工作在250 MHz,,四組子濾波器輸出數(shù)據(jù)組合成1 GHz,,降低了每個(gè)子濾波器的工作頻率。
3.2 濾波器參數(shù)計(jì)算
多相濾波器盡管結(jié)構(gòu)不同于普通FIR插值濾波器,,但原理與普通的FIR濾波器等效,,可以按照傳統(tǒng)的濾波器參數(shù)設(shè)計(jì)方法計(jì)算多相濾波器的參數(shù)。對(duì)于4倍插值的多相濾波器,,由于濾波器的抽頭系數(shù)必須分配到4組子濾波器中,,因此濾波器的抽頭系數(shù)必須是4的整數(shù)倍。設(shè)計(jì)了歸一化通帶截止頻率0.2,、阻帶起始頻率0.4的40階FIR濾波器,,使用FDATool計(jì)算了抽頭系數(shù),幅頻特性如圖3所示,,并對(duì)該濾波器系數(shù)使用Matlab進(jìn)行了仿真,,仿真圖形如圖4所示。
?
3.3 直接頻率合成正弦載波技術(shù)
直接數(shù)字頻率合成技術(shù)(DDS)具有較高的頻率分辨率,,可實(shí)現(xiàn)快速的頻率切換且在頻率改變時(shí)能夠保持相位的連續(xù),,通過(guò)FPGA很容易實(shí)現(xiàn)頻率,、相位和幅度的控制。因此,,DDS的應(yīng)用越來(lái)越廣泛,,在數(shù)字化的調(diào)制解調(diào)模塊中,DDS取代了VCO(模擬的壓控振蕩器)而被大量采用,。
DDS的基本原理是通過(guò)一個(gè)可控的相位累加器的輸出作為一個(gè)ROM查找表的地址輸入,,根據(jù)ROM查找表存儲(chǔ)的數(shù)據(jù)輸出數(shù)字正弦波形。相位累加器的頻率控制字k根據(jù)輸出模擬頻率來(lái)計(jì)算[3],。本設(shè)計(jì)中MAX5881的刷新速率為4.0 GS/s,,為了保證輸出正弦波的質(zhì)量,一個(gè)周期內(nèi)最少應(yīng)該有2.5個(gè)取樣點(diǎn),,據(jù)此設(shè)定DDS輸出正弦波頻率最大1.6 GHz,,MAX5881最小輸出頻率為50 MHz,因此可輸出射頻信號(hào)頻率范圍為50 MHz~1.6 GHz,。
本設(shè)計(jì)中,,調(diào)制信號(hào)是16路250 MHz的數(shù)據(jù),正弦載波信號(hào)相應(yīng)地為16路250 MHz數(shù)據(jù),,根據(jù)設(shè)計(jì)要求綜合考慮后,,為了獲得優(yōu)秀的波形和盡可能大的頻率范圍,對(duì)幅度為1 024的正弦波的一個(gè)周期進(jìn)行4 096采樣,,對(duì)應(yīng)12位地址信號(hào),,用Matlab軟件計(jì)算得到每一點(diǎn)對(duì)應(yīng)的幅度值,為避免波形數(shù)據(jù)出現(xiàn)負(fù)值,,對(duì)幅度值平移處理后量化成10位二進(jìn)制數(shù)據(jù)存放在ROM中。在250 MHz時(shí)鐘的每個(gè)周期,,需要從ROM查找表中連續(xù)讀出16個(gè)相位連續(xù)的值,,每次相位累加的值,F(xiàn)out為輸出頻率,,F(xiàn)clk是基準(zhǔn)周期的16倍4 GHz,,N為ROM表的深度,輸出波形的頻率分辨率
,。
3.4 輸出并串轉(zhuǎn)換技術(shù)
經(jīng)過(guò)多相插值濾波后的調(diào)制頻率與DDS輸出的正弦載波相乘后,,基帶信號(hào)頻率搬移到相應(yīng)的射頻頻段,這時(shí)的信號(hào)是16路并行信號(hào),,需要經(jīng)過(guò)FPGA的輸出并串轉(zhuǎn)換器(OSERDES)串行化后輸出4路信號(hào),,最后按照MAX5881的時(shí)序要求從FPGA的I/O口輸出。
Virtex-5 OSERDES 是專用的并串轉(zhuǎn)換器,,具有專門用來(lái)幫助實(shí)現(xiàn)高速源同步接口的特定時(shí)鐘控制和邏輯資源,。OSERDES 使用CLK和CLKDIV兩個(gè)時(shí)鐘進(jìn)行數(shù)據(jù)速率轉(zhuǎn)換,。CLK是高速串行時(shí)鐘,CLKDIV是分頻并行時(shí)鐘,。CLK和CLKDIV由DCM保證相位對(duì)齊,。一個(gè) OSERDES 模塊中的數(shù)據(jù)并串轉(zhuǎn)換器接收來(lái)自內(nèi)部資源的四位并行數(shù)據(jù),將數(shù)據(jù)串行化,,然后通過(guò) OQ 輸出將數(shù)據(jù)送至IOB,。并行數(shù)據(jù)串行化是按照從數(shù)據(jù)輸入引腳的最低位到最高的順序進(jìn)行的(即D1輸入引腳上的數(shù)據(jù)傳輸?shù)絆Q引腳的首位)。本設(shè)計(jì)是在雙倍數(shù)據(jù)速率 DDR模式下使用數(shù)據(jù)并串轉(zhuǎn)換器,,CLK頻率為500 MHz,,CLKDIV頻率為250 MHz,輸出串行數(shù)據(jù)速率為1GHz[4],。
本設(shè)計(jì)主要應(yīng)用了Virtex5系列FPGA新的高性能DSP模塊,、高速SelectIO資源,結(jié)合MAX5881高達(dá)4.3 GS/s的數(shù)據(jù)分辨率,,實(shí)現(xiàn)了由基帶信號(hào)到50 MHz~1.6 GHz頻率范圍內(nèi)射頻信號(hào)的上變頻,,解決了傳統(tǒng)調(diào)制方法的上變頻部分無(wú)法采用數(shù)字方式實(shí)現(xiàn)的難題。本設(shè)計(jì)極大地簡(jiǎn)化了RF模塊的設(shè)計(jì),,省去了傳統(tǒng)模擬方案中很多必需的器件,,如:上變頻調(diào)制器或混頻器、下變頻混頻器,、 固定和可變頻率合成器,、放大器和濾波器等,因此單通道成本低于模擬方案,。相對(duì)于傳統(tǒng)的數(shù)?;旌险{(diào)制系統(tǒng),本設(shè)計(jì)系統(tǒng)靈活,,便于仿真驗(yàn)證,,充分發(fā)揮了全數(shù)字系統(tǒng)的優(yōu)點(diǎn),有一定使用和推廣的價(jià)值,。
參考文獻(xiàn)
[1] 王煒,,趙可萍,鄭易.基于FPGA的調(diào)制信號(hào)電路設(shè)計(jì)[J].微計(jì)算機(jī)信息,,2007,,23(2-2).
[2] Interfacing the MAX5881 Direct RF Synthesis DAC to FPGAs[EB/OL].http://www.maxim-ic.com.cn.
[3] 李曉杰,王秀琴.直接數(shù)字頻率合成器的設(shè)計(jì)[J].煤礦機(jī)械,,2008,,29(7).
[4] ug190:Virtex-5 FPGA Data Sheet[EB/OL].http://www.xilinx.com.