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