新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的無(wú)線信道模擬器設(shè)計(jì)

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

作者: 時(shí)間:2012-06-18 來(lái)源:網(wǎng)絡(luò) 收藏

2 設(shè)計(jì)
采用Xilinx公司的Virtex-2p,其中芯片工作時(shí)鐘為100MHz。本文設(shè)置N0=8,fm=200 Hz,
f.JPG
為了計(jì)算方便,將所得的值擴(kuò)大32倍,也就是左移5位之后四舍五入成整數(shù)值,存入寄存器調(diào)用。所以的實(shí)現(xiàn)過(guò)程主要為各個(gè)正弦波的實(shí)現(xiàn),與對(duì)應(yīng)的系數(shù)相乘疊加成單徑衰落,輸入信號(hào)經(jīng)過(guò)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)用來(lái)產(chǎn)生正弦波,這樣占用的邏輯資源比較少,缺點(diǎn)就是過(guò)程很麻煩而且不夠靈活,模型需要8種頻率的正弦波和余弦波,而且fm也可能根據(jù)需要而變化,每一次變化就需要在ROM中重新賦初值,十分麻煩。因此本文選擇調(diào)用Xilinx自帶DDS的IP核,通過(guò)邏輯資源換取效率。DDS的模塊圖如圖2所示。

本文引用地址:http://m.butianyuan.cn/article/190237.htm

g.JPG


這樣,通過(guò)控制DATA的值得到所需頻率的正弦波。h.JPG,其中fclk為開發(fā)工作時(shí)鐘,DATA為輸入的頻率控制字,B為DATA的位寬,fout為所得的頻率。
2.2 時(shí)延模塊的FPGA實(shí)現(xiàn)
輸入通過(guò)時(shí)延后與各路徑的衰落系數(shù)相乘,然后各個(gè)路徑疊加成輸出信號(hào)。本文中時(shí)延采用計(jì)數(shù)分頻來(lái)實(shí)現(xiàn),如延遲1μs,工作時(shí)鐘為100MHz,所以計(jì)算100個(gè)時(shí)鐘周期后,將輸入的值存入寄存器1,再計(jì)算100個(gè)時(shí)鐘周期后將輸入值存入寄存器2,依次類推,本為路徑l設(shè)置為5,所以最終有5個(gè)寄存器存放輸入值。
2.3 測(cè)試模塊的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位。通過(guò)串/并轉(zhuǎn)換接收數(shù)據(jù),算完后存入RAM,然后調(diào)用數(shù)據(jù),通過(guò)并/串轉(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)算簡(jiǎ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é)果。



關(guān)鍵詞: FPGA 無(wú)線 信道模擬器

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉