《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA的無線信道模擬器設(shè)計
基于FPGA的無線信道模擬器設(shè)計
摘要: 為了縮短研發(fā)周期,需要在實驗室模擬出無線信道的各種傳播特性,無線信道模擬器設(shè)計必不可少。采用基于頻率選擇性信道Jakes仿真器模型,使用Xilinx公司的VIrtex-2p模擬實現(xiàn)了頻率選擇性衰落信道,最后將數(shù)據(jù)通過串口上傳到Matlab分析信道的統(tǒng)計特性。
關(guān)鍵詞: FPGA Virtex Matlab 無線信道模擬器
Abstract:
Key words :

0 引言

隨著人們對無線通信需求和質(zhì)量的要求越來越高,無線通信設(shè)備的研發(fā)也變得越來越復(fù)雜,系統(tǒng)測試在整個設(shè)備研發(fā)過程中所占的比重也越來越大。為了更加方便地對所設(shè)計的系統(tǒng)進行調(diào)試和測試,無線信道模擬器是進行無線通信系統(tǒng)硬件測試不可或缺的儀器之一。目前,關(guān)于無線信道的模型研究比較多,而基于理論模型的硬件實現(xiàn)并不是很廣泛,同時成品十分昂貴,所以利用FPGA實現(xiàn)無線信道模擬器變得很有意義,節(jié)約了成本,而且也便于實現(xiàn)。FPGA是在PLD的基礎(chǔ)上發(fā)展起來的高性能可編程邏輯器件,使用FPGA進行數(shù)字邏輯設(shè)計,開發(fā)過程的投資較少,研制和開發(fā)的時間較短,并且因為引腳的可分配性電路一般比較簡單,修改和優(yōu)化比較方便,并且在實際中易于使用。同時由于FPGA并行運算的特點,在大規(guī)模的數(shù)字運算中很有優(yōu)勢,延時很小。

1 頻率選擇性衰落信道模型

多徑傳播信道的信道脈沖響應(yīng)模式是模擬一個離散的廣義平穩(wěn)非相關(guān)散射模型(WSSUS)。這樣的頻率選擇性衰落信道應(yīng)該滿足兩個假設(shè)條件:

(1)在時間t(可能是幾個碼元長度)內(nèi),衰落的統(tǒng)計特性是平穩(wěn)的;

(2)電波到達角和傳播時延是統(tǒng)計獨立變量。

時變頻率選擇性衰落信道的確定仿真模型如圖1所示。

基于FPGA的無線信道模擬器設(shè)計

Jakes在參考文獻中介紹了一種單徑衰落信道的仿真,且在此基礎(chǔ)上提出了一種對頻率選擇性衰落信道的仿真方法。在原來第l徑中的多普勒相移bnl的基礎(chǔ)上,加上一個附加相移rnl,成為新的多普勒相移bnl+rnl,且保持其他參數(shù)不變。為了保證各個可分辨多徑之間相互獨立,所以必須選擇合適的bnl和rnl,其中比較簡單的一種方法是:

基于FPGA的無線信道模擬器設(shè)計

2 信道模擬器的FPGA設(shè)計

FPGA采用Xilinx公司的Virtex-2p,其中芯片工作時鐘為100MHz。本文設(shè)置N0=8,fm=200 Hz,

基于FPGA的無線信道模擬器設(shè)計

為了計算方便,將所得的值擴大32倍,也就是左移5位之后四舍五入成整數(shù)值,存入寄存器調(diào)用。所以信道模擬器的實現(xiàn)過程主要為各個正弦波的FPGA實現(xiàn),與對應(yīng)的系數(shù)相乘疊加成單徑衰落,輸入信號經(jīng)過l個路徑時延之后疊加成為輸出信號。

2.1 正弦波的FPGA實現(xiàn)

FPGA產(chǎn)生正弦波一般可以采用直接產(chǎn)生和Xilinx或者Altera利用自帶DDS的IP核例化實現(xiàn)。FPGA直接產(chǎn)生是將三角函數(shù)值存入ROM中循環(huán)調(diào)用來產(chǎn)生正弦波,這樣占用的邏輯資源比較少,缺點就是過程很麻煩而且不夠靈活,模型需要8種頻率的正弦波和余弦波,而且fm也可能根據(jù)需要而變化,每一次變化就需要在ROM中重新賦初值,十分麻煩。因此本文選擇調(diào)用Xilinx自帶DDS的IP核,通過邏輯資源換取效率。DDS的模塊圖如圖2所示。

基于FPGA的無線信道模擬器設(shè)計

這樣,通過控制DATA的值得到所需頻率的正弦波。其中fclk為開發(fā)工作時鐘,DATA為輸入的頻率控制字,B為DATA的位寬,fout為所得的頻率。

2.2 時延模塊的FPGA實現(xiàn)

輸入通過時延后與各路徑的衰落系數(shù)相乘,然后各個路徑疊加成輸出信號。本文中時延采用計數(shù)分頻來實現(xiàn),如延遲1μs,工作時鐘為100MHz,所以計算100個時鐘周期后,將輸入的值存入寄存器1,再計算100個時鐘周期后將輸入值存入寄存器2,依次類推,本為路徑l設(shè)置為5,所以最終有5個寄存器存放輸入值。

 

2.3 測試模塊的FPGA實現(xiàn)

 

最后需要將算得的數(shù)據(jù)上傳到Matlab進行統(tǒng)計分析,所以還需要FPGA串口驅(qū)動,以及Matlab打開驅(qū)動讀取FPGA算完的數(shù)據(jù)。根據(jù)異步串行通信的數(shù)據(jù)傳送格式,每一幀數(shù)據(jù)由起始位、數(shù)據(jù)位、奇偶校驗位和停止位組成,本文只選取了數(shù)據(jù)位,一共8位。通過串/并轉(zhuǎn)換接收數(shù)據(jù),算完后存入RAM,然后調(diào)用數(shù)據(jù),通過并/串轉(zhuǎn)換傳輸數(shù)據(jù)。

 

正弦波的輸出有10位,其中l(wèi)位是符號位,另外9位是小數(shù)位,而系數(shù)左移5位后化成整數(shù),在所得的整數(shù)中也有5位小數(shù)位,所以最終數(shù)據(jù)一共有19位,其中5位整數(shù)位,14位小數(shù)位。因為串口是8位一幀數(shù)據(jù),為了運算簡便,選取了5位整數(shù)位,11位小數(shù)位,舍去最后3位小數(shù),每個數(shù)分兩次傳輸。因為最后的數(shù)據(jù)分為實部和虛部,所以每個復(fù)數(shù)需要4幀數(shù)據(jù)傳輸。Matlab接收數(shù)據(jù)重新組合,還原成FPGA的計算結(jié)果。

3 模擬器的性能測試與分析

開發(fā)板的工作時鐘為100 MHz,DDS IP核延遲2個時鐘周期有輸出值,乘法器延遲1個時鐘周期有輸出值,所以系統(tǒng)總共有3個時鐘周期的延遲。串口傳輸數(shù)據(jù)比較慢,而且數(shù)據(jù)量太大容易出錯,所以將工作時鐘分別進行100倍分頻上傳衰落信道第一徑的25 000個數(shù)據(jù)進行觀察,工作時鐘變成1 MHz,將所得的幅度譜轉(zhuǎn)化成功率形式后如圖3所示,fclk=1 MHz的Matlab仿真如圖4所示。

基于FPGA的無線信道模擬器設(shè)計

圖3和圖4中橫軸單位均為s,縱軸單位均為dB。通過比較圖3和圖4發(fā)現(xiàn)實際產(chǎn)生的結(jié)果與仿真結(jié)果大致相同,也因為系數(shù)的取整和最后上傳數(shù)據(jù)的截斷有少許誤差,基本滿足要求。

4 結(jié)語

本文采用Jakes改進模型,基于FPGA模擬了無線信道的傳輸特性,最終經(jīng)過驗證基本滿足要求。為了簡化實現(xiàn)過程,將系數(shù)取整以及傳輸數(shù)據(jù)進行截斷,產(chǎn)生一些誤差,在這方面可以采用浮點數(shù)表示系數(shù)得到更精確的值。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。