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