胡前鳳,孫健興,馮雙雙,徐國(guó)稼
(武漢中原電子集團(tuán)有限公司,湖北 武漢 430205)
短波通信是指利用波長(zhǎng)在100~10 m(頻率為2~30 MHz)的電磁波進(jìn)行的無(wú)線電通信。實(shí)際上,通常把中波的高頻段(1.2~3 MHz)也歸到短波波段中,所以現(xiàn)在許多研究把短波通信波段范圍擴(kuò)展到了1.5~30 MHz,并將其稱為高頻通信[1]。短波通信主要依靠電離層反射(天波)來(lái)傳播,憑借其通信距離遠(yuǎn)、成本低、抗毀壞性好、不依賴第三方資源等特點(diǎn),被廣泛應(yīng)用于軍事和民用通信[2,3]。
短波通信已經(jīng)進(jìn)入全新的數(shù)字時(shí)代,它的潛力在不斷被挖掘,應(yīng)用范圍也在不斷擴(kuò)展。短波通信的工作帶寬受限,一般3 kHz 是一個(gè)信道帶寬,為了使用短波實(shí)現(xiàn)靈活的帶寬傳輸,本文使用xc7z045 芯片完成了16 路并行發(fā)送和接收機(jī)的短波數(shù)字通信系統(tǒng),可以靈活配置發(fā)送帶寬,同時(shí)通過(guò)多路復(fù)用技術(shù)使接收機(jī)性能得到進(jìn)一步的提升。
本文首先介紹單路短波數(shù)字通信系統(tǒng)的傳輸原理,其次描述多路復(fù)用技術(shù)提升系統(tǒng)性能的算法研究,最后詳細(xì)分析了多路并行收發(fā)技術(shù)在現(xiàn)場(chǎng)可編程門(mén)陣列(Field Programmable Gate Array,F(xiàn)PGA)上的實(shí)現(xiàn)及資源優(yōu)化。此外,通過(guò)MATLAB 搭建系統(tǒng)仿真平臺(tái),評(píng)估在3 kHz 帶寬下,系統(tǒng)頻偏對(duì)系統(tǒng)性能的影響,并通過(guò)在FPGA 上實(shí)現(xiàn)的特點(diǎn),利用高系統(tǒng)時(shí)鐘的優(yōu)勢(shì)完成精確的頻偏估計(jì),結(jié)果顯示,本文方法不僅有效提高了系統(tǒng)接收機(jī)性能,而且可以進(jìn)行FPGA 資源復(fù)用。
本文介紹單載波調(diào)制解調(diào)技術(shù)[4],以及短波調(diào)制解調(diào)器系統(tǒng)在FPGA 上的實(shí)現(xiàn)過(guò)程。短波單路調(diào)制解調(diào)器的FPGA 實(shí)現(xiàn)如圖1 所示。
圖1 單路數(shù)字調(diào)制解調(diào)實(shí)現(xiàn)
在短波的工作頻段范圍內(nèi),一般它的工作帶寬 在3 kHz、6 kHz、9 kHz 或12 kHz,本文實(shí)現(xiàn)以3 kHz 為基礎(chǔ),根據(jù)單路數(shù)字調(diào)制解調(diào)實(shí)現(xiàn)框圖[5],首先需要對(duì)信源添加循環(huán)冗余校驗(yàn)(Cyclic Redundancy Check,CRC)并進(jìn)行信道編碼。
CRC 即Cyclic Redundancy Check,是數(shù)字通信系統(tǒng)中常用的一種循環(huán)冗余校驗(yàn)碼,它具有信息段和校驗(yàn)字段的長(zhǎng)度可以任意選定的特點(diǎn),CRC 碼由兩部分組成,前部分是信息碼,后部分是校驗(yàn)碼。在產(chǎn)生CRC 校驗(yàn)碼時(shí),首先確定校驗(yàn)碼的生成多項(xiàng)式,本文以多項(xiàng)式為x16+x12+x5+1 的CRC 碼來(lái)介紹CRC 編碼的FPGA 實(shí)現(xiàn),具體實(shí)現(xiàn)如圖2所示。其中crc_in 表示信息碼的輸入,d1~d16 表示編碼過(guò)程中的寄存器更新及存儲(chǔ)過(guò)程。此外,寄存器都進(jìn)行模2 加運(yùn)算,crc_out 為編碼后的信息段和校驗(yàn)段的輸出,即CRC 編碼輸出。
圖2 CRC 編碼原理
目前信道編譯碼技術(shù)[6]在通信系統(tǒng)的運(yùn)用已經(jīng)非常成熟,例如目前的BCH、RS、Turbo、低密度校驗(yàn)碼(Low Density Parity Check,LDPC)等編譯碼技術(shù),都被普遍應(yīng)用于通信系統(tǒng)的傳輸,用以糾正在信道傳輸過(guò)程中引入的錯(cuò)誤,從而保障在接收端無(wú)誤碼地正確接收信息。本文主要介紹Turbo 碼。
Turbo 編碼具有類(lèi)隨機(jī)碼的特性,同時(shí)具有足夠的結(jié)構(gòu)信息,這使得其能夠使用一種高效的迭代譯碼方法進(jìn)行譯碼。Turbo 編碼器結(jié)構(gòu)如圖3 所示。
圖3 Turbo 編碼器結(jié)構(gòu)
在接收端使用Viterbi 譯碼算法對(duì)經(jīng)過(guò)信道均衡解映射后的信息進(jìn)行信道譯碼,獲得糾錯(cuò)后的比特信息,再送入CRC 校驗(yàn),CRC 校驗(yàn)?zāi)芙o出信息正確的有效指示,完成整體鏈路的順利傳輸。
調(diào)制是發(fā)送端的比特序列到符號(hào)的映射。解調(diào)是接收端的符號(hào)到比特的逆過(guò)程。具體映射根據(jù)需要進(jìn)行星座圖映射,主要包括BPSK、QPSK 等正交映射,星座圖映射方式如下:
(1)BPSK:比特1 映射到星座圖-1,比特0映射到星座圖1 的位置。
(2)QPSK 正交映射如表1 所示。
表1 QPSK 映射
通過(guò)在發(fā)送端需要傳輸?shù)男畔⑿蛄星昂托畔⒅虚g插入已知序列,利用這些已知序列接收端進(jìn)行同步捕獲、載波頻偏信息提取以及信道信息提取,這些都是接收端有效解調(diào)的必要條件。組幀就是將加入的已知序列與需要傳輸?shù)男畔⒁黄鸾M成幀結(jié)構(gòu)發(fā)送。
短波通信系統(tǒng)帶寬受限,一般以3 kHz 為一個(gè)信道帶寬,若使用FPGA 高速芯片完成3 kHz 帶寬的信息發(fā)送,則需要在發(fā)送和接收端使用級(jí)聯(lián)濾波器進(jìn)行插值和抽取[7],插值和抽取使得低速率有限帶寬的信息能匹配到高系統(tǒng)時(shí)鐘上傳輸。
發(fā)射機(jī)級(jí)聯(lián)濾波器插值過(guò)程:首先低速率基帶正交信號(hào)經(jīng)過(guò)4倍內(nèi)插后送入根升余弦(Root-Raised Cosine,RRC)濾波器進(jìn)行第一級(jí)濾波;其次經(jīng)過(guò)多級(jí)2D 倍內(nèi)插和有限脈沖響應(yīng)(Finite Impulse Response,F(xiàn)IR)低通濾波器,將低速率信號(hào)進(jìn)行提速;最后通過(guò)級(jí)聯(lián)積分梳狀(Cascaded Integrator Comb,CIC)濾波器將數(shù)據(jù)提高到可以在高速芯片上處理的高速率處理信號(hào)。處理流程如圖4 所示。
圖4 上行多率信號(hào)處理
接收機(jī)級(jí)聯(lián)濾波器抽取過(guò)程:抽取過(guò)程是插值過(guò)程的逆操作,首先通過(guò)積分梳狀濾波器進(jìn)行降速;其次通過(guò)多級(jí)有限脈沖響應(yīng)低通濾波器進(jìn)行下采樣抽??;最后經(jīng)過(guò)匹配根升余弦濾波器后對(duì)數(shù)據(jù)進(jìn)行4 倍抽取,獲得最佳采樣的單倍基帶信號(hào)。相比于發(fā)送端的內(nèi)插過(guò)程,抽取是一個(gè)降速處理過(guò)程,處理流程如圖5 所示。
圖5 下行多率信號(hào)處理
基帶正交信號(hào)的內(nèi)插和抽取過(guò)程是一個(gè)逆變換過(guò)程,其主要完成多率信號(hào)的處理過(guò)程。要實(shí)現(xiàn)取樣率變換(抽取與內(nèi)插),關(guān)鍵是要實(shí)現(xiàn)抽取前或內(nèi)插后的數(shù)字濾波。對(duì)于基帶抽取和內(nèi)插,濾波器均為低通數(shù)字濾波器,都需要設(shè)計(jì)滿足抽取或內(nèi)插抗混疊要求的數(shù)字濾波器,濾波器的性能好壞直接影響取樣變換的效果及實(shí)時(shí)處理能力。
發(fā)送端上變頻主要是將經(jīng)過(guò)多率信號(hào)處理后的信號(hào),經(jīng)過(guò)數(shù)字變頻處理搬移到1.5~30 MHz 的短波頻段,然后通過(guò)模擬數(shù)字轉(zhuǎn)換器(Analog-to-Digital Converter,ADC)發(fā)送輸出[8]。接收端則是一個(gè)逆變換的過(guò)程,將接收到的短波頻段信號(hào)經(jīng)過(guò)數(shù)字處理,完成信號(hào)到0 頻的數(shù)字信號(hào)。數(shù)字上變頻,是在發(fā)送端使用正弦(sin(wn))和余弦(cos(wn))分別與數(shù)字信號(hào)正交分量I(n)和Q(n)進(jìn)行相乘,將0 頻信號(hào)進(jìn)行頻譜搬移,再送入數(shù)字模擬轉(zhuǎn)換器(Digital-to-Analog Converter,DAC)將數(shù)據(jù)發(fā)送到信道上進(jìn)行傳輸。數(shù)字上下變頻如圖6 所示。
圖6 數(shù)字上下變頻
在通信系統(tǒng)中,接收端同步技術(shù)、信道估計(jì)及均衡以及信道譯碼等都是通信系統(tǒng)中的關(guān)鍵技術(shù),它們的性能直接關(guān)系系統(tǒng)的解調(diào)性能。針對(duì)短波數(shù)字通信傳輸要求,這里重點(diǎn)對(duì)同步和載波同步技術(shù)進(jìn)行分析說(shuō)明。
在通信系統(tǒng)中,特別是針對(duì)突發(fā)通信系統(tǒng)而言,系統(tǒng)幀同步是第一個(gè)需要完成的同步,且同步的精確性影響整個(gè)系統(tǒng)的傳輸質(zhì)量。本文通過(guò)在發(fā)送端幀頭添加相應(yīng)長(zhǎng)度的偽噪聲序列(Pseudo-Noise Code,PN)偽隨機(jī)序列,在接收端使用相同的PN序列進(jìn)行相關(guān)運(yùn)算獲取幀同步,相關(guān)運(yùn)算如下:
式中:j從1到L按步進(jìn)1依次增長(zhǎng);rpn+j表示接收端收到的L個(gè)信息中第i個(gè)信息;rp′n+j+A表示本地PN 序列中第i個(gè)取共軛;L為相關(guān)累加序列的長(zhǎng)度即PN 序列的長(zhǎng)度;Cn表示接收信息與本地L長(zhǎng)共軛序列的相關(guān)累加值,當(dāng)接收序列與本地PN 序列完全對(duì)齊時(shí)A值為0,Cn值達(dá)到最大。
通過(guò)將接收端使用PN 序列的整數(shù)倍與接收端接收的數(shù)據(jù)的共軛進(jìn)行相關(guān),獲取L長(zhǎng)相關(guān)值Cn。
接收延時(shí)信號(hào)的能量Pn為:
判斷相關(guān)序列運(yùn)算能量Cn與接收延時(shí)信號(hào)能量Pn的比值,在PN 到達(dá)后,比值達(dá)到最大,其他時(shí)刻接近于0。圖7 展示了PN 序列的相關(guān)特性,如圖所示,在PN 到達(dá)時(shí)刻比值達(dá)到峰值,由此判斷幀同步。
圖7 PN 序列相關(guān)特性
在短波通信系統(tǒng)中,接收端載波同步對(duì)系統(tǒng)性能也有較大影響[9],通過(guò)MATLAB 仿真分析,對(duì)于一個(gè)3 kHz 帶寬的通信系統(tǒng),接收端頻偏超過(guò)1 Hz對(duì)通信系統(tǒng)的接收解調(diào)都存在影響,因此在短波通信系統(tǒng)中,頻偏估計(jì)的準(zhǔn)確性也是關(guān)系通信系統(tǒng)的解調(diào)性能的決定性因素。
本文使用了兩次頻偏估計(jì)及補(bǔ)償:第一次粗頻偏估計(jì)及補(bǔ)償,把頻偏鎖定在2 Hz 內(nèi),且能捕獲-30~30 Hz 范圍內(nèi)的頻偏;第二次細(xì)頻偏估計(jì)及補(bǔ)償,能夠把頻偏估計(jì)鎖定在-0.2~0.2 Hz 內(nèi),這樣既能保證頻偏估計(jì)的范圍滿足系統(tǒng)設(shè)計(jì)需求,又能夠保證頻偏估計(jì)的精確性,確保系統(tǒng)的解調(diào)性能。通過(guò)仿真分析,在信噪比大于-8 dB 時(shí),兩次頻偏估計(jì)性能可以獲得預(yù)期效果。
多路并行系統(tǒng)相對(duì)單路系統(tǒng)而言,關(guān)鍵技術(shù)點(diǎn)基本一致,但是通過(guò)多路并行發(fā)送一致的信息,在接收端進(jìn)行信息合并可以提高系統(tǒng)接收性能,其次在短波通信中受帶寬使用限制,可以通過(guò)并行使用不同頻率資源,提高系統(tǒng)的傳輸帶寬。當(dāng)然多路并行短波系統(tǒng)相對(duì)單路系統(tǒng)有其自身的優(yōu)越性,但是在使用FPGA 實(shí)現(xiàn)[10]過(guò)程中,多路并行系統(tǒng)很多資源相對(duì)于單路系統(tǒng)資源都是成倍增長(zhǎng)的。針對(duì)資源的成倍增長(zhǎng),本文詳述了多路并行系統(tǒng)FPGA 資源優(yōu)化方案,通過(guò)對(duì)系統(tǒng)關(guān)鍵模塊的優(yōu)化,使用xc7z045 芯片完成了頻譜感知和16 路并行短波通信系統(tǒng)與收發(fā)機(jī)的FPGA 設(shè)計(jì)實(shí)現(xiàn),且設(shè)計(jì)實(shí)現(xiàn)性能和功能均滿足設(shè)計(jì)需求。16 路短波并行收發(fā)系統(tǒng)實(shí)現(xiàn)如圖8 所示。
圖8 多路數(shù)字調(diào)制解調(diào)FPGA 實(shí)現(xiàn)
不同頻偏下系統(tǒng)仿真性能如圖9 所示。由圖可知,1 Hz 以內(nèi)的頻偏估計(jì)對(duì)系統(tǒng)性能影響不大,但是3 Hz 的頻偏會(huì)導(dǎo)致系統(tǒng)有1.5 dB 的性能損失,因此為了最大限度地達(dá)到系統(tǒng)最佳性能,必須控制本文的頻偏估計(jì)精度。本文中詳述的兩次頻偏估計(jì)方案,既能保證頻偏估計(jì)的范圍和精度,又能確保FPGA 資源的可實(shí)現(xiàn)性。
圖9 頻偏對(duì)系統(tǒng)性能影響曲線
本節(jié)主要討論單路收發(fā)系統(tǒng)與多路收發(fā)系統(tǒng)的資源差異,并通過(guò)實(shí)踐完成單路收發(fā)FPGA 系統(tǒng)與多路并行收發(fā)資源的對(duì)比。
由于系統(tǒng)時(shí)鐘遠(yuǎn)大于基帶速率,基帶發(fā)送和接收尤其是編譯碼模塊均使用串行處理。相對(duì)于單路系統(tǒng),多路系統(tǒng)的收發(fā)基帶部分只是增加了查找表(Look Up Table,LUT)和塊存儲(chǔ)器(Block Random Access Memory,BRAM)資源,主要的編譯碼核均與單路一樣。此外,中頻濾波器采用級(jí)聯(lián)多通道,相比于單路級(jí)聯(lián)單通道,也只是增加部分BRAM 資源。單路收發(fā)系統(tǒng)與多路收發(fā)系統(tǒng),資源差異最大的方面在于上下變頻和接收端并行的多路相關(guān)器,但是由于系統(tǒng)時(shí)鐘遠(yuǎn)大于符號(hào)時(shí)鐘,接收端并行的多路相關(guān)器資源相對(duì)會(huì)很小,在完成接收端并行同步后,所有數(shù)據(jù)存儲(chǔ)及接收端的均衡和譯碼都是串行處理,與單路系統(tǒng)資源差異不大,其中主要差異在于上下變頻中使用的直接數(shù)字頻率合成技術(shù)(Direct Digital Frequency Synthesis,DDS)處理資源和CIC 資源。
短波波形基帶符號(hào)速率在3 kHz 左右,通過(guò)仿真分析頻偏在1 Hz 范圍內(nèi),頻偏對(duì)系統(tǒng)性能影響較小,而超過(guò)了1 Hz 對(duì)系統(tǒng)的解調(diào)性能會(huì)存在影響。針對(duì)頻偏估計(jì)的范圍及精度,本文提出一種粗頻偏和細(xì)頻偏資源共享,并利用系統(tǒng)時(shí)鐘與基帶時(shí)鐘的比值來(lái)實(shí)現(xiàn)頻偏估計(jì)在(-30~30 Hz)的估計(jì)范圍,同時(shí)能夠達(dá)到-0.2~0.2 Hz 的頻偏精度需求。接下來(lái)主要分析頻偏估計(jì)的算法及FPGA 實(shí)現(xiàn)。
第一次粗頻偏估計(jì):接收端基帶符號(hào)速率是3 kHz,系統(tǒng)時(shí)鐘使用73.728 MHz,那么系統(tǒng)處理時(shí)鐘是基帶符號(hào)速率的24 576 倍。對(duì)于接收端基帶256點(diǎn)長(zhǎng)度的PN 序列,在實(shí)現(xiàn)過(guò)程中完成256 點(diǎn)PN序列相關(guān)及不同頻偏的相關(guān)累加,實(shí)際需要263個(gè)系統(tǒng)時(shí)鐘,那么一個(gè)基帶符號(hào)速率可以完成245 76/264=93 次頻偏估計(jì)。在一個(gè)3 kHz 時(shí)鐘內(nèi)可以計(jì)算93 次256 點(diǎn)的相關(guān)累加運(yùn)算,對(duì)于-30~30 Hz 的頻偏范圍的頻偏估計(jì),以2 Hz 為步進(jìn),正負(fù)對(duì)稱,一個(gè)時(shí)鐘內(nèi)17 個(gè)頻點(diǎn)的帶頻偏的相關(guān)值在一個(gè)基帶符號(hào)時(shí)鐘內(nèi)就可以完成,通過(guò)最大相關(guān)值的選取即可以完成同步搜索,同時(shí)完成粗頻偏估計(jì),并把估計(jì)范圍鎖定在2 Hz 的范圍內(nèi),有助于進(jìn)一步的細(xì)頻偏估計(jì)。
完成第一頻偏估計(jì),頻偏范圍基本可以鎖定在-3~3 Hz,同時(shí)使用粗頻偏估計(jì)的原理,再次以0.2 Hz 為步進(jìn),1 個(gè)時(shí)鐘內(nèi)可以完成-3~3 Hz或0.2 Hz 步進(jìn)的頻偏估計(jì)。由于粗頻偏估計(jì)完成,且細(xì)頻偏估計(jì)與粗頻偏估計(jì)算法一致,這部分FPGA 資源可以共享,對(duì)于16 路并行接收,頻偏估計(jì)資源可以降低一半。頻率探測(cè)及16 路并行FPGA資源消耗如圖10 所示。
圖10 頻率探測(cè)及16 路并行FPGA 資源消耗
單路收發(fā)系統(tǒng)與16 路并行收發(fā)系統(tǒng)主要資源差異如表2 所示。
表2 單路與多路FPGA 主要資源對(duì)比
本文主要基于多通道并行短波收發(fā)系統(tǒng)進(jìn)行相關(guān)技術(shù)點(diǎn)分析,并結(jié)合實(shí)際FPGA 芯片實(shí)現(xiàn),完成了多路并行短波收發(fā)通信系統(tǒng)在FPGA 的實(shí)現(xiàn)優(yōu)化方案,保證了頻率探測(cè)與16 路并行收發(fā)系統(tǒng)在FPGA 的實(shí)現(xiàn)可行性,同時(shí)保證了系統(tǒng)設(shè)計(jì)滿足實(shí)際短波波形設(shè)計(jì)性能,并對(duì)于多通道多頻率短波收發(fā)系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)做了詳細(xì)闡述。