覃榮捷 袁 曉 辛 超 陸大海
(1.四川大學電子信息學院 成都 610064)(2.西南電子電信研究所 上海 200434)
隨著通信技術的發展,軟件無線電技術在軍事和民用上都具有重要作用[1,9]。而寬帶信號接收機就是針對寬帶信號進行信號采集、處理與傳輸的一種基于軟件無線電技術的設備。但是隨著集成芯片的不斷發展,ADC的采樣速率越來越高,這對后續的數據處理、傳輸以及存儲帶來很大的壓力,具有向下變頻、濾波和降低采樣速率等優點的數字下變頻就顯示了其重要作用,同時,它也是軟件無線電技術中的關鍵技術之一。現有的數字下變頻實現方法有通用DDC芯片、專用ASIC和FPGA等。而以FPGA實現的數字下變頻是通過硬件描述來實現,具有靈活可配置、并行處理等特點,常常被作為首選實現方案[2]。本文根據寬帶接收機的功能需求,設計一個針對數字中頻的可靈活配置的DDC方案。
數字下變頻主要包括數控振蕩器NCO、混頻器和濾波三個部分,其原理框圖[3]如圖1所示。DDC的工作原理過程為經過A/D轉換后的數字高頻信號x(n)進入DDC后,先與數控振蕩器(NCO)產生的正交本振信號相乘,將數字高頻信號下變頻至特定頻率。此時,混頻得到的數據速率仍然和A/D采集的速率一致,都相對較高,對后級的數據傳輸和處理造成很大壓力。因此,混頻后的信號經過積分梳狀(CIC)濾波器和半帶(HB)濾波器進行抽取濾波,將數據速率快速下降。最后通過FIR濾波器進行整形濾波,輸出I/Q兩路基帶信號。

圖1 數字下變頻的原理框圖
根據某寬帶接收機的功能需求,設計一個模擬中頻輸入為70MHz,采樣頻率為93.33MHz,數字中頻帶寬最大為20MHz的可配置的數字下變頻器。在充分考慮DDC時效性和開發周期的基礎上,數字下變頻器中的大部分模塊先通過Matlab進行仿真,并從Matlab中獲取相應的參數,再利用這些參數進行IP核的配置,最后利用Verilog完成DDC的實現。
混頻模塊主要包括數控振蕩器NCO和乘法器。其中,數控振蕩器,作為DDC的核心部分,主要用來產生穩定的、正交的、頻率可控的正弦和余弦信號,如式(1)所示。

式(1)中,fLO是數控振蕩器的本地振蕩頻率,fs是ADC的采樣頻率。在FPGA中常用的數控振蕩器可以采用查表法、DDS和CORDIC等方法。但無論采用哪種方法,都在一定程度上占用了FPGA的ROM資源或者DSP資源,而且提高調試的復雜度。因此,在本文中,提出了一種免混頻方法,其原理是:在滿足采樣定理的前提下,本設計中采樣頻率為93.33MHz,中頻頻率為70MHz。ADC采樣時鐘會將70MHz的中頻信號左右搬移93.33MHz的整數倍,即產生頻率為(70±93.33N)的鏡像,此時可選擇其中任意一個鏡像信號來完成解調。文中選擇23.33MHz的鏡像信號,即數控振蕩器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四個值。這樣混頻器就可以避免復雜的振蕩器和乘法器,而用簡單的組合邏輯和取反電路即可實現,從而極大簡化了硬件電路的實現。實現方法為:先將輸人數據流每隔2個求其負數,即取2的補碼,形成一個新的數據流,再將新數據流每隔一個置0,所得的輸出數據流就是下變頻后的基帶I/Q數據。FPGA中觀測混頻之后的結果如圖2所示。
級聯積分梳狀濾波器(Cascade Integrator Comb,CIC),顧名思義是講積分器和梳狀濾波器級聯而成,其原理結構框圖如圖3所示。從框圖中可以看出,CIC濾波器前半部分是一個積分器,所做加法運算是在x(n)與反饋回路乘1之間。而后半部分是r階的梳狀濾波,所做加法運算是在x(dn)與其前饋回路乘-1所得之間。由于其系數均為1,運算只需要加法器而無須乘法器,在實際設計時無須對系數進行存儲,從而在FPGA中實現時節省了存儲空間和DSP資源。

圖3 CIC濾波器原理結構框圖
CIC濾波器的傳遞函數[4]為

在抽取系統中,常以N級CIC級聯使用,其結構如圖4所示。

圖N級級聯結構圖
N級CIC級聯后的性能主要由旁瓣抑制AN、阻帶衰減αN、帶內幅值容差δN和帶寬比例因子b等參數指標決定,它們與級數N,抽取因子r之間的關系如下:

由上述公式可知,隨著級數N的增大,濾波器的旁瓣抑制A和阻帶衰減α都增大,同時帶內幅值容差也增大,考慮到通帶性能,通常選取N≤5[5]。在N不變的情況下,帶寬比例因子b越小,CIC濾波器的通帶和阻帶特性也就越好。根據設計要求,CIC的級數為3,抽取因子為4~1024可變。在Matlab和FPGA中可得到其幅頻響應如圖5所示。

圖濾波器的幅頻響應
半帶濾波器是一種特殊的FIR濾波器,它的具體兩個顯著的特性。
1)其通帶寬度與阻帶寬度相同,并且它的通帶容限與阻帶容限也相同,也就是說,通帶與阻帶是關于π/4對稱的,這也是半帶濾波器這個名字的由來。
2)半帶濾波器的單位沖擊響應為

式(5)中,N為濾波器的長度,且必須為奇數。從式(5)中可以看出:除零點外,其他偶數序號的單位脈沖響應為0,所以半帶濾波器的系數有一部分是0。因此,在進行卷積運算的時候也就省去了部分乘法運算和加法運算,這就使得半帶濾波器的運行速度大幅度提升,占用的硬件資源大幅度減小。所設計的半帶濾波器的幅頻響應如圖6所示。

圖6 半帶濾波器的幅頻響應
FIR濾波器,顧名思義,其沖擊響應由有限個采樣值構成[12]。在DDC中,HB濾波器后面需要增加一個FIR低通濾波器對數據進行整形濾波。由于信號經過CIC抽取之后速率變低,為了減少過渡帶寬,提高濾波器性能,通常通過提高FIR的階數來實現,即增大N。本文是通過Matlab FDATool設計FIR濾波器,并將設計好的FIR系數量化成定點后導出至FPGA中,可以看出在兩個環境下的幅頻響應如圖7所示。該濾波器階數為128,阻帶衰減為80dB,通帶寬度為30MHz。
選用Xilinx公司的7系列XZ7Z100ffg-2作為目標器件,利用Verilog語言,在vivado軟件平臺下進行DDC的實現,RTL框圖如圖8所示。

圖7 FIR濾波器的幅頻響應

圖8 DDC的RTL原理圖
系統驗證對頻率為1MHz信號的數字下變頻,本文設計采用的系統時鐘為93.33MHz,中頻頻率為70MHz,用系統時鐘對中頻信號進行采樣,由帶通采樣定理可知,在23.33MHz處會出現基帶信號的鏡像信號。系統輸入97MHz正弦信號,經過采樣后鏡像信號出現在24.33MHz處,通過混頻和抽取濾波后應該在1MHz的信號不被濾掉。具體做法是利用ILA進行數據監測,同時保存所監測的數據,最后對所保存的數據進行Matlab分析驗證。圖9和圖10分別以數據和波形的方式呈現DDC以4倍抽取輸入信號的結果。圖11則以ILA中的有效數據進行時域圖和頻譜圖結果。結合圖9、圖10、圖11可以看出,DDC最后輸出的波形就是1MHz正弦信號,與理論分析相吻合。

圖9 DDC調試結果的數據顯示

圖10 DDC調試結果的波形顯示

圖11 DDC的數據在Matlab中時域圖和頻譜圖
綜上所述,本文設計的DDC對輸入的中頻信號,很好地完成了抽取降速、整形輸出的過程,為后續的數據處理提供可靠的數據源。同時DDC的抽取因子是可以靈活配置的,可根據系統要求進行改變。該設計大部分模塊的實現采用了Xilinx IP核,簡化了設計流程和縮短開發時間,從最后的結果可以看出本設計是正確可行的,而且已被成功地運用到某便攜式寬帶接受機設備中,對無線電監測等設備的研制具有一定的參考意義。