孫豐剛 蘭鵬
【摘 要】針對通信原理類課程的教學特點以及基于硬件實驗教學過程中存在的問題,討論了將MATLAB軟件引入到通信系統(tǒng)仿真教學的必要性。以單/雙極性不歸零碼為例,分別從理論分析和編程仿真兩個方面給出了兩種碼型在高斯信道中的誤碼性能分析,并給出了仿真結果。將MATLAB軟件引入到通信系統(tǒng)仿真教學中,可增強所學理論知識點的直觀性和生動性,增加學生的學習興趣,提高了學生的知識理解能力和編程能力,改善了教學效果。
【關鍵詞】通信系統(tǒng)仿真;MATLAB;不歸零碼;誤碼率
中圖分類號: G642;TN911-4;TP391.9-4 文獻標識碼: A 文章編號: 2095-2457(2018)06-0017-002
【Abstract】According to the teaching property of communications principles and the difficulties in the hardware based experiments teaching,we have discussed the necessaries to introduce the MATLAB software into the communications systems simulations courses.Taking the single/double polarity not return zero(NRZ) code as an example,we derived the bit error rate performance by considering the two codes over the additive Gaussian channels,and provided the corresponding simulation results.By introducing MATLAB into communications systems simulations,it can enhance the intuition and vividness of the theoretical knowledge,increase the students learning interest and programming ability,and raise the teaching effects of courses.
【Key words】Communications Systems Simulations;MATLAB;Not Return to Zero Code;Bit Error Rate
0 前言
通信原理課程是高等院校電子信息類專業(yè)學生所面臨的一門專業(yè)核心課,是許多專業(yè)課如移動通信、信息論與編碼等課程的先修課。該課程的學習情況將會對后續(xù)課程的學習產生重要影響。然而因其理論性強、概念抽象、數學基礎要求高等特點[1],學習難度較大。為提升教學效果,通常采用實驗箱作為實驗教學環(huán)節(jié)的手段,但卻存在設備有限且易損壞、維護困難及實驗內容不夠靈活的問題。為此,有必要引入通信系統(tǒng)仿真教學環(huán)節(jié)。
MATLAB作為可實現算法開發(fā)、數據可視化、數據分析及數值計算的一種高級技術語言,為科學研究、工程設計等諸多領域提供了一種全面的解決方案[2][3]。利用MATLAB軟件來實現通信系統(tǒng)仿真,可提供形式更加靈活、內容更加豐富的實踐方式。仿真過程要求學生對所學理論知識有著清晰的理解,同時培養(yǎng)了學生的編程能力。
下面以通信單/雙極性非歸零碼的誤碼性能為例進行分析。
1 單/雙極性不歸零碼介紹
數字信號基帶傳輸中可不經過調制和解調過程,而直接傳輸未經調制的基帶信號。不歸零碼指的是在一個碼元周期內電壓始終保持不變的碼字。其中,單極性不歸零碼分別用二進制數字“1”和“0”表示正電平和零電平,雙極性不歸零碼分別用二進制數字“1”和“0”表示正、負電平。與單極性編碼方式相比,雙極性編碼在“0”“1”等概率時無直流分量,譯碼過程不易受到信道特性變化的影響,抗干擾能力也較強[4]。
2 誤碼性能分析
2.1 誤碼性能理論分析
2.2 誤碼性能仿真分析
本次實驗所采用的算法流程如圖1所示。該算法共分為四個階段:碼字產生、加入高斯白噪聲、信號譯碼及信號比對等。
各部分重點實現如下:
(1)產生單/雙極性非歸零碼字
rand1=rand(1,N);%產生N個均勻分布隨機數
binX=(rand1>0.5); %產生等概率的0、1序列
SingPolar=sqrt(2)*binX;%單極性,功率歸一化
DoubPolar=2*binX-1;%雙極性
(2)加入高斯白噪聲
x1=SingPolar+sqrt(1/snr/2)*(randn(1,N)+1i*randn(1,N));%信噪比為snr時加入高斯白噪聲
x2=DoubPolar+sqrt(1/snr/2)*(randn(1,N)+1i*randn(1,N));%信噪比為snr時加入高斯白噪聲
(3)信號譯碼
x1_r=(real(x1)>sqrt(1/2)); %單極性譯碼
x2_r=(real(x2)>0); %雙極性譯碼
(4)信號比對及誤碼率計算
N_er1=sum(xor(binX,x1_r));%單極性錯碼個數
P1=N_er1/N; %單極性誤碼率
N_er2=sum(xor(binX,x2_r));%雙極性錯碼個數
P2=N_er2/N; %雙極性誤碼率
2.3 結果分析
圖2中給出了單/雙極性非歸零碼在高斯信道中的理論及仿真誤比特性能??梢钥闯?,理論值和仿真值結果重合,從而證明了理論結果和仿真結果的正確性。此外,雙極性的誤碼性能優(yōu)于單極性編碼。當誤碼率為10-1時,雙極性碼和單極性碼所需要的信噪比分別為-1分貝和2分貝。當誤碼率為10-2時,雙極性碼和單極性碼所需要的信噪比分別為4分貝和7分貝。可以看出,雙極性碼相比于單極性碼能獲得3分貝的優(yōu)勢,這也與理論分析結果(3)和(4)相吻合。
3 結論
利用MATLAB實現通信系統(tǒng)仿真,可有效克服傳統(tǒng)實驗教學中存在的實驗內容單一及設備昂貴等問題。MATLAB的引入,進一步豐富了實驗內容,增強了實驗教學的直觀性和生動性,可有效加深學生對理論知識的理解能力,提高學生的學習興趣,有利于學生動手能力和創(chuàng)新能力的培養(yǎng)。
【參考文獻】
[1]王忠禮,張海一.通信原理課程的微課程教學模式開發(fā)與設計[J].科技視界,2017(17):16-17.
[2]任秋潔,呂治國.MATLAB在通信系統(tǒng)仿真教學中的應用研究[J].科技視界,2017(20):79-80.
[3]關雪梅,陳純鍇.基于Matlab的通信原理實驗教學的研究[J].實驗技術與管理,2008,25(5):99-101.
[4]樊昌信,曹麗娜.通信原理(第7版)[M].國防工業(yè)出版社,2012.