王 濤,李 俊
(1.國家新聞出版廣電總局廣播科學(xué)研究院,北京100866;2.成都德芯數(shù)字科技有限公司,四川成都610045)
EDGE QAM即為邊緣QAM調(diào)制器,輸入IP封裝的TS流,輸出為QAM調(diào)制信號。該設(shè)備集成了多通道的IP接收及路由、復(fù)用、加擾(可選)、QAM調(diào)制及上變頻功能。是一種低成本、高集成度的數(shù)字電視前端設(shè)備,廣泛的應(yīng)用于數(shù)字電視播出、VOD互動點播系統(tǒng)中。
近年來,隨著現(xiàn)場可編程門陣列(FPGA)器件在邏輯規(guī)模和處理速度方面性能的快速提高,可以利用FPGA來實現(xiàn)高速大規(guī)模的數(shù)字運算及信號處理[1]。數(shù)字上變頻DUC(Digital Up Conversion)就是其中的一種典型應(yīng)用,可以用于EDGE-QAM調(diào)制器的設(shè)計中,替代傳統(tǒng)的模擬上變頻器,從而實現(xiàn)基帶調(diào)制信號到直接數(shù)字射頻信號的輸出。大規(guī)模的FPGA可以很容易地實現(xiàn)多通道的QAM調(diào)制編碼及DUC,再結(jié)合高速DAC實現(xiàn)數(shù)字到模擬信號的轉(zhuǎn)換,可以實現(xiàn)低成本、多通道的QAM調(diào)制。
本文介紹了一種利用高速FPGA進(jìn)行DUC處理,并實現(xiàn)32通道EDGE-QAM調(diào)制的應(yīng)用,并給出實測結(jié)果。該設(shè)計實現(xiàn)了32通道的方根余弦滾降成型濾波,DUC數(shù)字上變頻處理,并通過DAC轉(zhuǎn)換為模擬信號輸出。最終數(shù)字信號采樣率達(dá)到2 048 MSample/s,輸出頻率范圍為36~860 MHz,輸出信號帶寬為768 MHz,每個載波輸出頻率可單獨在768 MHz范圍內(nèi)任意可調(diào)整。
DUC主要由數(shù)據(jù)采樣率提升,數(shù)字混頻等模塊組成。其中采樣率提升模塊包括對數(shù)據(jù)進(jìn)行插值及低通濾波,提高輸入信號的采樣率。在高的采樣率下,配合數(shù)字混頻模塊,采用數(shù)學(xué)運算的方法,直接將信號混頻到射頻頻率并輸出。由于混頻采用的是數(shù)字運算的方法實現(xiàn),因此可以避免傳統(tǒng)模擬上變頻器因為模擬器件IQ不匹配的誤差,具有非常高的性能,再配合高速的DAC器件,可以直接輸出射頻的調(diào)制信號。
本設(shè)計的DUC模塊結(jié)構(gòu)如圖1所示,主要由3級內(nèi)插及濾波模塊及3級NCO混頻模塊組成。內(nèi)插模塊實現(xiàn)數(shù)字信號采樣率的提升,以達(dá)到最終的2 048 MSample/s采樣率。混頻模塊實現(xiàn)數(shù)字信號頻譜搬移,實現(xiàn)32通道每個通道輸出頻率的獨立調(diào)整,具有很大的調(diào)節(jié)范圍和很小的調(diào)節(jié)步進(jìn)。
設(shè)計所采用的主系統(tǒng)時鐘為256 MHz,在數(shù)據(jù)的采樣率低于256 MSample/s時,采用分時復(fù)用的方法進(jìn)行串行計算以節(jié)省資源。在stage3及以后的處理,數(shù)據(jù)的采樣率大于256 MSample/s時,采用并行計算輸出進(jìn)行串行拼接以達(dá)到較高的處理速度。
stage1模塊是DUC與QAM調(diào)制的FEC部分的接口,將映射之后的符號進(jìn)行方根余弦滾將濾波、2倍插值、以及分?jǐn)?shù)倍插值將采樣率插到固定的32 MSample/s,以便于后續(xù)的DUC處理。由于QAM調(diào)制要求符號率可變,調(diào)節(jié)范圍為1~7 MSample/s,因此每通道符號時鐘為8 MHz,最后一級需要進(jìn)行分?jǐn)?shù)倍插值,以插到固定的采樣頻率,以便進(jìn)行后續(xù)的濾波及混頻操作。

圖1 DUC模塊系統(tǒng)構(gòu)架
stage2為3級2倍內(nèi)插操作,由于每級都是2倍內(nèi)插,因此濾波器采用半帶濾波,由于濾波器有一半系數(shù)為零,能夠減少一半的乘法操作,比較節(jié)省FPGA內(nèi)部的乘法器和加法器資源。同時也有比較好的頻率相應(yīng)。經(jīng)過3級升采樣濾波后基帶信號采樣率可以提升到256 MSample/s。
之后是NCO256模塊,在256 MSample/s的采樣頻率下,將32通道的基帶信號分配到4個NCO子模塊內(nèi),每個通道數(shù)據(jù)只能分配到其中的一個NCO子模塊,分配之后每個子模塊進(jìn)行基帶信號的混頻及混合,每一路的輸出信號帶寬可以達(dá)到192 MHz,在一個NCO子模塊內(nèi)最多可以合成24個8MHz的QAM信號或者32個6MHz的QAM信號。
stage3為3級2倍內(nèi)插操作,由于采樣頻率高于256 MSample/s,因此采用并行操作才能實現(xiàn)高的采樣率。濾波器同樣采用半帶濾波,經(jīng)過3級升采樣濾波后基帶信號采樣率可以提升到2 048 MSample/s。
最后是NCO2048模塊,將4路信號進(jìn)行混頻及合成。每路信號的中心頻率間隔192 MHz,再進(jìn)行合成,可以將射頻頻譜進(jìn)行拼接,得到總帶寬為768 MHz的基帶信號。經(jīng)過這樣的處理,最終實現(xiàn)輸出32個QAM通道射頻輸出頻率單獨可調(diào),并且總輸出帶寬可達(dá)768 MHz。如圖2所示。

圖2 DUC輸出頻率分布圖
要實現(xiàn)基帶成型,根據(jù)DVB-C調(diào)制標(biāo)準(zhǔn)[2],需要采用方根余弦滾降(SRRC)濾波器,滾降系數(shù)為0.15。通過MATLAB進(jìn)行濾波器設(shè)計,要實現(xiàn)60 dB的阻帶衰減,需要用96階的FIR濾波,濾波器的頻響特性如圖3所示。

圖3 方根余弦滾降(SRRC)濾波器幅頻響應(yīng)(截圖)
設(shè)計的SRRC濾波器滾降系數(shù)為0.15,通帶紋波小于0.01 dB,阻帶抑制可達(dá)到75 dB。濾波器采用FPGA的專用乘法器實現(xiàn),F(xiàn)PGA采用Altera的Arria5器件,可以實現(xiàn)超過300 MHz的乘累加操作,完全可以滿足設(shè)計要求。由于主系統(tǒng)時鐘為256 MHz,而DVB-C的符號率不超過7 MHz,考慮到SRRC濾波內(nèi)插補零的點可以不參與運算,因此一個濾波器可實現(xiàn)32路數(shù)據(jù)即16個IQ調(diào)制通道的濾波。因此整個32通道QAM調(diào)制通道只需要2個SRRC濾波器即可實現(xiàn)。
同理,2倍內(nèi)插濾波器也采用MATLAB設(shè)計。stage1里緊跟SRRC之后第一級2倍內(nèi)插采用23階系數(shù)即可實現(xiàn)。由于是2倍整數(shù)內(nèi)插,采用半帶設(shè)計,濾波器系數(shù)有一半為零,可以減少一半的運算量。由于中心抽頭系數(shù)為0.5,可以采用移位實現(xiàn)而不用耗費乘法器。再去掉為零的系數(shù)及考慮系數(shù)對稱,實際只用計算6個乘法即可實現(xiàn)濾波器的運算,可以大大減小FPGA的乘法器消耗。濾波器設(shè)計通帶范圍為0.3,系數(shù)量化到16 bit,可以實現(xiàn)80 dB的阻帶衰減。該濾波器的頻響特性如圖4所示。

圖4 2倍內(nèi)插濾波器幅頻響應(yīng)
該設(shè)計中的混頻由3級NCO模塊實現(xiàn),分別工作在32 MSample/s,256 MSample/s和2 048 MSample/s采樣頻率上。三級NCO組合,可以實現(xiàn)每個載波輸出頻率單獨可調(diào),調(diào)節(jié)步進(jìn)為1 kHz,輸出頻率范圍為36~860 MHz。
NCO32混頻器為stage1與stage2之間的混頻器,可調(diào)節(jié)頻率步進(jìn)為1 kHz,范圍為±0.5 MHz。NCO256混頻器為stage2與stage3之間的混頻器,可調(diào)節(jié)頻率步進(jìn)為0.5 MHz,范圍為 ±128 MHz。NCO2048 混頻器,為 stage3之后的混頻器,可調(diào)節(jié)頻率步進(jìn)為4 MHz,范圍為±1 024 MHz。以上3級混頻可實現(xiàn)±1 024 MHz,步進(jìn)1 kHz的混頻,可將任一基帶載波混頻到任一范圍內(nèi)的射頻頻率,完全能滿足設(shè)計需求。
在數(shù)字系統(tǒng)中,廣泛的采用NCO產(chǎn)生正交的本地震蕩信號,即正、余弦信號。隨后與輸入信號相乘來實現(xiàn)混頻操作。而NCO的設(shè)計通常采用坐標(biāo)旋轉(zhuǎn)數(shù)字計算(CORDIC)算法來實現(xiàn)或者查找表(LUT)來實現(xiàn)[3]。CORDIC算法采用迭代運算計算出需要的cos,sin值,它能達(dá)到的精度受迭代次數(shù)影響。要提高計算精度,需要增加CORDIC算法的迭代次數(shù),這會導(dǎo)致邏輯資源的增加及邏輯延時的增加。而基于LUT的方法則比較簡單直接,將cos,sin值存在ROM中,只需要一個相位累加器進(jìn)行累加得到相位地址,并根據(jù)相位地址從ROM中查找得到所需要的cos,sin值即可。該方法適合相位分辨率略低一些的應(yīng)用,否則ROM的容量就會非常大。ROM可以采用FPGA內(nèi)部嵌入的RAM塊實現(xiàn),可以達(dá)到非常高的速度。而ARRIA5的FPGA中有大量的RAM資源可以使用,因此本設(shè)計主要采用的是LUT查找表實現(xiàn)。具有結(jié)構(gòu)簡單、運算速度高、切換時間小、便于并行運算的優(yōu)點。
因此綜合考慮,NCO32工作頻率在32 MSample/s,要實現(xiàn)1 KHz的頻率步進(jìn),需要16 bit的相位精度才能滿足要求。如果cos,sin值采用16 bit位寬,需要216×16×2=2 Mbit的 RAM,消耗 RAM塊資源太多。因此采用CORDIC算法實現(xiàn),迭代16次可以滿足設(shè)計的精度要求。
NCO256工作頻率在256 MSample/s,要實現(xiàn)0.5 MHz的頻率步進(jìn),只需要9 bit的相位精度即可滿足要求,采用查找表方法實現(xiàn)也只占用很少的FPGA的RAM塊資源,因此本設(shè)計中采用查找表的方法實現(xiàn),相位累加器采用9 bit,步進(jìn) 1 bit代表 0.5 MHz。NCO2048 工作頻率在2 048 MSample/s,要實現(xiàn)4MHz的頻率步進(jìn),同樣只需要9 bit的相位精度即可滿足要求,因此也采用查找表方法實現(xiàn)。同時由于主系統(tǒng)時鐘為256 MHz,因此需要同時采用8個NCO單元進(jìn)行并行運算,每次計算8個順序相位值的數(shù)據(jù)。在FPGA輸出時,由專用的硬件serdes電路[4]將并行數(shù)據(jù)轉(zhuǎn)為正常的采樣率為2 048MSample/s的串行數(shù)據(jù)輸出。
基于本設(shè)計的EDGE QAM調(diào)制器是基于Quartus II 13.0 進(jìn)行編譯的[5],最終在 Altera 公司 Arria V 系列5AGXFB3H4型號FPGA上實現(xiàn)EDGE-QAM的設(shè)計。實現(xiàn)了32通道的復(fù)用加擾及QAM編碼調(diào)制。FPGA編譯后DUC部分的資源占用如圖5所示。

圖5 DUC模塊編譯資源占用報告(截圖)
如圖5所示,經(jīng)過合理設(shè)計,DUC模塊只占用極少部分的FPGA資源,共使用21 936個ALM,占該FPGA總資源的16%;358個DSP Blocks,占總資源的34%。
DUC部分工作在256 MHz時鐘頻率,可以實現(xiàn)總輸出帶寬為768 MHz,每個QAM調(diào)制通道頻率步進(jìn)為1 kHz,每個調(diào)制通道輸出頻率在768 MHz范圍任意可調(diào)節(jié)。DAC選擇ADI公司的 AD9739。該 ADC為14 bit,2.4 GSPS的高速DAC,有2個LVDS輸入通道,每個輸入通道最高速率為1.2 GSample/s,最高可輸出960 MHz的射頻信號。DUC數(shù)據(jù)輸出通過FPGA的serdes輸出給DAC,進(jìn)行數(shù)模轉(zhuǎn)換后直接輸出射頻信號。采用本設(shè)計的EDGE QAM調(diào)制器射頻輸出采用Agilent N9020A頻譜儀和R&SETL信號分析儀測試,實際射頻輸出頻譜及星座圖如圖6和圖7所示,完全能達(dá)到設(shè)計的射頻輸出帶寬,具有很高的射頻輸出帶肩比和MER值。

圖6 EDGEQAM射頻輸出頻譜(截圖)

圖7 EDGEQAM射頻輸出星座圖(截圖)
目前,采用該DUC設(shè)計的多通道EDGE QAM調(diào)制器已經(jīng)應(yīng)用于成都德芯數(shù)字科技有限公司的產(chǎn)品DX3232中,性能指標(biāo)得到客戶認(rèn)可。本文給出了該EDGE QAM調(diào)制器中DUC模塊的設(shè)計及實現(xiàn)方法。該方案廣泛適用于各種EDGE QAM/IP QAM調(diào)制器中,以及其他多通道的調(diào)制器中,以實現(xiàn)數(shù)字上變頻,代替模擬上變頻器,可以實現(xiàn)高性能、高帶寬的變頻調(diào)制。
[1]EDA先鋒工作室.Altera FPGA/CPLD設(shè)計(基礎(chǔ)篇)[M].北京:人民郵電出版社,2011.
[2] EN 300 429,Digital video broadcasting(DVB);framing structure,channel coding and modulation for cable systems[S].1997.
[3]高亞君.基于FPGA的數(shù)字信號處理[M].北京:電子工業(yè)出版社,2012.
[4]EDA先鋒工作室.Altera FPGA/CPLD設(shè)計(高級篇)[M].北京:人民郵電出版社,2011.
[5] Quartus IIHandbook Version 10.0[EB/OL].[2013-11-05].http://download.csdn.net/download/horizon317/2810494.