朱明慧,方 淼
(安徽大學(xué) 江淮學(xué)院,安徽 合肥 230039)
通信原理是高校通信工程和電子信息類專業(yè)一門重要的專業(yè)主干課,理論性強(qiáng)、概念抽象,公式推導(dǎo)繁瑣,學(xué)生難以理解和掌握[1]。實驗教學(xué)作為通信原理課程教學(xué)工作的重要組成部分,對提高學(xué)生動手能力、分析解決問題的能力等各方面起著重要作用。
傳統(tǒng)的通信原理實驗是利用實驗箱進(jìn)行的驗證性實驗,存在以下幾個方面的問題[2]:
實驗方式單一。由于以實驗箱為主體,內(nèi)部模塊參數(shù)已經(jīng)固化設(shè)定好,學(xué)生只需要機(jī)械地按照指導(dǎo)書上的步驟連線,在指定的測試點(diǎn)借助示波器就可以觀察實驗波形。只要實驗箱完好和連線正確,學(xué)生在不清楚實驗原理的情況下,也可以得到理想的波形結(jié)果。
實驗內(nèi)容缺乏系統(tǒng)性。常規(guī)的通信原理實驗一般包括模擬調(diào)制與解調(diào)、模擬信號的數(shù)字化、數(shù)字基帶信號的碼型變換、數(shù)字調(diào)制與解調(diào)等幾個典型的驗證性實驗,每個實驗?zāi)K是相互獨(dú)立的,不利于培養(yǎng)學(xué)生對整個通信過程的系統(tǒng)化理解。
實驗設(shè)備維護(hù)成本高。由于導(dǎo)線和實驗箱等耗材設(shè)備容易損壞,加上學(xué)生的錯誤操作,需要投入較大的人力和資金,定期對實驗臺進(jìn)行維護(hù)和替換。
由于計算機(jī)仿真技術(shù)的廣泛應(yīng)用和飛速發(fā)展,能夠引入軟件仿真技術(shù)對復(fù)雜通信系統(tǒng)進(jìn)行建模[3],利用集成仿真環(huán)境和圖形圖像處理等技術(shù),在PC機(jī)上實現(xiàn)可視化的系統(tǒng)虛擬仿真、可以替代傳統(tǒng)實驗各操作環(huán)節(jié)的相關(guān)軟硬件操作環(huán)境[4]。這是現(xiàn)代高校實驗教學(xué)的發(fā)展模式,彌補(bǔ)了實驗箱驗證性實驗教學(xué)的不足,能夠有效解決實驗方式機(jī)械、實驗設(shè)備維護(hù)困難和實驗內(nèi)容不系統(tǒng)等問題,其優(yōu)勢在于利用率高,易維護(hù),便于開展綜合性和設(shè)計性實驗。
Matlab環(huán)境下的Simulink能夠提供動態(tài)系統(tǒng)的建模、仿真和綜合分析的集成環(huán)境,模塊庫中擁有豐富的模塊組,還可以把有特定功能的代碼轉(zhuǎn)換成模塊,多個模塊之間可以組織成一個子系統(tǒng),因此具有內(nèi)在的模塊化設(shè)計功能,可以滿足用戶設(shè)計出各種需要的系統(tǒng)。為了在仿真過程中可以隨時觀察結(jié)果,Simulink提供了專門用于顯示輸出信號的模塊,比如示波器和頻譜儀。另外,考慮到用戶在仿真結(jié)束之后需要進(jìn)行數(shù)據(jù)分析和處理,Simulink的存儲模塊可以把仿真結(jié)果以波形、數(shù)據(jù)等形式保存到Matlab工作空間中?;贛atlab的上述功能,在Simulink環(huán)境下完全可以實現(xiàn)在硬件設(shè)備上要完成的實驗內(nèi)容,通過可視化的各種GUI控件,建立直觀的動態(tài)系統(tǒng)模型,從而為實驗教學(xué)提供功能豐富、操作便捷的虛擬仿真環(huán)境。
Matlab具有強(qiáng)大的數(shù)值運(yùn)算能力、方便實用的繪圖功能,以及語言的高度集成性和可視化建模仿真等功能,使得它在眾多學(xué)科領(lǐng)域成為應(yīng)用開發(fā)的基本工具和首選平臺[5]。Matlab下的Simulink仿真環(huán)境可以對動態(tài)系統(tǒng)進(jìn)行建模、仿真和分析,采用圖形化和模塊化的建模方式,模型結(jié)構(gòu)直觀,提供專門的輸出顯示模塊和存儲模塊,便于對仿真數(shù)據(jù)進(jìn)行分析和處理。學(xué)生在掌握好通信系統(tǒng)的組成及工作原理的基礎(chǔ)上,可以在本平臺上搭建系統(tǒng)模型,調(diào)整設(shè)計參數(shù),觀察實驗結(jié)果和分析系統(tǒng)性能等。
基于Matlab/Simulink對通信系統(tǒng)進(jìn)行虛擬仿真的具體實施方法如下[6]:
構(gòu)建模型。根據(jù)通信系統(tǒng)原理,確定各功能模塊及相互關(guān)系。
構(gòu)建仿真系統(tǒng)。依據(jù)構(gòu)建的數(shù)學(xué)模型,把所需要的單元功能模塊從simulink通信模型庫中調(diào)出,將其拖入到建立的模型窗口,連接各功能模塊,組建要仿真的通信系統(tǒng)模型??梢愿鶕?jù)實際需要封裝相應(yīng)模塊,比如PCM編/解碼模塊,方便后期傳輸系統(tǒng)的模塊調(diào)用。
設(shè)置參數(shù)。系統(tǒng)仿真參數(shù)有仿真時間、仿真步長和采樣頻率等,顯示模塊如示波器的掃描參數(shù),以及功能模塊參數(shù)如正弦波的幅度、頻率和初相位,都需要根據(jù)具體系統(tǒng)的性能指標(biāo)要求調(diào)整設(shè)置。
分析仿真數(shù)據(jù)和波形。為了觀測仿真系統(tǒng)的運(yùn)行情況,在系統(tǒng)的關(guān)鍵位置中接入顯示模塊,觀察輸出信號波形圖,并可以調(diào)整參數(shù)和分析結(jié)果。
數(shù)字通信系統(tǒng)具有抗干擾能力強(qiáng)、差錯可控和保密性好等優(yōu)點(diǎn),是當(dāng)今通信的發(fā)展方向。正是由于數(shù)字信號便于處理和變換,數(shù)字通信系統(tǒng)才具備這些優(yōu)點(diǎn)。但實際生活中,如語音信號等大部分信號為模擬信號,所以要實現(xiàn)模擬信號在數(shù)字系統(tǒng)中的傳輸,需要發(fā)送端進(jìn)行模數(shù)轉(zhuǎn)換(A/D轉(zhuǎn)換),接收端進(jìn)行數(shù)模轉(zhuǎn)換(D/A轉(zhuǎn)換)。脈沖編碼調(diào)制(PCM)系統(tǒng)可以實現(xiàn)模擬信號的數(shù)字化傳輸,從而為數(shù)字通信奠定了基礎(chǔ)。
脈沖編碼調(diào)制(PCM)是把模擬信號轉(zhuǎn)換為數(shù)字信號的一種調(diào)制方式,以模擬信號為調(diào)制信號,以二進(jìn)制脈沖序列為周期性載波。由于通過調(diào)制改變脈沖序列中的碼元的取值,正好對應(yīng)于PCM的編碼過程,所以PCM又稱為脈沖編碼調(diào)制[7]。
模擬信號通過PCM通信系統(tǒng)實現(xiàn)數(shù)字傳輸如圖1所示。首先,對通信中的信源發(fā)出的模擬信號進(jìn)行抽樣,得到時間離散、幅度連續(xù)的抽樣信號,再通過量化器來對幅度進(jìn)行離散化處理,再編碼實現(xiàn)有限位二進(jìn)制碼組表示有限個量化電平輸出,這時信號便可用數(shù)字通信方式傳輸。數(shù)字信號經(jīng)信道傳輸疊加噪聲傳送到接收端,通過譯碼器還原出抽樣值,再經(jīng)低通濾波器恢復(fù)出模擬信號[8-9]。
圖1 PCM通信系統(tǒng)方框圖
根據(jù)PCM編碼原理,構(gòu)造如圖2所示的編碼仿真模型對單個抽樣值進(jìn)行編碼。限幅器Saturation范圍設(shè)為[-1,1],將輸入信號幅度值限制在PCM編碼的歸一化范圍內(nèi)。PCM編碼輸出的最高位-極性位通過Relay模塊來獲得,其判決門限設(shè)置為0。利用Abs模塊對抽樣值取絕對值后,進(jìn)行13折線或15折線近似壓縮,壓縮類型由模塊輸入?yún)?shù)來決定??捎貌楸砟KLook-up table實現(xiàn)非線性壓縮,這里采用國際標(biāo)準(zhǔn)A律13折線近似壓縮,查表模塊輸入?yún)?shù)breakpoints設(shè)置為[0,1/128,1/64,1/32,1/16,1/8,1/4,1/2,1],輸出數(shù)組Table data 設(shè)置為[0∶1/8∶1]。為了便于對歸一化的抽樣值進(jìn)行量化,用gain增益模塊將樣值放大128倍轉(zhuǎn)換成整數(shù)幅度電平輸出,再用間距為1的Quantizer進(jìn)行量化。利用轉(zhuǎn)換模塊將整數(shù)量化電平編碼為7位二進(jìn)制比特數(shù)據(jù),作為PCM編碼的低7位。這里的抽樣值是1260/4096,仿真結(jié)果是11100011,與理論計算結(jié)果是一致的。
圖2 PCM編碼器
PCM譯碼是編碼的逆過程,因此根據(jù)編碼器仿真模型構(gòu)造出如圖3所示的譯碼器模型。PCM譯碼器中通過Demux模塊分離出8位并行數(shù)據(jù)中的低7位數(shù)據(jù)和極性位,極性位的判定用Relay模塊來實現(xiàn)。由低7位二進(jìn)制碼組恢復(fù)成原抽樣值,需要經(jīng)過一系列變換和處理,第一步通過轉(zhuǎn)換模塊將低7位比特數(shù)據(jù)轉(zhuǎn)換為相應(yīng)的整數(shù)數(shù)值,然后通過增益模塊進(jìn)行歸一化處理并利用查表模塊達(dá)到擴(kuò)張目的,最后與雙極性的極性碼相乘得出原抽樣值。各模塊的參數(shù)設(shè)置跟編碼器相反。
圖3 PCM譯碼器
針對某一模擬信號,先對該信號進(jìn)行抽樣,然后對抽樣值進(jìn)行PCM編碼,編碼后的數(shù)字信號以串行形式進(jìn)行傳輸,因此該系統(tǒng)稱為PCM串行傳輸系統(tǒng)。數(shù)字信號通過傳輸信道到達(dá)接收端,在接收端首先要進(jìn)行串并轉(zhuǎn)換,后進(jìn)行PCM解碼,并輸出結(jié)果。系統(tǒng)仿真模型如圖4所示。
圖4 PCM串行傳輸系統(tǒng)
圖4中信號發(fā)生器產(chǎn)生振幅為1、頻率為100 Hz的正弦波作為信源。采樣使用Zero-Order Hold(零階保持器)模塊,采樣時間設(shè)置為125 μs。利用Frame Conversation模塊把PCM編碼器產(chǎn)生的數(shù)據(jù)轉(zhuǎn)換為幀存儲格式,通過大小設(shè)置為1的Buffer模塊進(jìn)行串行化輸出。由于每個抽樣值對應(yīng)8位碼組,因此串行數(shù)據(jù)經(jīng)過信道后,用大小設(shè)置為8的Buffer模塊,來實現(xiàn)PCM碼的串并轉(zhuǎn)換。最后通過Reshape模塊把8位碼組轉(zhuǎn)換成一維數(shù)組后送給PCM譯碼器,由譯碼器完成抽樣值的恢復(fù)。
為了觀察PCM傳輸受信道誤碼的影響,將信道錯誤比特率設(shè)置為0.01,最后得出仿真結(jié)果如圖5所示。由圖5可見,對應(yīng)于信道產(chǎn)生誤碼的位置,解碼恢復(fù)信號在相應(yīng)的位置出現(xiàn)了干擾脈沖,而在沒有添加誤碼的情況下,接收端能夠正確恢復(fù)出正弦信號。
圖5 基于正弦信號的PCM系統(tǒng)的仿真結(jié)果
使用Simulink中DSP模塊庫的音頻輸入輸出模塊來測試PCM串行傳輸系統(tǒng)解碼音質(zhì)的好壞,測試模型如圖6所示??梢凿浿埔欢握Z音,保存為一個Wav文件,模型中用From Audio Device模塊來讀取語音文件,Gain模塊可用于調(diào)整輸入聲音信號的幅度。利用上面的編碼模塊,對語音信號進(jìn)行PCM編碼,經(jīng)過BSC信道和PCM解碼模塊,恢復(fù)的語音信號通過揚(yáng)聲器播放。
圖6 PCM傳輸系統(tǒng)的音質(zhì)測試模型
將BCS信道的誤碼率由大到小分別設(shè)置10-1、10-2、10-3、10-4四組數(shù)據(jù),通過仿真可聽到在四種不同誤碼率下傳輸?shù)腜CM解碼恢復(fù)的語音信號。仿真結(jié)果證明誤碼率設(shè)置為10-1時,揚(yáng)聲器的播放音頻的音質(zhì)很差,噪聲干擾很大;誤碼率設(shè)置為10-2時,揚(yáng)聲器的播放音頻的音質(zhì)有所提高,可分清音質(zhì),但仍存在明顯噪聲;誤碼率設(shè)置為10-3時,揚(yáng)聲器的播放音頻的音質(zhì)有較大改善;誤碼率設(shè)置為10-4時,揚(yáng)聲器的播放音頻的音質(zhì)噪聲幾乎沒有了。由此可見,滿足在PCM電話系統(tǒng)中對語音解碼通常要求誤碼率在10-3和10-4以下。不過對誤碼率要求更嚴(yán)格的通信系統(tǒng),比如數(shù)據(jù)通信,可以采用差錯控制技術(shù)來進(jìn)一步降低傳輸誤碼率。
將PCM編解碼模塊應(yīng)用到數(shù)字帶通傳輸系統(tǒng)中,采用BPSK調(diào)制技術(shù),完成信號的傳送和恢復(fù),其仿真模型如圖7所示。信號源是以8000 Hz為采樣頻率的語音信號,通過PCM編碼模塊轉(zhuǎn)換成二進(jìn)制比特數(shù)據(jù),將數(shù)據(jù)流送入到BPSK調(diào)制器中進(jìn)行相位調(diào)制。調(diào)制器可以采用不同的數(shù)字調(diào)制模塊,也可以根據(jù)系統(tǒng)要求自行設(shè)計合適的調(diào)制模塊。已調(diào)信號經(jīng)過高斯信道進(jìn)入到解調(diào)器中,解調(diào)器輸出數(shù)字比特流,由PCM解碼模塊實現(xiàn)語音信號的恢復(fù),信源輸入信號和接收端恢復(fù)信號波形如圖8所示。在經(jīng)過信道傳輸過程中,即使疊加了高斯白噪聲,誤碼率才達(dá)到0.00225,誤碼計算模塊統(tǒng)計出的誤碼如圖9所示,可見設(shè)計的該仿真系統(tǒng)不僅能夠?qū)⒄Z音信號較好地還原出來, 誤碼率也能夠滿足語音電話系統(tǒng)的要求。
圖7 基于PCM的BPSK調(diào)制數(shù)字通信系統(tǒng)模型
圖8 輸入語音信號和輸出語音信號的時域波形對比圖
圖9 誤碼統(tǒng)計結(jié)果
通過對脈沖編碼調(diào)制系統(tǒng)的仿真實現(xiàn)和應(yīng)用研究,可以利用Matlab/Simulink集中環(huán)境,在通信原理實驗課程中構(gòu)建虛擬仿真實驗通信系統(tǒng),使得復(fù)雜通信系統(tǒng)的仿真設(shè)計得以計算機(jī)軟件來模擬實現(xiàn),避免了實驗箱等硬件設(shè)備的技術(shù)更新和維護(hù)困難。利用Matlab/Simulink進(jìn)行虛擬仿真的實驗教學(xué)方式,使得學(xué)生深入探究和理解通信系統(tǒng)的工作原理,并可以方便直觀地觀察信號的動態(tài)變化,激發(fā)學(xué)生的學(xué)習(xí)興趣和積極性。在實驗過程中,學(xué)生搭建虛擬仿真模型,以及靈活調(diào)整參數(shù)來得到理想仿真結(jié)果,這種實驗教學(xué)方式既鍛煉了學(xué)生的實踐操作能力,又培養(yǎng)了學(xué)生系統(tǒng)設(shè)計和開發(fā)能力,從而提高教學(xué)質(zhì)量,彌補(bǔ)了傳統(tǒng)硬件實驗的不足,對通信專業(yè)虛擬仿真實驗開展具有一定的借鑒意義。