吳冉 劉登峰 俊杰 等
摘要:針對目前通信專業(yè)實驗課程存在的問題,將Matlab引入實驗教學,以PCM串行傳輸這個驗證型實驗為例,用Matlab編程、Simulink建模仿真、GUI圖形界面3種形式分別實現(xiàn).驗證了脈沖編碼調制的抽樣、量化、編碼、譯碼的過程以及對于編碼和解碼誤差原因的分析.通過多方式的驗證型教學,提高了學生的工程基礎素質和動手能力.對于通信專業(yè)驗證型實驗的開展具有一定的借鑒意義.
關鍵詞:PCM;Matlab;GUI;Simulink
中圖分類號:TP914? 文獻標識碼:A? 文章編號:1673-260X(2019)02-0062-03
目前,南陽理工學院通信專業(yè)的實驗項目大多是驗證型,設計型和創(chuàng)新型的實驗項目很少,學生的動手能力和創(chuàng)新能力得不到培養(yǎng),驗證型實驗大部分也是通過傳統(tǒng)的實驗箱,學生按照實驗指導書進行連線,再通過示波器進行觀察,這種驗證性的實驗真正需要學生思考和動手的機會不多.實驗結果受硬件局限性大,當實驗波形效果不理想時,能調節(jié)和修改的地方很少,實驗目的難以達到.為了提高學生的學習興趣,為了彌補傳統(tǒng)實驗箱的缺點,為了提高教學質量,為了提高學生的創(chuàng)新能力,依托實驗室,成立了以老師指導,學生動手的團隊,在教師的指導下,本團隊學生通過Matlab以編程,Simulink建模仿真,GUI圖形界面3種形式分別實現(xiàn)PCM(脈沖編碼調制)串行傳輸系統(tǒng).3種方法的理論原理是一樣的,只是實現(xiàn)方式不同,其基本原理如圖1所示.在發(fā)送端通過對模擬信號抽樣、量化、編碼[1],得到PCM數(shù)字信號,這時信號便可以用數(shù)字通信方式傳輸,經(jīng)信道傳送到接收端的譯碼器,進而還原出抽樣值,再經(jīng)低通濾波器濾出模擬信號[2].其中,發(fā)送端的抽樣、量化、編碼,實現(xiàn)了模擬信號到數(shù)字信號的轉換,即A/D變換[1,2],接收端的譯碼、濾波實現(xiàn)了數(shù)字信號到模擬信號的轉換,即D/A變換[1,2].學生可以通過這3種方式分別實現(xiàn)PCM[3]串行傳輸,然后進行對比分析.用GUI[4]圖形界面和Simulink搭建的通信仿真系統(tǒng)可以方便直觀地展現(xiàn)信號的狀態(tài)變化,使抽象的通信理論形象化,有助于學生對理論知識的理解[3-5].用Matlab編寫程序代碼可以培養(yǎng)學生的編程能力為以后的畢設和工作打下扎實的基礎.
1 用Matlab編程仿真PCM串行傳輸
仿真時信源的幅度為1,頻率為1000Hz,信號抽樣頻率為8000Hz,編碼環(huán)節(jié)采用A律13折線編碼[6-7].圖2是用Matlab編程進行仿真得到的模擬信號、抽樣信號和PCM輸出信號,圖3是經(jīng)過譯碼器還原出來的抽樣信號和原始模擬信號.仿真計算出量化誤差為0.3222.
對比圖1和圖2可以看出模擬信號經(jīng)PCM調制以后變成了數(shù)字信號,再經(jīng)譯碼仍可還原出原始的模擬信號,因為不是理想抽樣所以還原出來的抽樣信號與原抽樣信號有差異.
2 用Matlab中的Simulink仿真PCM串行傳輸
用Simulink進行建模的圖形如圖4所示.學生在仿真過程中首先需要建模,然后對每個模塊進行參數(shù)設計,在建模的時候學生必須對PCM編譯碼的整個過程非常熟悉,知道要用到哪些模塊,為啥要用到這些模塊,每個模塊的作用是什么;在對每個模塊進行參數(shù)設計時,也要對整個實驗原理非常清楚,如果參數(shù)設計不正確,實驗結果也會有誤.驗證型實驗是基礎,通過多方式的質疑式的驗證型教學,學生的工程基礎素質和動手能力才能提高.學生通過這種方式做完驗證型實驗,才可以熟能生巧,進行下一步的設計型和創(chuàng)新型實驗.
圖4中信源為幅度為1,頻率為200Hz的正弦波,抽樣頻率為8000Hz,PCM編碼器編碼后的數(shù)據(jù)用Frame Status Conwersion模塊轉換為幀存儲格式,然后通過Buffer模塊串行化輸出,Buffer的大小設置為1.信道錯誤比特率設置為0.01,方便觀察信道誤碼對PCM傳輸?shù)挠绊?本仿真中顯示的信道錯誤比特率為0.5962如圖5所示.Buffer2模塊的大小設置為8,實現(xiàn)PCM碼(8個比特)的串并轉換.用Reshape模塊轉換成一維數(shù)組后送給PCM譯碼器.
用Simulink仿真建模以后仿真出來的圖形如圖6和圖7所示,圖8是用實驗箱對一個模擬信號(黃色)進行PCM編碼從示波器上觀察的PCM(藍色)圖形,圖9是用實驗箱將PCM信號進行譯碼還原成模擬信號(藍色)與原模擬信號(黃色)進行對比.
圖6從上到下依次是誤碼波形和PCM波形,圖6的第二個圖形(PCM)可以與圖8的PCM(藍色)進行對比分析,圖7從上到下依次是譯碼輸出的波形和原話音信號波形,可以與圖9進行對比分析.其中圖7種譯碼輸出波形中出現(xiàn)了干擾,這是因為信道中錯誤比特在PCM編碼字符串中的位置不同造成的,如果位于最高位,引起的干擾最大,如果位于最低位引起的干擾最輕.通過實驗箱和Simulink的仿真對比,當出現(xiàn)錯誤時學生可以很清楚地知道是哪個環(huán)節(jié)引起的錯誤,學生對PCM編譯碼的原理的理解會更加透徹.他們的基本技能也得到了提升.
3 利用Matlab設計的PCM的GUI界面
圖9是學生利用Matlab自己設計的PCM的GUI界面,輸入信號有兩種:隨機信號和正弦波;抽樣方式有3種:理想抽樣,零階保持和自然抽樣;量化方式有2種:一種是根據(jù)量化值最接近原始值和均方量化誤差最小這2種規(guī)則編寫的算法;另一種是壓縮擴張法;圖9選擇的是正弦信號,然后點擊plot按鈕,就畫出來圖中的正弦波,選Ideal Sampling,再點Sampling按鈕就得到了采樣以后的信號,量化選擇Two rules and an algorithm,再點Quantize按鈕就得到了量化以后的信號,均方量化誤差MSE是0.322349,然后點Bitstream就得到了用0,1表示的PCM數(shù)字信號,如圖10所示.
選擇隨機信號,零階保持,壓縮擴張法得到的圖形如圖11所示,圖中G(x)表示的是壓縮器.
4 結束語
驗證型實驗是設計型和創(chuàng)新型實驗的基礎,為了克服驗證型實驗的缺點,為了讓學生通過驗證型實驗真正提高他們的動手能力和創(chuàng)新能力,本文依托實驗室,成立了以老師指導,學生動手的團隊,在教師的指導下,本團隊學生通過Matlab以編程,Simulink建模仿真,GUI圖形界面3種形式對脈沖編碼調制系統(tǒng)過程進行了仿真對比分析,以探究和驗證脈沖編碼調制的抽樣、量化、編碼和解碼的過程,加深學生對PCM串行傳輸系統(tǒng)的理解,對于PCM的實現(xiàn)和通信專業(yè)驗證型實驗的開展具有一定的借鑒意義.
參考文獻:
〔1〕劉振霞,馬志強,錢淵,李瑞欣.程控數(shù)字交換技術[M].西安:西安電子科技大學出版社,2013.9-11.
〔2〕張水英,徐偉強.通信原理及MATLAB/Simulink仿真[M].北京:人民郵電出版社,2012.146-149.
〔3〕張原,魏璐璐,王靜.基于MATLAB的脈沖編碼調制仿真[J].電腦知識與技術,2016,12(36),215-217.
〔4〕郭慧.基于PCM編碼的模擬信號數(shù)字化實現(xiàn)[J].微型機與應用,2017(2):70-72.
〔5〕李紅.基于Matlab的量化編碼的研究[J].黑龍江科技信息,2010(25):83.
〔6〕趙守彬,李鴻剛.利用Matlab實現(xiàn)PCM編碼的A律13折線法量化[J].科技信息,2009(36):547.
〔7〕馮微瑋.基于MATLAB的PCM仿真[J].科技致富向導,2012(14):31-33.