張歆彤
摘 要:科學(xué)計(jì)算語言產(chǎn)生于20世紀(jì)80年代,其中MATLAB語言是當(dāng)前工程界最流行的科學(xué)計(jì)算語言,MATLAB長于數(shù)值計(jì)算,能處理大量的數(shù)據(jù),并且處理效率很高,它最主要的的用途在于數(shù)據(jù)可視化、算法開發(fā)、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級(jí)技術(shù)計(jì)算語言。在MATLAB中,Simulink是其工具包中重要的一員,是一種圖形化的仿真工具包,Simulink在實(shí)際操作中能夠?qū)崿F(xiàn)動(dòng)態(tài)系統(tǒng)建模、仿真并進(jìn)行綜合分析。最重要的是在同一系統(tǒng)中支持不同的變化速率。
關(guān)鍵詞:MATLAB;Simulink;通信系統(tǒng);神經(jīng)網(wǎng)絡(luò)
DOI:10.16640/j.cnki.37-1222/t.2018.11.128
1 MATLAB的產(chǎn)生和發(fā)展
MATLAB產(chǎn)生于上世紀(jì)70年代,它的編寫者是CleveMoler博士以及他的同事。當(dāng)時(shí),CleveMoler博士和他的同事開發(fā)了用于求解線性方程的EISPACK和LINPACK的Fortran子程序庫,然而,CleveMoler發(fā)現(xiàn)發(fā)現(xiàn)學(xué)生在使用這兩個(gè)程序庫存在一定的困難,主要原因是因?yàn)榻涌诔绦虿缓脤憽S谑荂leveMoler博士在業(yè)余時(shí)間自己動(dòng)手編寫了EISPACK和LINPACK 的接口程序。CleveMoler博士給這個(gè)接口程序取名為MATLAB,意為矩陣(MATRIX)和實(shí)驗(yàn)(LABORATORY)的組合。
在1984年,CleveMoler和他的朋友JohnLittle共同創(chuàng)辦了MathWorks公司,正式把MATLAB 推向市場并繼續(xù)進(jìn)行更多功能的開發(fā)。在1993年,MathWorks公司向市場推出了MATLAB4.0版本;1995年,MathWorks 公司繼續(xù)推出了MATLAB4.2C版本;緊接著又推出了5.0、6.0、6.5版本;在2004年6月MATLAB最新的版本MATLAB7.0 開始發(fā)布。多年以來,MATLAB每一次新版本的發(fā)布都在功能上有不斷地完善。MathWorks公司不斷推陳出新,使MATLAB界面越來越友好,內(nèi)容越來越豐富,功能越來越強(qiáng)大。
2 MATLAB的實(shí)際應(yīng)用
2.1 MATLAB的通信系統(tǒng)仿真
完成消息傳遞所需要的所有設(shè)備,統(tǒng)稱為通信系統(tǒng)。隨著科技的不斷進(jìn)步發(fā)展,人們越來越注重傳遞消息效率,因而通信的方式也越來越復(fù)雜。MATLAB在實(shí)現(xiàn)數(shù)字通信的仿真方面起到了重要的作用,同時(shí)MATLAB對(duì)于實(shí)現(xiàn)數(shù)字通信的仿真有許多重要的方法和技巧。
在MATLAB 的Communication Toolbox中提供了許多仿真函數(shù)和模塊,用于對(duì)通信系統(tǒng)進(jìn)行仿真和分析。用戶如果有自己的想法,可以根據(jù)自己對(duì)系統(tǒng)的需求選擇合適的仿真函數(shù)或模塊構(gòu)造合適的模型,通信工具箱中的所有仿真模塊可以根據(jù)實(shí)際需求進(jìn)行修改,從而使設(shè)計(jì)的模型滿足相應(yīng)的需求。通信工具箱的內(nèi)容主要包括:MATLAB函數(shù)和Simulink仿真模塊,所以它是以MATLAB和Simulnik 為工作平臺(tái)。
通信系統(tǒng)的MATLAB仿真包括信源編譯碼、調(diào)制解調(diào)技術(shù)、通信仿真輸出和同步技術(shù)的仿真。
(1)編碼與譯碼。通信工具箱包含一些信源的編/譯碼的基本函數(shù)。信源編碼有時(shí)候也常叫做量化信號(hào)或格式化信號(hào)。通信工具箱提供了兩種信源編譯碼的方法:標(biāo)量量化和預(yù)測量化。
(2)調(diào)制解調(diào)技術(shù)。1)模擬調(diào)制與解調(diào)。模擬調(diào)制與解調(diào)技術(shù)的應(yīng)用可以合理利用頻帶資源,并且能夠提高通信的質(zhì)量。通常連續(xù)波的模擬調(diào)制以正弦波為載波,調(diào)制方式分為:相位調(diào)制、頻率調(diào)制和幅度調(diào)制。2)數(shù)字調(diào)制與解調(diào)。Simulink通信工具箱模塊庫中包含一個(gè)專門的調(diào)制解調(diào)模塊子庫,同時(shí)將映射和調(diào)制功能集成在一個(gè)模塊中。同時(shí),通信工具箱還提供了一個(gè)單獨(dú)的調(diào)制模塊庫、解調(diào)模塊庫和逆映射模塊庫,以方便用戶可以單獨(dú)調(diào)用這些模塊。
(3)通信系統(tǒng)仿真輸出。在通信系統(tǒng)仿真中的一個(gè)主要任務(wù)就是評(píng)估傳輸系統(tǒng)的誤碼率與誤比特率。MATLAB提供了一種有效的分析誤碼率的工具—誤碼率圖形窗,它可用來計(jì)算和比較不同調(diào)制方式、不同差錯(cuò)控制編碼方式和不同信道噪聲模型條件下的通信系統(tǒng)的誤碼率。
(4)同步技術(shù)。在通信系統(tǒng)中,為了正確復(fù)制源信號(hào),要求接收端必須調(diào)制與發(fā)送端同步。在模擬和數(shù)字載波系統(tǒng)中最常用的同步類型是載波同步;在數(shù)字通信中,有時(shí)也使用定時(shí)同步、時(shí)鐘同步和定時(shí)恢復(fù)。在Simulink模塊庫中提供了多個(gè)具有同步功能的模塊,如:PLL模塊、基帶PLL模塊、進(jìn)料泵PLL模塊等。
2.2 MATLAB在人工神經(jīng)網(wǎng)絡(luò)系統(tǒng)中的應(yīng)用
神經(jīng)網(wǎng)絡(luò)系統(tǒng)是當(dāng)前科技潮流中一種新的系統(tǒng),該系統(tǒng)能夠進(jìn)行自適應(yīng)學(xué)習(xí)、分布并行處理、魯棒容錯(cuò)、非線性映射等功能,這些功能使得它能夠在圖像處理、智能信息處理、控制優(yōu)化、模式識(shí)別等多方面有廣泛的應(yīng)用。
在MATLAB中,包含了神經(jīng)網(wǎng)絡(luò)工具箱,該工具箱以人工神經(jīng)網(wǎng)絡(luò)理論為開發(fā)基礎(chǔ),通過使用MATLAB程序設(shè)計(jì)出各種具有典型功能的神經(jīng)網(wǎng)絡(luò)激活函數(shù),比如S型激活函數(shù)、競爭層激活函數(shù)、線性激活函數(shù)等。使用者在操作過程中,不必再對(duì)所選定網(wǎng)絡(luò)輸出進(jìn)行計(jì)算,可以調(diào)用激活函數(shù)達(dá)到目的。另外,參考各種典型的修正網(wǎng)絡(luò)權(quán)值規(guī)則可以使用MATLAB語言編寫出各種實(shí)際需要網(wǎng)絡(luò)設(shè)計(jì)和訓(xùn)練的子程序。在仿真過程中,使用者可以根據(jù)自己模型的需求調(diào)用神經(jīng)網(wǎng)絡(luò)工具箱中有關(guān)神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)訓(xùn)練程序,從而避免進(jìn)行復(fù)雜的編程工作,這樣可以使設(shè)計(jì)者集中精力去進(jìn)行技術(shù)上的突破。
MATLAB的神經(jīng)網(wǎng)絡(luò)工具箱中基本包括了神經(jīng)網(wǎng)絡(luò)的所有模型,如回歸網(wǎng)絡(luò)、線性網(wǎng)絡(luò)、自組織網(wǎng)絡(luò)、徑向基函數(shù)網(wǎng)絡(luò)、感知器等。在MATLAB中提供了大量的可以直接調(diào)用的工具箱函數(shù)與仿真GUI和Simulink仿真工具,功能強(qiáng)大,使用方便,是進(jìn)行神經(jīng)網(wǎng)絡(luò)系統(tǒng)分析與設(shè)計(jì)的極好工具。
3 結(jié)語
MATLAB是當(dāng)今最優(yōu)秀的科技應(yīng)用軟件之一,它的優(yōu)點(diǎn)有很多,界面簡單方便使用,能夠進(jìn)行復(fù)雜的科學(xué)、具有開放式可擴(kuò)展的應(yīng)用環(huán)境和可視化功能。本文詳細(xì)介紹了MATLAB的產(chǎn)生、發(fā)展和仿真技術(shù)的特點(diǎn),以通信系統(tǒng)仿真和人工神經(jīng)網(wǎng)絡(luò)為例闡述了MATLAB仿真技術(shù)的實(shí)際應(yīng)用,能夠使讀者對(duì)MATLAB得到初步了解,有利于后續(xù)的深入學(xué)習(xí)。