基于FPGA的寬帶數(shù)字信道化接收機的設(shè)計
2.3 FPGA應(yīng)用
軟件模塊主要包括數(shù)字信道化過程和后續(xù)數(shù)據(jù)輸出整理兩部分。數(shù)字信道化部分主要由上述數(shù)學(xué)模型構(gòu)建,包括:數(shù)據(jù)抽取、符號轉(zhuǎn)換、多相濾波和IFFT。后續(xù)數(shù)據(jù)處理主要根據(jù)信道化結(jié)果得到頻率和相位信息及對同時到達(dá)三路信號的判斷。FPGA內(nèi)部處理模塊框圖如圖5所示。
圖5 FPGA內(nèi)部處理模塊框圖
2.3.1 數(shù)據(jù)抽取變換
A/D輸出的240 MHz高速采樣差分信號進入FPGA。根據(jù)上述模型,若信道數(shù)K=16,則抽取倍數(shù)M=8,F(xiàn)PGA通過LVDS接口的串并轉(zhuǎn)換實現(xiàn)8倍抽取。設(shè)計采用QuartusⅡ的LNDS模塊完成信號的串并轉(zhuǎn)換,降低信號及時鐘速率。設(shè)計中將模塊設(shè)置成INDS receiver形式,選擇8倍轉(zhuǎn)換因子,可得輸出信號16組以及和A/D的隨路時鐘同步的60 MHz時鐘。用該時鐘作為全局時鐘驅(qū)動后續(xù)所有處理模塊。由于A/D采樣輸出信號為偏移二進制類型,需經(jīng)符號變換模塊后變?yōu)槎M制補碼類型。
2.3.2 多相濾波器的設(shè)計與仿真
多相濾波器組采用具有穩(wěn)定系統(tǒng)、可以實現(xiàn)線性相位的FIR型數(shù)字濾波器。FIR原型濾波器的設(shè)計主要考慮采樣頻率fs、通帶波紋rp、阻帶衰減rs以及過渡帶寬。例如采用fs=960 MHz,rp=0.1 dB,rs=63 dB,過渡帶起始頻率15 MHz,截止頻率30 MHz,得到原型濾波器幅頻特性曲線如圖6所示。該低通原型濾波器的階數(shù)為192階,將原型濾波器分為32相,每相濾波器為6階。由于采用50%交疊的結(jié)構(gòu)需間隔插零,每相濾波器階數(shù)增至12階。設(shè)計使用程序編寫乘法累加運算實現(xiàn)FIR濾波。FIR原型濾波器的系數(shù)通過MATLAB生成導(dǎo)出,量化后寫入FPGA的濾波器程序中。
圖6 原型濾波器幅頻特性曲線
2.3.3 IFFT運算
IFFT運算采用按時間抽選的基-2算法。為了加快信號處理的速度,IFFT模塊采用多級流水線設(shè)計,并且運算模塊利用Quartus的宏產(chǎn)生。例如IFFT運算的核心蝶形運算可由Altmult_complex宏和lpm_add_sub宏實現(xiàn)。每次復(fù)數(shù)乘法會占用4個18x18 DSP乘法器資源,所以單路信道化的IFFT共需占用136個乘法器資源。
2.3.4 信道輸出
因為輸入的是實信號,經(jīng)IFFT得到16個信道的子帶信號。對每個信道采用旋轉(zhuǎn)數(shù)字計算機算法(CORDIC)計算每個信道信號的幅度及瞬時相位。根據(jù)CORDIC輸出的信號幅度判斷信號是否存在以及信號的起始點和結(jié)束點,給出對應(yīng)的包絡(luò)脈沖。同時利用CORDIC輸出相位根據(jù)瞬時相位差法計算頻率。為了提升測頻的準(zhǔn)確度,用脈沖上升沿平穩(wěn)后的連續(xù)4個無模糊的相位差平均值測頻,輸出載頻編碼。用兩通道信號的CORDIC輸出相位測算兩通道信號的相位差,輸出相位差編碼。
為了節(jié)省對外接口資源,最多只輸出三路信號即同時處理三路不同信號,當(dāng)某路信道上出現(xiàn)包絡(luò)脈沖時才將該信道的頻率碼和相位差碼輸出,否則不輸出。16個信道都要進行判斷,確定是否輸出。具體流程如圖7所示,當(dāng)判斷不成立或者語句執(zhí)行結(jié)束時,結(jié)束程序。
圖7 輸出的判斷邏輯流程圖
3 系統(tǒng)硬件仿真與結(jié)果分析
本設(shè)計在EP3SE110F1152C4上完成了兩通道的信道化過程、信號包絡(luò)脈沖輸出及對載頻、相位差信息的編碼輸出。在硬件驗證仿真時,用到了內(nèi)嵌式邏輯分析儀——SignalTapⅡLogic Analyzer。它是一種調(diào)試工具,能捕獲和顯示FPGA中的實時信號特性,通過JTAG接口下載FPGA配置數(shù)據(jù)和上載捕獲的信號數(shù)據(jù),并在計算機中觀察FPGA內(nèi)部節(jié)點信號,使用戶可以在整個設(shè)計工作過程中以系統(tǒng)級的速度觀察硬件和軟件的交互作用。FPGA芯片各項資源消耗情況如表1所示,共占用82%的資源,其中包括SignalTapⅡLogicAnalyzer所占用的資源。
表1 FPGA芯片各項資源消耗情況
A/D的采樣精度直接影響后面的精度,因此首先對A/D進行性能測試。信噪比RSN定義為信號峰值點的功率與去掉零頻以及前五階諧波分量后的所有噪聲的功率比值。信號噪聲失真比SINAD定義為信號峰值點的功率與去掉零頻后的所有諧波及噪聲的功率比值,其值較信噪比小。無雜散動態(tài)范圍SFDR定義為單信號輸入時信號與最大的諧波或雜散的功率比值。
評論