摘 要: 結(jié)合軟件無(wú)線電思想和架構(gòu),利用Altera EP3C16F484C6作為中頻信號(hào)處理器,設(shè)計(jì)了一種基于統(tǒng)一硬件架構(gòu)的數(shù)字化高速寬帶跳頻發(fā)射機(jī),實(shí)現(xiàn)跳頻速率125 kHops/s,跳頻帶寬320 MHz。
關(guān)鍵詞: 跳頻發(fā)射機(jī);軟件無(wú)線電;MSK;數(shù)字上變頻;并串轉(zhuǎn)換;FPGA
跳頻通信是在惡劣的電磁環(huán)境中保證正常通信的重要手段。提高跳頻通信系統(tǒng)的跳頻速率和跳頻帶寬是提高跳頻通信系統(tǒng)抗干擾能力的主要手段[1]。
傳統(tǒng)跳頻發(fā)射機(jī)通過(guò)模擬本振的跳變或切換實(shí)現(xiàn)跳頻功能。跳頻速率受模擬本振頻率切換速率的影響,且外圍電路較復(fù)雜、靈活性較差。本文根據(jù)軟件無(wú)線電的設(shè)計(jì)思想,利用FPGA的并行處理能力、高速IO接口和高速DA轉(zhuǎn)換器,將基帶調(diào)制、數(shù)字上變頻及跳頻控制用數(shù)字化的形式在FPGA內(nèi)部實(shí)現(xiàn),只需改變FPGA內(nèi)部數(shù)控振蕩器的輸出頻率就可以實(shí)現(xiàn)高速寬帶跳頻。避免了模擬本振的高速跳變,提高了跳頻速率,簡(jiǎn)化了系統(tǒng)硬件結(jié)構(gòu),同時(shí)增強(qiáng)了系統(tǒng)的靈活性。
1 方案設(shè)計(jì)
本方案采用EP3C16F484C6作為跳頻發(fā)射機(jī)的中頻信號(hào)處理器,其處理能力最高可達(dá)每秒幾十吉次乘累加運(yùn)算,并且具有840 Mb/s的高速LVDS接口。DA轉(zhuǎn)換器采用AD9736,具有14 bit精度、1.2 GS/s轉(zhuǎn)換速率。該高速寬帶跳頻發(fā)射機(jī)具有高度靈活性,其中跳頻圖案、跳頻數(shù)、跳時(shí)以及發(fā)送消息等參數(shù)由DSP實(shí)時(shí)生成,并對(duì)FPGA進(jìn)行配置。系統(tǒng)的跳頻實(shí)現(xiàn)部分在FPGA內(nèi)部完成。整體結(jié)構(gòu)如圖1所示。
2 FPGA設(shè)計(jì)與實(shí)現(xiàn)
2.1 存儲(chǔ)器設(shè)計(jì)
FPGA內(nèi)部存儲(chǔ)器用于與DSP進(jìn)行數(shù)據(jù)交互。存儲(chǔ)器分為:發(fā)送消息存儲(chǔ)區(qū),發(fā)送頻率控制字存儲(chǔ)區(qū),跳時(shí)寄存器,跳頻數(shù)寄存器。地址分配如表1所示。
2.2 MSK調(diào)制
軟件無(wú)線電調(diào)制技術(shù)要求能夠在通用的數(shù)字信號(hào)處理平臺(tái)上實(shí)現(xiàn)多種不同體制的調(diào)制方法。正交調(diào)制是軟件無(wú)線電平臺(tái)中一種通用的調(diào)制方法。正交調(diào)制一般可以用式(1)表示:
其中XBI和XBQ為基帶信號(hào)的同相分量和正交分量,它們是由調(diào)制方式?jīng)Q定的;?棕c為載波的角頻率。根據(jù)上式(1),可以得出正交調(diào)制的實(shí)現(xiàn)結(jié)構(gòu)如圖2所示。
基帶調(diào)制根據(jù)不同的調(diào)制方式選擇不同的方法。成形濾波用來(lái)抑制頻譜的旁瓣,以達(dá)到特定的頻譜帶寬要求。插值用來(lái)進(jìn)行采樣率變換,使得數(shù)據(jù)速率與NCO輸出數(shù)據(jù)速率相同,然后進(jìn)行載波調(diào)制。最后取IQ兩路復(fù)信號(hào)的實(shí)部輸出即得中頻已調(diào)信號(hào)。
本系統(tǒng)基帶調(diào)制采用最小頻移鍵控,即MSK調(diào)制,輸入碼元速率5 Mb/s。由于FPGA處理能力較強(qiáng),基帶處理可以選擇較高的數(shù)據(jù)速率,從而降低數(shù)字上變頻的復(fù)雜度,但同時(shí)會(huì)增加基帶成形濾波器設(shè)計(jì)的復(fù)雜度。折中考慮,本系統(tǒng)選擇基帶數(shù)據(jù)速率為25 MB/s。
成形濾波器采用最優(yōu)化設(shè)計(jì)中的等波紋法設(shè)計(jì),設(shè)計(jì)指標(biāo)如下:采樣率25 MHz,通帶截止頻率3.75 MHz,阻帶截止頻率5 MHz。通帶紋波0.2 dB,阻帶衰減80 dB。利用FDATool工具進(jìn)行濾波器的設(shè)計(jì),系數(shù)量化為定點(diǎn)16 bit,阻帶衰減可以達(dá)到75 dB以上。
2.3 數(shù)字上變頻
2.3.1 內(nèi)插
完成基帶調(diào)制和成形濾波后,F(xiàn)PGA內(nèi)部數(shù)據(jù)速率為25 MS/s,需要進(jìn)行數(shù)字上變頻,使數(shù)據(jù)速率達(dá)到800 MS/s,然后通過(guò)LVDS接口連接AD9736。由25 MS/s到800 MS/s需要進(jìn)行32倍內(nèi)插,如果用一次內(nèi)插實(shí)現(xiàn),需要插值濾波器具有很高的階數(shù),其計(jì)算量和存儲(chǔ)空間都比較大。在這種情況下,一般采用多級(jí)內(nèi)插,多級(jí)實(shí)現(xiàn)的主要優(yōu)點(diǎn)是[2]:
(1)大大減少計(jì)算量和存儲(chǔ)量。
(2)簡(jiǎn)化濾波器的設(shè)計(jì)。
(3)降低實(shí)現(xiàn)濾波器時(shí)的有限字長(zhǎng)的影響。
多級(jí)內(nèi)插的缺點(diǎn)是增加控制程序的復(fù)雜程度,所以并不是分級(jí)越多越好,在設(shè)計(jì)時(shí)應(yīng)折中考慮。這里將插值分為4級(jí),分別為2倍、2倍、2倍、4倍。插值中抗鏡像濾波器的設(shè)計(jì),需考慮性能和資源占用的折中,利用MATLAB仿真確定各級(jí)濾波器的階數(shù)和系數(shù)位寬。
經(jīng)過(guò)三級(jí)2倍內(nèi)插后,F(xiàn)PGA內(nèi)部數(shù)據(jù)速率達(dá)到200 MS/s,基本已經(jīng)達(dá)到了Cyclone III內(nèi)部處理能力的極限,最后一級(jí)需要利用多相結(jié)構(gòu),完成串并轉(zhuǎn)換,輸入200 MS/s數(shù)據(jù)速率,4倍內(nèi)插后,輸出四路,各路均為200 MS/s數(shù)據(jù)速率。下面以4倍內(nèi)插、8階低通濾波器來(lái)說(shuō)明多相濾波器的原理。
由于在內(nèi)插的過(guò)程中插入的0值與系數(shù)相乘是沒(méi)有意義的,所以對(duì)于4倍內(nèi)插、8階低通濾波器來(lái)說(shuō)每次濾波只需要2次乘法。這樣就將乘法的運(yùn)算量降低為原來(lái)的1/4。濾波器每次輸入一個(gè)新的數(shù)據(jù),就用4個(gè)2階子濾波器分別計(jì)算一次,然后以4倍的輸入速率順序輸出。所以,可以用4個(gè)子濾波器組成的濾波器組實(shí)現(xiàn)多相插值濾波。
2.3.2 并行數(shù)控振蕩器
完成插值后,數(shù)據(jù)速率達(dá)到并行4路,每路各200 MS/s。然后進(jìn)行載波調(diào)制。最后,利用LVDS模塊進(jìn)行并串轉(zhuǎn)換,實(shí)現(xiàn)800 MS/s MSK調(diào)制輸出。由于FPGA內(nèi)部處理能力的限制,用于載波調(diào)制的NCO需要設(shè)計(jì)為并行結(jié)構(gòu)。載波調(diào)制的實(shí)現(xiàn)框圖如圖3所示。
為了保證NCO輸出波形具有較高的雜散抑制比,同時(shí)占用較少資源,系統(tǒng)NCO設(shè)計(jì)采用插值法。插值法是指利用相位累加器的高位進(jìn)行查表,用相位累加器的低位進(jìn)行插值運(yùn)算,這樣使用相位累加器的有效位數(shù)較多,保證相位舍位噪聲較小,同時(shí)也降低了存儲(chǔ)器的大小。最簡(jiǎn)單且有效的插值法為一次線性插值,計(jì)算公式如下[3]:
本設(shè)計(jì)中相位累加器的有效位數(shù)26 bit。如果采用查表法,則需要226×14 bit的存儲(chǔ)器,插值法占用存儲(chǔ)器大小29×14 bit,大大節(jié)約了存儲(chǔ)器資源。
本設(shè)計(jì)要求NCO輸出數(shù)據(jù)速率為800 MS/s,采用4路并行設(shè)計(jì),每一路輸出數(shù)據(jù)速率均為200 MS/s,需要4個(gè)NCO模塊。每個(gè)子NCO模塊的頻率控制字是對(duì)于整體800 MS/s數(shù)據(jù)速率NCO頻率控制字的4倍,且每個(gè)子NCO的初始相位相差一個(gè)整體NCO的頻率控制字。例如,要產(chǎn)生200 MHz的正弦和余弦信號(hào)。計(jì)算得整體NCO的頻率控制字為:
4路子NCO的頻率控制字均為:f=4×F=(100 000 000)16。4路子NCO初始相位相差(40 000 000)16。
2.3.3 并串轉(zhuǎn)換
并串轉(zhuǎn)換通常應(yīng)用在FPGA內(nèi)部單路串行處理速度不能滿足要求的情況下,通過(guò)使用多路并行低速模塊實(shí)現(xiàn)高速處理,屬于資源與速度互換的一種應(yīng)用。本設(shè)計(jì)在FPGA內(nèi)部使用并行4路,每路200 MS/s,實(shí)現(xiàn)串行800 MS/s的處理能力。在輸出時(shí)利用ALTERA提供的LVDS模塊實(shí)現(xiàn)并串轉(zhuǎn)換。
2.4 測(cè)試與驗(yàn)證
完成各個(gè)模塊設(shè)計(jì)和仿真驗(yàn)證后,在頂層文件中調(diào)用各個(gè)子模塊,實(shí)現(xiàn)一個(gè)完整的MSK寬帶跳頻發(fā)射機(jī)。在Modelsim中進(jìn)行功能仿真的波形如圖 5所示。
圖5中從上到下的信號(hào)分別為:碼元輸入;差分編碼輸出;串并轉(zhuǎn)換后I路輸出;串并轉(zhuǎn)換后Q路輸出;基帶調(diào)制后I路輸出;I路內(nèi)插到4路并行200 MS/s數(shù)據(jù)速率時(shí),其中1路輸出;4路并行NCO,其中1路輸出;MSK調(diào)制輸出。
編譯工程,下載到跳頻發(fā)射板,使用HP8563e頻譜儀觀察輸出信號(hào)頻譜,如圖6和圖7所示。
圖6中,中心頻率150 MHz,成形后的MSK單頻點(diǎn)帶寬為10 MHz左右,帶外衰減大于60 dB。
圖7中跳頻頻率范圍為95 MHz~255 MHz。共51個(gè)頻點(diǎn),相鄰頻點(diǎn)中心頻率間隔為3 MHz。由于FPGA輸出數(shù)據(jù)速率為800 MS/s,所以工程上可實(shí)現(xiàn)320 MHz帶寬。
本設(shè)計(jì)給出一種通用軟件無(wú)線電跳頻發(fā)射機(jī)的硬件平臺(tái)以及基帶和中頻信號(hào)處理算法。對(duì)于研究FPGA在軟件無(wú)線電跳頻發(fā)射系統(tǒng)中的應(yīng)用具有現(xiàn)實(shí)意義。
參考文獻(xiàn)
[1] 梅文華,王淑波,邱永紅,等.跳頻通信[M].北京:國(guó)防工業(yè)出版社,2005.
[2] 陶然,張惠云,王越.多抽樣率數(shù)字信號(hào)處理理論及其應(yīng)用[M].北京:清華大學(xué)出版社,2007.
[3] 王呈貴,徐以濤.高分辨率DDS的FPGA設(shè)計(jì)[J].解放軍理工大學(xué)學(xué)報(bào),2003,4(4).
[4] [美]Richard G.Lyons.數(shù)字信號(hào)處理(第二版)[M].朱光明,程建遠(yuǎn),劉寶童,等譯.北京:機(jī)械工業(yè)出版社,2006.
[5] Implementing Multipliers in FPGA Devices, Application Note 306, Altera Corporation, 2004(7)