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