1 MC-COMA調(diào)制解調(diào)的硬件實(shí)現(xiàn)
1.1 方案設(shè)計(jì)
根據(jù)MC-CDMA調(diào)制解調(diào)的基本原理,在本方案設(shè)計(jì)中將其調(diào)制過(guò)程劃分為符號(hào)復(fù)制、頻域擴(kuò)頻、載波調(diào)制三個(gè)功能模塊,解調(diào)過(guò)程劃分為載波解調(diào)、解擴(kuò)和頻域合并三個(gè)功能模塊??紤]到代碼的整齊和運(yùn)算速度的要求,在設(shè)計(jì)中采用了流水線操作方式。
根據(jù)需求,本文設(shè)計(jì)方案的子載波數(shù)為32,擴(kuò)頻碼由長(zhǎng)度為32的OVSF碼發(fā)生器產(chǎn)生,通過(guò)設(shè)置OVSF碼發(fā)生器的參數(shù),可以選擇32種不同的碼字中的一種進(jìn)行擴(kuò)頻來(lái)區(qū)分不同用戶的數(shù)據(jù)。各個(gè)模塊之間的時(shí)序關(guān)系通過(guò)ens等控制信號(hào)實(shí)現(xiàn),前端模塊運(yùn)算完成才觸發(fā)后端模塊,從而實(shí)現(xiàn)流水線操作。欲了解更多信息請(qǐng)登錄電子發(fā)燒友網(wǎng)(http://www.elecfans.com)
MC-CDMA調(diào)制所有程序模塊之間的關(guān)系和信號(hào)流程。其中MC-CDMA模塊為頂層模塊,第二行的三個(gè)函數(shù)為一級(jí)子模塊,第三行的函數(shù)為二級(jí)模塊。進(jìn)入MC-CDMA調(diào)制器的數(shù)據(jù)符號(hào)首先經(jīng)過(guò)N次復(fù)制,本文系統(tǒng)中N=32,Copy32子程序模塊即用于實(shí)現(xiàn)多載波調(diào)制中的符號(hào)復(fù)制功能。復(fù)制之后的數(shù)據(jù)送入頻域擴(kuò)頻模塊sPreading,經(jīng)由長(zhǎng)度為32的OVsF碼序列進(jìn)行擴(kuò)頻處理后送入IFFT32運(yùn)算模塊實(shí)現(xiàn)頻域到時(shí)域的變換,完成MC- CDMA調(diào)制。
1.2 頻域擴(kuò)頻的實(shí)現(xiàn)
在擴(kuò)頻通信系統(tǒng)中,其原理都是使用擴(kuò)頻序列來(lái)擴(kuò)展用戶的原始信號(hào)。在接收端,為了恢復(fù)原始信號(hào),使用與發(fā)射端一樣的同步擴(kuò)頻序列與收到的信號(hào)進(jìn)行相關(guān)。MC-CDMA就是利用擴(kuò)頻序列的互相關(guān)性進(jìn)行多用戶通信的,擴(kuò)頻序列在MC-CDMA系統(tǒng)中起著重要的作用。
1.3 FFT/IFFT的FPGA實(shí)現(xiàn)
本文中FFT/IFFT設(shè)計(jì)參考Altera公司FFTIP 核的數(shù)據(jù)手冊(cè)[2],通過(guò)對(duì)IP核進(jìn)行實(shí)際測(cè)試可知,有效數(shù)據(jù)要延遲于START信號(hào)4個(gè)時(shí)鐘周期輸入。而在本系統(tǒng)中,來(lái)自前端模塊的控制信號(hào)和有效數(shù)據(jù)是同步輸入FFT/IFFT變換模塊的,所以需要對(duì)輸入數(shù)據(jù)寄存4個(gè)周期。輸入數(shù)據(jù)緩沖模塊用來(lái)對(duì)輸入數(shù)據(jù)進(jìn)行寄存。時(shí)序控制單元用于保證模塊中的時(shí)序?qū)R。FFT/IFFT運(yùn)算單元是基于Altera公司的Altera Megacore IP核實(shí)現(xiàn)的。FFT/IFFT IP核的各個(gè)主要參數(shù)設(shè)置如表1所示。變換長(zhǎng)度為32,采用并行流水線FO結(jié)構(gòu),為了節(jié)省slices資源的消耗,最大限度地選擇使用片內(nèi)的塊RAM資源。表1給出了綜合得到的FFT&IFFT模塊的資源消耗情況,從綜合報(bào)告中可知,其最大執(zhí)行速度可以達(dá)到268 MHz。
2 系統(tǒng)綜述
2.1 系統(tǒng)驗(yàn)證方案
基于以上所提出的2發(fā)3收MIMOMC-CDMA基帶系統(tǒng)發(fā)射機(jī)和接收機(jī)的設(shè)計(jì)方法,分別實(shí)現(xiàn)發(fā)射機(jī)和接收機(jī)的RTL代碼編寫(xiě)工作并進(jìn)行功能驗(yàn)證之后,將發(fā)射機(jī)與接收機(jī)進(jìn)行了聯(lián)合凋試,驗(yàn)證了本文設(shè)計(jì)實(shí)現(xiàn)的2發(fā)3收MIMOMC-CDMA基帶系統(tǒng)的基本功能。
2發(fā)3收MIMO系統(tǒng)的信道處理過(guò)程類(lèi)似于硬件仿真MIMO信道模塊,來(lái)自發(fā)射機(jī)2個(gè)發(fā)射端的信號(hào)xl,x2與信道矩陣相作用之后加入高斯白噪聲,得到3個(gè)數(shù)據(jù):r1、r2、r3,送往接收機(jī)的3個(gè)接收天線端。接收機(jī)檢測(cè)算法是在假設(shè)2發(fā)3收MIMO信道矩陣的6個(gè)參數(shù)h11~h33己經(jīng)被正確估計(jì)出來(lái)的基礎(chǔ)上進(jìn)行的。系統(tǒng)聯(lián)合調(diào)試中的信道參數(shù)來(lái)自32個(gè)子載波的2發(fā)3收MIMOMC-CDMA的MATLAB仿真系統(tǒng),首先得到仿真信道在每個(gè)載波上的參數(shù),此時(shí)的信道參數(shù)為復(fù)數(shù)浮點(diǎn)數(shù)據(jù);之后在MATLAB環(huán)境中編寫(xiě)一個(gè)將任意復(fù)數(shù)轉(zhuǎn)化為可設(shè)定點(diǎn)結(jié)構(gòu)與位寬的十六進(jìn)制數(shù)據(jù)的程序,將這些復(fù)數(shù)信道參數(shù)轉(zhuǎn)化為Verilog編碼能夠識(shí)別的十六進(jìn)制數(shù),本文實(shí)現(xiàn)中將這些信道參數(shù)轉(zhuǎn)化為位寬為16的十六進(jìn)制數(shù),其中實(shí)部、虛部分別以高8位和低8位表示。在這8位中,1位為符號(hào)位,另外7位為預(yù)設(shè)的信道參數(shù)的值,其中2位為整數(shù)位,5位為小數(shù)位。
2.2 系統(tǒng)時(shí)鐘管理單元設(shè)計(jì)實(shí)現(xiàn)
為了滿足同步時(shí)序設(shè)計(jì)的要求,一般在FPGA設(shè)計(jì)中采用全局時(shí)鐘資源馭動(dòng)設(shè)計(jì)的主時(shí)鐘,以達(dá)到最低的時(shí)鐘抖動(dòng)和延遲,本文中時(shí)鐘管理單元的實(shí)現(xiàn)亦遵從這一原則。本文設(shè)計(jì)的系統(tǒng)時(shí)鐘產(chǎn)生結(jié)構(gòu)模塊共使用3個(gè)Altera公司的OCMIP核來(lái)產(chǎn)生品振時(shí)鐘的6種分頻,輸入時(shí)鐘在第一個(gè)DCMIP核模塊中經(jīng)過(guò)一個(gè)IBIJFG后用來(lái)驅(qū)動(dòng)第二個(gè)和第三個(gè)OCMIP核模塊。
2.3 系統(tǒng)驗(yàn)證結(jié)果
仿真條件設(shè)定為:?jiǎn)挝槐忍匦旁氡菶bNo=4,系統(tǒng)帶寬B=20 MHz,OVSF擴(kuò)頻碼字號(hào)K=31,采用ch=2時(shí)的信道參數(shù)組模擬信道,長(zhǎng)信源隨機(jī)信號(hào)的長(zhǎng)度為L(zhǎng)=T×len=2 000×15=30 000,單用戶,AWGN信道。其中ErrorN為接收機(jī)統(tǒng)計(jì)所得的誤碼個(gè)數(shù)。圖1是采用QPsK調(diào)制方式時(shí)系統(tǒng)聯(lián)合調(diào)試的功能仿真結(jié)果,信宿模塊統(tǒng)計(jì)得到的誤碼比特?cái)?shù)ErrorN為602,BER==602/30 000=0.020 067,接近EbNo=4時(shí)的仿真結(jié)果0.020 05。
隨著調(diào)制階數(shù)的增加,系統(tǒng)的性能會(huì)有所下降,高階調(diào)制對(duì)系統(tǒng)硬件的要求會(huì)更高。圖2為使用Altera Quartus II 6.0仿真平臺(tái)的綜合工具得到的系統(tǒng)所占用的芯片資源情況。仿真所用的芯片與DE2開(kāi)發(fā)板上的芯片一致,均為Altera公司Altera CycloneII。因?yàn)閷?duì)運(yùn)算過(guò)程中涉及的乘法和復(fù)乘運(yùn)算進(jìn)行了簡(jiǎn)化,并盡可能有效利用片內(nèi)的定值模塊,極大地減少了資源消耗量。
本文首先提出了2發(fā)3收MIMO MC-CDMA基帶系統(tǒng)的系統(tǒng)聯(lián)合調(diào)試方案框架,使用硬件仿真MIMO信道模塊來(lái)實(shí)現(xiàn)發(fā)射機(jī)和接收機(jī)的連接,設(shè)計(jì)了跨6個(gè)時(shí)鐘域的系統(tǒng)時(shí)鐘管理單元來(lái)實(shí)現(xiàn)各個(gè)模塊之間的時(shí)鐘同步,并詳細(xì)介紹了時(shí)鐘管理單元的設(shè)計(jì)實(shí)現(xiàn)方法與功能仿真結(jié)果。對(duì)FPGA基帶系統(tǒng)進(jìn)行聯(lián)合調(diào)試,并與MATLAB仿真結(jié)果相比較,驗(yàn)證了發(fā)射機(jī)和接收機(jī)的功能,并將整個(gè)基帶系統(tǒng)的RTL代碼成功下載到DE2開(kāi)發(fā)板的芯片上,調(diào)試成功。