曾 捷
(深圳大學(xué) 信息工程學(xué)院,深圳 518060)
目前使用的《通信原理》實(shí)驗(yàn)系統(tǒng)在進(jìn)行空時(shí)編碼實(shí)驗(yàn)時(shí)普遍存在下面兩個(gè)局限性:(1)沒有充分利用傳輸過程中的信道狀態(tài)信息的問題,這和實(shí)際的通信系統(tǒng)不相符合;(2)沒有對(duì)原發(fā)送信號(hào)進(jìn)行預(yù)處理,減小信道間的干擾,因而無法準(zhǔn)確地通過實(shí)驗(yàn)系統(tǒng)對(duì)通信系統(tǒng)的信噪比、誤碼率等特性進(jìn)行分析和測(cè)試[1]。
基于上述原因,本文嘗試使用Matlab仿真的方法開發(fā)空時(shí)編碼以及系統(tǒng)信噪比和誤碼率測(cè)試的實(shí)驗(yàn)平臺(tái),在教學(xué)過程中,將仿真實(shí)驗(yàn)和實(shí)際電路實(shí)驗(yàn)結(jié)合使用,有效地彌補(bǔ)了實(shí)驗(yàn)系統(tǒng)的不足,取得了較好的效果。
本文選擇Matlab/RTW作為開發(fā)平臺(tái),Keil作為編譯軟件,并用Proteus進(jìn)行仿真。系統(tǒng)總體設(shè)計(jì)方案如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)包括源節(jié)點(diǎn)K,四個(gè)中繼節(jié)點(diǎn)(R1,R2,R3,R4)以及目的節(jié)點(diǎn)D,所有節(jié)點(diǎn)都配備單天線且中繼節(jié)點(diǎn)采用放大轉(zhuǎn)發(fā)的傳輸模式,假設(shè)中繼節(jié)點(diǎn)可以獲得統(tǒng)計(jì)信道狀態(tài)信息,目的節(jié)點(diǎn)D已知所有信道的狀態(tài)信息[2]。數(shù)據(jù)傳輸分成兩步:
(1)源節(jié)點(diǎn)K將調(diào)制符號(hào)向量
發(fā)送至所有中繼節(jié)點(diǎn),其中st(t=1,2,3,4)為調(diào)制信號(hào)。假設(shè)所有的信道都是準(zhǔn)靜態(tài)的,則中繼節(jié)點(diǎn)Rr的接收信號(hào)為
其中,vr是4×1的噪聲向量;P1是源節(jié)點(diǎn)的平均發(fā)射功率;fr表示源節(jié)點(diǎn)到中繼節(jié)點(diǎn)Rr的信道衰落系數(shù)。
(2)各中繼節(jié)點(diǎn)向目的節(jié)點(diǎn)D發(fā)送信號(hào),中繼節(jié)點(diǎn)R4將原發(fā)送信號(hào)乘以預(yù)處理參數(shù)b后再發(fā)送。因此,第r個(gè)中繼節(jié)點(diǎn)的發(fā)送信號(hào)可表示為
其中,()·*表示共軛操作;預(yù)處理參數(shù)b由目的節(jié)點(diǎn)D反饋而來;各中繼節(jié)點(diǎn)采用等功率分配,ρr=為第r個(gè)中繼節(jié)點(diǎn)的比例因子,P是源1節(jié)點(diǎn)的平均發(fā)射功率,P2為中繼節(jié)點(diǎn)總發(fā)射功率;Ar和Br是階數(shù)為4的交換矩陣,由編碼矩陣確定。目的節(jié)點(diǎn)D的接收信號(hào)為4×1的列向量,其表達(dá)式為
其中,w是4×1的噪聲向量;gr(r=1,2,3,4)表示中繼節(jié)點(diǎn)Rr到目的節(jié)點(diǎn)D的信道衰落系數(shù);xr為第r個(gè)中繼節(jié)點(diǎn)的發(fā)送信號(hào)。
在Microsoft Windows XP操作系統(tǒng)的支撐下,選擇 Matlab Version 7.5.0.342.R2007b、Keil和 Proteus7.1SP2為系統(tǒng)的建模、仿真、開發(fā)和運(yùn)行環(huán)境。系統(tǒng)的建模、仿真、開發(fā)和運(yùn)行環(huán)境的構(gòu)建過程是:先借助Matlab/RTW建立模型并生成RTW(Real-Time Workshop)代碼(C語言),再使用Keil編譯、調(diào)試Matlab生成的C語言代碼,并且生成HEX文件,之后利用Proteus觀察代碼生成的效果,以驗(yàn)證代碼的正確性,基本流程如圖2所示[3-4]。
編寫相應(yīng)的m文件dstcm.m,程序的實(shí)現(xiàn)過程如下:
然后使用一個(gè)循環(huán)得到不同信噪比情況下的運(yùn)行仿真,測(cè)試誤碼率并保存在變量y中。
用函數(shù) semilogy(x,y,‘r’)畫出來即可[5]。
圖2 仿真基本流程
圖3是采用本文實(shí)驗(yàn)平臺(tái)的誤碼率性能的仿真結(jié)果。信號(hào)調(diào)制方式采用BPSK,QPSK和8PSK,假定所有的信道衰落系數(shù)和噪聲都相互獨(dú)立且服從均值為0,方差為1的復(fù)高斯分布,反饋信息不存在誤差,譯碼方案采用最大似然譯碼。
圖3 不同調(diào)制方式下的誤比特率
由圖3可以看出,(1)當(dāng)誤碼率為10-4,調(diào)制方式采用BPSK,增益為1.8 dB;調(diào)制方式采用QPSK時(shí),其增益為1.6 dB;調(diào)制方式采用8PSK時(shí),其增益為1.5 dB;(2)當(dāng)誤碼率為10-5時(shí),調(diào)制分別采用BPSK、QPSK和8PSK時(shí),其增益分別為2.4 dB、2.2 dB和1.9 dB。因此可以得出,隨著信噪比的增大,對(duì)系統(tǒng)誤碼率性能的提升越顯著。
本文構(gòu)建了基于Matlab/RTW和Proteus的分布式空時(shí)編碼實(shí)驗(yàn)平臺(tái),使用RTW自動(dòng)生成代碼,再用Keil作為中間軟件,生成單片機(jī)使用的HEX文件,之后借助于Proteus進(jìn)行代碼仿真。該平臺(tái)能夠?qū)崿F(xiàn)全速率全分集,可以針對(duì)不同場(chǎng)景中的分布式空時(shí)編碼實(shí)驗(yàn)展開相關(guān)測(cè)試,極大地改善了實(shí)驗(yàn)仿真時(shí)間和降低了實(shí)驗(yàn)系統(tǒng)的復(fù)雜性,對(duì)教學(xué)實(shí)驗(yàn)具有實(shí)際指導(dǎo)意義。
[1]李娟,邱曉紅.分層空時(shí)編碼及應(yīng)用研究[J].電信科學(xué),2011,51(4):127-129.
[2]宋章瑜,榮定秀,張翠翠.空時(shí)編碼技術(shù)在OFDM系統(tǒng)中的研究[J].IEEE Trans on Veh Technol,2010,57(7):46-48.
[3]王正林,王勝開,陳國(guó)順,等.MATLAB/Simulink與控制系統(tǒng)仿真[M].北京:電子工業(yè)出版社,2008.
[4]林志琦,郎建軍,李會(huì)杰,等.基于Proteus的單片機(jī)可視化軟硬件仿真[M].北京:北京航空航天大學(xué)出版社,2006.
[5]裴鋒,楊萬生.LabView與MATLAB混合編程[J].電子技術(shù)應(yīng)用,2004(3):4-6.