覃榮捷 袁 曉 辛 超 陸大海
(1.四川大學電子信息學院 成都 610064)(2.西南電子電信研究所 上海 200434)
隨著通信技術的發(fā)展,軟件無線電技術在軍事和民用上都具有重要作用[1,9]。而寬帶信號接收機就是針對寬帶信號進行信號采集、處理與傳輸?shù)囊环N基于軟件無線電技術的設備。但是隨著集成芯片的不斷發(fā)展,ADC的采樣速率越來越高,這對后續(xù)的數(shù)據(jù)處理、傳輸以及存儲帶來很大的壓力,具有向下變頻、濾波和降低采樣速率等優(yōu)點的數(shù)字下變頻就顯示了其重要作用,同時,它也是軟件無線電技術中的關鍵技術之一?,F(xiàn)有的數(shù)字下變頻實現(xiàn)方法有通用DDC芯片、專用ASIC和FPGA等。而以FPGA實現(xiàn)的數(shù)字下變頻是通過硬件描述來實現(xiàn),具有靈活可配置、并行處理等特點,常常被作為首選實現(xiàn)方案[2]。本文根據(jù)寬帶接收機的功能需求,設計一個針對數(shù)字中頻的可靈活配置的DDC方案。
數(shù)字下變頻主要包括數(shù)控振蕩器NCO、混頻器和濾波三個部分,其原理框圖[3]如圖1所示。DDC的工作原理過程為經過A/D轉換后的數(shù)字高頻信號x(n)進入DDC后,先與數(shù)控振蕩器(NCO)產生的正交本振信號相乘,將數(shù)字高頻信號下變頻至特定頻率。此時,混頻得到的數(shù)據(jù)速率仍然和A/D采集的速率一致,都相對較高,對后級的數(shù)據(jù)傳輸和處理造成很大壓力。因此,混頻后的信號經過積分梳狀(CIC)濾波器和半帶(HB)濾波器進行抽取濾波,將數(shù)據(jù)速率快速下降。最后通過FIR濾波器進行整形濾波,輸出I/Q兩路基帶信號。
圖1 數(shù)字下變頻的原理框圖
根據(jù)某寬帶接收機的功能需求,設計一個模擬中頻輸入為70MHz,采樣頻率為93.33MHz,數(shù)字中頻帶寬最大為20MHz的可配置的數(shù)字下變頻器。在充分考慮DDC時效性和開發(fā)周期的基礎上,數(shù)字下變頻器中的大部分模塊先通過Matlab進行仿真,并從Matlab中獲取相應的參數(shù),再利用這些參數(shù)進行IP核的配置,最后利用Verilog完成DDC的實現(xiàn)。
混頻模塊主要包括數(shù)控振蕩器NCO和乘法器。其中,數(shù)控振蕩器,作為DDC的核心部分,主要用來產生穩(wěn)定的、正交的、頻率可控的正弦和余弦信號,如式(1)所示。
式(1)中,fLO是數(shù)控振蕩器的本地振蕩頻率,fs是ADC的采樣頻率。在FPGA中常用的數(shù)控振蕩器可以采用查表法、DDS和CORDIC等方法。但無論采用哪種方法,都在一定程度上占用了FPGA的ROM資源或者DSP資源,而且提高調試的復雜度。因此,在本文中,提出了一種免混頻方法,其原理是:在滿足采樣定理的前提下,本設計中采樣頻率為93.33MHz,中頻頻率為70MHz。ADC采樣時鐘會將70MHz的中頻信號左右搬移93.33MHz的整數(shù)倍,即產生頻率為(70±93.33N)的鏡像,此時可選擇其中任意一個鏡像信號來完成解調。文中選擇23.33MHz的鏡像信號,即數(shù)控振蕩器NCO產生的23.33MHz的正余弦信號與之相乘。由此可知,以式(1)中的為例,可寫成:
從式(1)、式(2)可以看出,NCO的I路輸出就分別為cos(O)、cos(π/2)、cos(π)、cos(3π/2),即1,0,-1,0四個特殊值,Q路輸出為sin(0)、sin(π/2)、sin(π)、sin(3π/2),即0,1,0,-1四個值。這樣混頻器就可以避免復雜的振蕩器和乘法器,而用簡單的組合邏輯和取反電路即可實現(xiàn),從而極大簡化了硬件電路的實現(xiàn)。實現(xiàn)方法為:先將輸人數(shù)據(jù)流每隔2個求其負數(shù),即取2的補碼,形成一個新的數(shù)據(jù)流,再將新數(shù)據(jù)流每隔一個置0,所得的輸出數(shù)據(jù)流就是下變頻后的基帶I/Q數(shù)據(jù)。FPGA中觀測混頻之后的結果如圖2所示。
級聯(lián)積分梳狀濾波器(Cascade Integrator Comb,CIC),顧名思義是講積分器和梳狀濾波器級聯(lián)而成,其原理結構框圖如圖3所示。從框圖中可以看出,CIC濾波器前半部分是一個積分器,所做加法運算是在x(n)與反饋回路乘1之間。而后半部分是r階的梳狀濾波,所做加法運算是在x(dn)與其前饋回路乘-1所得之間。由于其系數(shù)均為1,運算只需要加法器而無須乘法器,在實際設計時無須對系數(shù)進行存儲,從而在FPGA中實現(xiàn)時節(jié)省了存儲空間和DSP資源。
圖3 CIC濾波器原理結構框圖
CIC濾波器的傳遞函數(shù)[4]為
在抽取系統(tǒng)中,常以N級CIC級聯(lián)使用,其結構如圖4所示。
圖N級級聯(lián)結構圖
N級CIC級聯(lián)后的性能主要由旁瓣抑制AN、阻帶衰減αN、帶內幅值容差δN和帶寬比例因子b等參數(shù)指標決定,它們與級數(shù)N,抽取因子r之間的關系如下:
由上述公式可知,隨著級數(shù)N的增大,濾波器的旁瓣抑制A和阻帶衰減α都增大,同時帶內幅值容差也增大,考慮到通帶性能,通常選取N≤5[5]。在N不變的情況下,帶寬比例因子b越小,CIC濾波器的通帶和阻帶特性也就越好。根據(jù)設計要求,CIC的級數(shù)為3,抽取因子為4~1024可變。在Matlab和FPGA中可得到其幅頻響應如圖5所示。
圖濾波器的幅頻響應
半帶濾波器是一種特殊的FIR濾波器,它的具體兩個顯著的特性。
1)其通帶寬度與阻帶寬度相同,并且它的通帶容限與阻帶容限也相同,也就是說,通帶與阻帶是關于π/4對稱的,這也是半帶濾波器這個名字的由來。
2)半帶濾波器的單位沖擊響應為
式(5)中,N為濾波器的長度,且必須為奇數(shù)。從式(5)中可以看出:除零點外,其他偶數(shù)序號的單位脈沖響應為0,所以半帶濾波器的系數(shù)有一部分是0。因此,在進行卷積運算的時候也就省去了部分乘法運算和加法運算,這就使得半帶濾波器的運行速度大幅度提升,占用的硬件資源大幅度減小。所設計的半帶濾波器的幅頻響應如圖6所示。
圖6 半帶濾波器的幅頻響應
FIR濾波器,顧名思義,其沖擊響應由有限個采樣值構成[12]。在DDC中,HB濾波器后面需要增加一個FIR低通濾波器對數(shù)據(jù)進行整形濾波。由于信號經過CIC抽取之后速率變低,為了減少過渡帶寬,提高濾波器性能,通常通過提高FIR的階數(shù)來實現(xiàn),即增大N。本文是通過Matlab FDATool設計FIR濾波器,并將設計好的FIR系數(shù)量化成定點后導出至FPGA中,可以看出在兩個環(huán)境下的幅頻響應如圖7所示。該濾波器階數(shù)為128,阻帶衰減為80dB,通帶寬度為30MHz。
選用Xilinx公司的7系列XZ7Z100ffg-2作為目標器件,利用Verilog語言,在vivado軟件平臺下進行DDC的實現(xiàn),RTL框圖如圖8所示。
圖7 FIR濾波器的幅頻響應
圖8 DDC的RTL原理圖
系統(tǒng)驗證對頻率為1MHz信號的數(shù)字下變頻,本文設計采用的系統(tǒng)時鐘為93.33MHz,中頻頻率為70MHz,用系統(tǒng)時鐘對中頻信號進行采樣,由帶通采樣定理可知,在23.33MHz處會出現(xiàn)基帶信號的鏡像信號。系統(tǒng)輸入97MHz正弦信號,經過采樣后鏡像信號出現(xiàn)在24.33MHz處,通過混頻和抽取濾波后應該在1MHz的信號不被濾掉。具體做法是利用ILA進行數(shù)據(jù)監(jiān)測,同時保存所監(jiān)測的數(shù)據(jù),最后對所保存的數(shù)據(jù)進行Matlab分析驗證。圖9和圖10分別以數(shù)據(jù)和波形的方式呈現(xiàn)DDC以4倍抽取輸入信號的結果。圖11則以ILA中的有效數(shù)據(jù)進行時域圖和頻譜圖結果。結合圖9、圖10、圖11可以看出,DDC最后輸出的波形就是1MHz正弦信號,與理論分析相吻合。
圖9 DDC調試結果的數(shù)據(jù)顯示
圖10 DDC調試結果的波形顯示
圖11 DDC的數(shù)據(jù)在Matlab中時域圖和頻譜圖
綜上所述,本文設計的DDC對輸入的中頻信號,很好地完成了抽取降速、整形輸出的過程,為后續(xù)的數(shù)據(jù)處理提供可靠的數(shù)據(jù)源。同時DDC的抽取因子是可以靈活配置的,可根據(jù)系統(tǒng)要求進行改變。該設計大部分模塊的實現(xiàn)采用了Xilinx IP核,簡化了設計流程和縮短開發(fā)時間,從最后的結果可以看出本設計是正確可行的,而且已被成功地運用到某便攜式寬帶接受機設備中,對無線電監(jiān)測等設備的研制具有一定的參考意義。