劉 皓,趙敏薦,候號前
(電子科技大學通信抗干擾技術國家級重點實驗室 成都 611731)
大規(guī)模并行接收機能夠并行接收并解調一定帶寬范圍(宏通道)內,調制在不同載波子信道的大量時域混疊信號,這些時域混疊的信號來自不同的發(fā)送端[1-2]。在諸如傳感網絡等用于大量發(fā)送節(jié)點應用中,多路并行接收機能夠滿足大量發(fā)送節(jié)點的并行處理需求。
本文提出了一種高效的基于FFT的多路并行下變頻算法,借助FFT的高效結構,資源消耗少,且結構簡單易于實現。將該算法應用于DBPSK系統(tǒng)中,實現了上千路DBPSK發(fā)射信號的接收與解調,最終使用Xilinx FPGA完成硬件平臺的搭建和測試,并取得了良好的性能。
傳統(tǒng)的DBPSK接收機由射頻前端接收數字中頻采樣信號,經過DDC模塊完成單載波信道數字下變頻,再由同步模塊完成定時同步和頻偏估計,最終完成解調,系統(tǒng)框圖如圖1所示。
圖1 傳統(tǒng)DBPSK接收機框圖
多路并行DBPSK接收機借助基于FFT的多路并行下變頻算法可以完成上千路子信道的并行下變頻計算,再經由同步和解調處理得到解調結果,從系統(tǒng)資源角度,同步和解調模塊可以復用。其中多路下變頻模塊含:數據整理、加窗、FFT多路分離與下變頻[3-4]、相位補償。多路并行接收機[5-7]的處理流程如圖2所示。
圖2 多路并行DBPSK接收機框圖
假設第k個子信道調制信號載頻為fk,共有C個子信道,信號采樣率為fs,輸入復信號:
滑動點數d由中頻信號采樣率fs,信號波特率b和抽取因子D確定:
重組信號為:
式中,m代表組號;n代表每組數據中的采樣點。該過程可以看作是使用長度為N的矩形滑動窗口對信號進行截斷,并進行D倍抽取。對分組后的數據依次進行離散時間傅里葉變換(discrete time fourier transform, DTFT):
取第i個子信道的DTFT運算結果:
式中,Δfi為第i信道的頻偏;第一項為第i個子信道的有效信號下變頻結果,含信道噪聲;第二項為鄰道干擾。若不考慮鄰道干擾和噪聲,對應第k路的有效信號離散傅里葉變換(discrete fourier transform,DFT)結果為:
DFT的實現可以利用高效的FFT代替。需要進一步抵消相位增量,它來源于兩部分,第一部分由頻偏產生,需要在后續(xù)同步處理時頻偏校正;第二部分由數據整理引入,通過每次FFT結果乘上相應信道的相位增量即可抵消。補償后的結果為:
由此可以得出:通過數據整理,FFT運算和相位補償,可以實現N路時域混疊的不同載波子信道信號的并行下變頻計算,經過上述算法處理之后,即可按照一般接收機的設計完成同步與解調處理[8-9]。相對于傳統(tǒng)下變頻算法資源占用和設計復雜度大大降低。
由于數據整理時域信號的截斷效應,能量泄漏產生鄰道干擾。影響接收機整體的接收性能。通過選擇旁瓣衰減更大的窗函數,對整理后的數據加窗,可以有效地抑制鄰道干擾。假設輸入數字中頻信號整理后為x[n],使用w[n]加窗。則對中頻信號進行整理和DTFT運算可以表示為:
假設子信道帶寬為B,那么信道i對信道k產生的鄰道干擾為:
MATAB仿真4個相鄰子信道發(fā)送信號時對中間信道產生的鄰道干擾,通過對數據整理使用漢明窗,使得中間信道受到的鄰道干擾下降了10 dB。
通過前面的分析,已知加窗可以有效抑制鄰道干擾,假設在加性高斯白噪聲(additive gaussian white noise, AWGN)信道中,不考慮鄰道干擾和頻偏,利用基于FFT下變頻的第i路信號可以表示為:
第i信道的頻域噪聲功率為:
式中,σ2為基帶信號的噪聲功率;N0/2為噪聲雙邊功率譜。可以得到:
且對于二進制相移鍵控(binary phase shift keying, BPSK)調制復信號有:
Ni仍然服從高斯分布,其方差為Nσ2。依據二進制脈沖幅度調制(binary pulse amplitude modulation,2PAM)的最小平均誤碼率有[10]:
式中,Eb0為基帶平均碼元能量;Eb為載波調制后的平均碼元能量;N0噪聲功率。已知采用匹配濾波器的相干解調接收方法,BPSK理想誤碼性能為:
由于DBPSK調制采用差分解碼,因此相較于BPSK調制,其誤碼率性能下降約3 dB。
由式(15)看到,與傳統(tǒng)的BPSK接收機解調性能相比,基于FFT的并行多路接收算法可以通過選取合適的FFT點數N,達到與傳統(tǒng)BPSK接收機相同的誤碼性能,但實際應用中存在的臨道干擾會影響解調性能。
為了比較基于FFT的并行多路接收算法與傳統(tǒng)接收機的性能差異,本文進行仿真。
圖3 基于FFT的多路DBPSK接收機誤碼性能
考慮發(fā)射端發(fā)送信號為DBPSK調制信號,數據波特率100 b/s,采用滾降因子為0.25的升余弦成型濾波器,基帶子信道信號帶寬125 Hz,相鄰信道載頻間隔為200 Hz,子信道間隔B=200 Hz,接收機為中頻采樣率的DBPSK多路并行接收系統(tǒng),發(fā)射機在第500子信道(即載波頻率1 kHz)上發(fā)送的信號,接收機設置FFT點數N=2 048。得出該系統(tǒng)參數下的解調性能,第500子信道的Matlab誤碼率曲線如圖3所示。
仿真比較了傳統(tǒng)DBPSK接收機的理想誤碼性能與基于FFT多信道DBPSK接收機的誤碼性能,可以看到相同誤碼率下傳統(tǒng)接收機的信噪比與新算法相差1 dB,這是由于領道干擾和信號截斷導致的能量泄漏引起的。仿真驗證了基于FFT多信道DBPSK接收機[11-12]具有良好的解調性能。
依據前文所述原理,完成了原型樣機的硬件實現?;贔FT并行多路接收機的硬件實現方案采用了ADI公司的捷變收發(fā)器AD9361,借助其接收器功能,完成射頻信號接收和模數轉換。使用Xilinx公司的Kintex-7 FPGA KC705評估套件完成基帶信號處理;采用基于微處理器(Microblaze)嵌入式架構實現配套的軟件處理算法。
AD9361接收時域混疊的射頻信號,轉換為中頻數字信號并傳輸到FFT并行下變頻處理模塊;經過FFT下變頻處理后得到各子信道的基帶數據,然后對各個子信道數據進行有效幀檢測,提取有效幀信息;Microblaze啟動直接內存訪問(direct memory access, DMA)將完成有效幀檢測的各路子信道數據存入雙倍速率同步動態(tài)隨機存儲器(double date rate synchronous dynamic random access memory, DDR SDRAM)中;軟件算法將子信道中的有效幀提取出來,利用DMA發(fā)送給同步模塊以完成同步和解調;解調完成后進行循環(huán)冗余校驗(cyclic redundancy check, CRC),Microblaze通過AXI4總線讀取解調數據,并利用用戶數據報協(xié)議(user datagram protocol,UDP)發(fā)送至網絡終端。
XC7K325T FPGA資源消耗如表1所示。
表1 設計資源消耗
樣機能夠完成上千路子信道信息的接收解調,系統(tǒng)參數同3.2節(jié)仿真參數。表2給出FPGA實現接收機的靈敏度測試結果,實現接收機接收靈敏度低于?132 dBm。
表2 FPGA實現接收機靈敏度測試
本文提出了一種基于FFT的并行多路下變頻新型算法,給出了分析和仿真結果,驗證了算法的有效性。將該算法應用于DBPSK多路并行接收機設計中,得到了良好的性能。最后給出了基于AD9361和Xilinx FPGA的實現方案,驗證了算法的可實現性和良好性能。該方法充分利用了FFT的高效實現,相對于傳統(tǒng)的并行下變頻算法具有資源利用率高、實現復雜度低的特點,且解調性能與傳統(tǒng)DBPSK接收機性能僅相差1 dB,可以適用于大量終端節(jié)點并行通信的應用需求。