引言
隨著人們對無線通信需求和質(zhì)量的要求越來越高,無線通信設(shè)備的研發(fā)也變得越來越復(fù)雜,系統(tǒng)測試在整個(gè)設(shè)備研發(fā)過程中所占的比重也越來越大。為了更加方便地對所設(shè)計(jì)的系統(tǒng)進(jìn)行調(diào)試和測試,無線信道模擬器是進(jìn)行無線通信系統(tǒng)硬件測試不可或缺的儀器之一。目前,關(guān)于無線信道的模型研究比較多,而基于理論模型的硬件實(shí)現(xiàn)并不是很廣泛,同時(shí)成品十分昂貴,所以利用FPGA實(shí)現(xiàn)無線信道模擬器變得很有意義,節(jié)約了成本,而且也便于實(shí)現(xiàn)。FPGA是在PLD的基礎(chǔ)上發(fā)展起來的高性能可編程邏輯器件,使用FPGA進(jìn)行數(shù)字邏輯設(shè)計(jì),開發(fā)過程的投資較少,研制和開發(fā)的時(shí)間較短,并且因?yàn)橐_的可分配性電路一般比較簡單,修改和優(yōu)化比較方便,并且在實(shí)際中易于使用。同時(shí)由于FPGA并行運(yùn)算的特點(diǎn),在大規(guī)模的數(shù)字運(yùn)算中很有優(yōu)勢,延時(shí)很小。
1 頻率選擇性衰落信道模型
多徑傳播信道的信道脈沖響應(yīng)模式是模擬一個(gè)離散的廣義平穩(wěn)非相關(guān)散射模型(WSSUS)。這樣的頻率選擇性衰落信道應(yīng)該滿足兩個(gè)假設(shè)條件:
(1)在時(shí)間t(可能是幾個(gè)碼元長度)內(nèi),衰落的統(tǒng)計(jì)特性是平穩(wěn)的;
(2)電波到達(dá)角和傳播時(shí)延是統(tǒng)計(jì)獨(dú)立變量。
時(shí)變頻率選擇性衰落信道的確定仿真模型如圖1所示。
Jakes在參考文獻(xiàn)中介紹了一種單徑衰落信道的仿真,且在此基礎(chǔ)上提出了一種對頻率選擇性衰落信道的仿真方法。在原來第l徑中的多普勒相移bnl的基礎(chǔ)上,加上一個(gè)附加相移rnl,成為新的多普勒相移bnl+rnl,且保持其他參數(shù)不變。為了保證各個(gè)可分辨多徑之間相互獨(dú)立,所以必須選擇合適的bnl和rnl,其中比較簡單的一種方法是:
2 信道模擬器的FPGA設(shè)計(jì)
FPGA采用Xilinx公司的Virtex-2p,其中芯片工作時(shí)鐘為100MHz。本文設(shè)置N0=8,fm=200 Hz,
為了計(jì)算方便,將所得的值擴(kuò)大32倍,也就是左移5位之后四舍五入成整數(shù)值,存入寄存器調(diào)用。所以信道模擬器的實(shí)現(xiàn)過程主要為各個(gè)正弦波的FPGA實(shí)現(xiàn),與對應(yīng)的系數(shù)相乘疊加成單徑衰落,輸入信號(hào)經(jīng)過l個(gè)路徑時(shí)延之后疊加成為輸出信號(hào)。
2.1 正弦波的FPGA實(shí)現(xiàn)
FPGA產(chǎn)生正弦波一般可以采用直接產(chǎn)生和Xilinx或者Altera利用自帶DDS的IP核例化實(shí)現(xiàn)。FPGA直接產(chǎn)生是將三角函數(shù)值存入ROM中循環(huán)調(diào)用來產(chǎn)生正弦波,這樣占用的邏輯資源比較少,缺點(diǎn)就是過程很麻煩而且不夠靈活,模型需要8種頻率的正弦波和余弦波,而且fm也可能根據(jù)需要而變化,每一次變化就需要在ROM中重新賦初值,十分麻煩。因此本文選擇調(diào)用Xilinx自帶DDS的IP核,通過邏輯資源換取效率。DDS的模塊圖如圖2所示。
其中fclk為開發(fā)工作時(shí)鐘,DATA為輸入的頻率控制字,B為DATA的位寬,fout為所得的頻率。
2.2 時(shí)延模塊的FPGA實(shí)現(xiàn)
輸入通過時(shí)延后與各路徑的衰落系數(shù)相乘,然后各個(gè)路徑疊加成輸出信號(hào)。本文中時(shí)延采用計(jì)數(shù)分頻來實(shí)現(xiàn),如延遲1μs,工作時(shí)鐘為100MHz,所以計(jì)算100個(gè)時(shí)鐘周期后,將輸入的值存入寄存器1,再計(jì)算100個(gè)時(shí)鐘周期后將輸入值存入寄存器2,依次類推,本為路徑l設(shè)置為5,所以最終有5個(gè)寄存器存放輸入值。
2.3 測試模塊的FPGA實(shí)現(xiàn)
最后需要將算得的數(shù)據(jù)上傳到Matlab進(jìn)行統(tǒng)計(jì)分析,所以還需要FPGA串口驅(qū)動(dòng),以及Matlab打開驅(qū)動(dòng)讀取FPGA算完的數(shù)據(jù)。根據(jù)異步串行通信的數(shù)據(jù)傳送格式,每一幀數(shù)據(jù)由起始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位組成,本文只選取了數(shù)據(jù)位,一共8位。通過串/并轉(zhuǎn)換接收數(shù)據(jù),算完后存入RAM,然后調(diào)用數(shù)據(jù),通過并/串轉(zhuǎn)換傳輸數(shù)據(jù)。
正弦波的輸出有10位,其中l(wèi)位是符號(hào)位,另外9位是小數(shù)位,而系數(shù)左移5位后化成整數(shù),在所得的整數(shù)中也有5位小數(shù)位,所以最終數(shù)據(jù)一共有19位,其中5位整數(shù)位,14位小數(shù)位。因?yàn)榇谑?位一幀數(shù)據(jù),為了運(yùn)算簡便,選取了5位整數(shù)位,11位小數(shù)位,舍去最后3位小數(shù),每個(gè)數(shù)分兩次傳輸。因?yàn)樽詈蟮臄?shù)據(jù)分為實(shí)部和虛部,所以每個(gè)復(fù)數(shù)需要4幀數(shù)據(jù)傳輸。Matlab接收數(shù)據(jù)重新組合,還原成FPGA的計(jì)算結(jié)果。
3 模擬器的性能測試與分析
開發(fā)板的工作時(shí)鐘為100 MHz,DDS IP核延遲2個(gè)時(shí)鐘周期有輸出值,乘法器延遲1個(gè)時(shí)鐘周期有輸出值,所以系統(tǒng)總共有3個(gè)時(shí)鐘周期的延遲。串口傳輸數(shù)據(jù)比較慢,而且數(shù)據(jù)量太大容易出錯(cuò),所以將工作時(shí)鐘分別進(jìn)行100倍分頻上傳衰落信道第一徑的25 000個(gè)數(shù)據(jù)進(jìn)行觀察,工作時(shí)鐘變成1 MHz,將所得的幅度譜轉(zhuǎn)化成功率形式后如圖3所示,fclk=1 MHz的Matlab仿真如圖4所示。
圖3和圖4中橫軸單位均為s,縱軸單位均為dB。通過比較圖3和圖4發(fā)現(xiàn)實(shí)際產(chǎn)生的結(jié)果與仿真結(jié)果大致相同,也因?yàn)橄禂?shù)的取整和最后上傳數(shù)據(jù)的截?cái)嘤猩僭S誤差,基本滿足要求。
4 結(jié)語
本文采用Jakes改進(jìn)模型,基于FPGA模擬了無線信道的傳輸特性,最終經(jīng)過驗(yàn)證基本滿足要求。為了簡化實(shí)現(xiàn)過程,將系數(shù)取整以及傳輸數(shù)據(jù)進(jìn)行截?cái)?,產(chǎn)生一些誤差,在這方面可以采用浮點(diǎn)數(shù)表示系數(shù)得到更精確的值。
責(zé)任編輯:gt
-
FPGA
+關(guān)注
關(guān)注
1625文章
21620瀏覽量
601234 -
寄存器
+關(guān)注
關(guān)注
31文章
5294瀏覽量
119814 -
模擬器
+關(guān)注
關(guān)注
2文章
862瀏覽量
43127
發(fā)布評論請先 登錄
相關(guān)推薦
評論