無(wú)線(xiàn)通信系統的GUI設計與仿真實(shí)現
引言
本文引用地址:http://dyxdggzs.com/article/155448.htm軟件系統的用戶(hù)接口有兩類(lèi),即命令驅動(dòng)方式的 交互式問(wèn)答接口和事件驅動(dòng)方式的圖形用戶(hù)接口 (GUI)。通常在開(kāi)發(fā)一個(gè)實(shí)際的應用軟件系統時(shí)會(huì )盡 量做到界面友好,最常使用的方法就是使用圖形用戶(hù)界 面。圖形用戶(hù)界面用各種圖形對象,如圖形窗口、圖軸、 菜單、文本框等構建的用戶(hù)界面,是人機交流的工具和方法。利用用戶(hù)界面,用戶(hù)可以直接與計算機進(jìn)行信息 交流,不需了解應用程序究竟是怎樣執行各種命令的, 而只需了解可見(jiàn)界面組件的使用方法,通過(guò)與界面交流 就可以使指定的行為得到正確執行。
圖形用戶(hù)界面具有很強的交互性,在這樣的一個(gè)良好的用戶(hù)界面中可以方便地進(jìn)行通信系統的參數設置,可以同步顯示通信信號經(jīng)過(guò)每一步處理后的波形,能夠使用戶(hù)更為方便地對無(wú)線(xiàn)通信系統進(jìn)行軟件設計和功能分析。
通信的目的就是傳輸信息。通信系統的作用就是將信號從信源發(fā)送到一個(gè)或多個(gè)信宿。因此,按照信道中傳輸的是模擬信號還是數字信號,相應地把通信系統分為模擬通信系統和數字通信系統。
1 無(wú)線(xiàn)通信系統仿真模型的構建
通信的目的就是傳輸信息。通信系統的作用就是將信號從信源發(fā)送到一個(gè)或多個(gè)信宿。因此,按照信道中傳輸的是模擬信號還是數字信號,相應地把通信系統分為模擬通信系統和數字通信系統。
(1)模擬通信系統模型
信源發(fā)出的原始電信號是基帶信號,基帶是指信號的頻譜從零頻附近開(kāi)始,如語(yǔ)音信號300~3 400 Hz,由于這種信號具有頻率很低的頻譜分量,一般不宜直接傳輸,這就需要把基帶信號變換成其頻帶適合在信道中傳輸的信號,并在接收端進(jìn)行反變換。完成這種變換和反變換通常利用調制器和解調器。經(jīng)過(guò)調制以后的信號稱(chēng)為已調信號,已調信號有三個(gè)基本特征:攜帶有用信息;適合在信道中傳輸;信號的頻譜具有帶通形式且中心頻率遠離零頻。
(2)數字通信系統模型
數字通信系統是利用數字信號來(lái)傳遞信息的通信系統。數字通信涉及的技術(shù)問(wèn)題很多,其中主要有信源編碼/譯碼、信道編碼/譯碼、數字調制/解調、數字復接、
同步以及加密等。
2 無(wú)線(xiàn)通信系統信號處理的GUI設計
通常情況下,實(shí)現GUI設計有兩種方法:使用Matlab自身提供的圖形用戶(hù)界面設計向導(Graphics User Interface Design Environment,GUIDE),或者是使用全腳本編程。利用GUIDE進(jìn)行圖形用戶(hù)界面設計,向導會(huì )自動(dòng)生成一個(gè)fig文件,及一個(gè)包含fig中放置控件相應回調函數的M腳本文件。利用全腳本編程實(shí)現,由于Matlab自帶demo,包括按鈕、文本標簽、編輯文本框、列表框等,通過(guò)閱讀M文件程序代碼可以直觀(guān)而快速地掌握GUI設計的技巧。采用全腳本實(shí)現,M文件代碼可重復使用,可生成非常復雜的界面,可方便地在句柄中存取數據,可將創(chuàng )建對象代碼與動(dòng)作執行代碼很好地結合起來(lái)。對于GUI設計,針對不同的情況來(lái)確定使用GUIDE還是全腳本,也可以考慮兩者的結合使用來(lái)發(fā)揮各自的優(yōu)勢。
3 基于Matlab的無(wú)線(xiàn)通信系統GUI設計與實(shí)現
本文采用Matlab的GUIDE進(jìn)行通信系統仿真平臺的設計與實(shí)現H],對通信信號進(jìn)行實(shí)時(shí)處理。GUIDE是一個(gè)專(zhuān)門(mén)用于GUI程序設計的快速開(kāi)發(fā)環(huán)境,包括控制面板、屬性編輯器、事件過(guò)程編輯器、對齊工具和菜單編輯器五個(gè)圖形用戶(hù)界面編輯工具。用戶(hù)利用該向導可以將圖形界面的外觀(guān),包括所有的按鍵及圖形的位置進(jìn)行確定,然后利用Matlab的回調函數編輯器來(lái)編寫(xiě)完成約定任務(wù)的函數代碼,從而方便快捷地設計出一個(gè)圖形用戶(hù)界面。GUIDE 將用戶(hù)保存設計好的GUI界面保存在一個(gè)FIG資源文件中,同時(shí)還能夠生成包含GUI初始化的組建界面布局控制代碼的M文件。這個(gè)M文件為實(shí)現回調函數提供了一個(gè)參考框架。
通信信號處理的GUI設計一般分為以下五個(gè)步驟:
(1)確定GUl對象,通過(guò)設置GUIDE應用程序的選項來(lái)進(jìn)行GUIDE組態(tài)在面向對象的系統分析(00A)過(guò)程中,從信號處理的系統中抽象出面向對象編程(00P)的類(lèi)和對象。對話(huà)框的選項包括窗口重畫(huà)行為,命令行訪(fǎng)問(wèn)、生成文件選擇、生成回調函數原型、使用系統背景顏色配置等選項,通過(guò)不選或選中它們來(lái)實(shí)現圖形用戶(hù)界面的整體組態(tài)設計。
(2)使用界面設計編輯器進(jìn)行GUI界面設計
Matlab界面設計編輯器組件平臺中包含所有能夠在GUI中使用的用戶(hù)界面控件,即按鈕、單選按鈕、編輯框、靜態(tài)文本、列表框以及彈出式菜單等。一個(gè)GUI中可以存在一個(gè)或多個(gè)以上的GUI組件,使用時(shí)要注意保證各個(gè)組件的名稱(chēng)或屬性有所不同,以便區分。用戶(hù)可以用屬性檢查其對各組件的屬性進(jìn)行設計。
(3)理解應用程序M文件中所使用的編程技術(shù)
Matlab可以通過(guò)創(chuàng )建應用程序M文件為GUI控制程序提供一個(gè)框架。該框架是一種高效而堅固的編程方法,即所有代碼均包含在應用程序M文件中,這就使得M文件只有一個(gè)入口可以初始化GUI或調用相應的回調函數以及GUI中希望使用的任意幫助子程序。對應用程序M文件代碼進(jìn)行詳細分析,通過(guò)了解GUIDE創(chuàng )建應用程序M文件的功能,從而實(shí)現GUI的規劃。
(4)編寫(xiě)用戶(hù)GUI組件行為響應控制(即回調函數)代碼
控制GUI組件響應用戶(hù)的行為是GUI的實(shí)現任務(wù)之一。Matlab的GUIDE可以根據用戶(hù)GUI的版面設計過(guò)程直接自動(dòng)生成M文件框架,這樣就簡(jiǎn)化了GUI應用程序的創(chuàng )建工作,用戶(hù)可以直接用這個(gè)框架編寫(xiě)自己的函數代碼。
(5)保存并執行GUI
激活GUI界面,確保界面符合預定的要求,設計滿(mǎn)意后保存GUI。運行通信信號處理的仿真平臺的應用程序M文件,對其進(jìn)行反復的調試,使界面及用戶(hù)空間符合系統預定的功能。
本設計利用Matlab自身提供的工具箱Toolbox中各種通信信號處理函數[53對信號進(jìn)行處理,然后通過(guò)GUI的組件編程實(shí)現各個(gè)模塊的調用和鏈接,從而最終實(shí)現基于Matlab的通信信號處理系統仿真平臺的設計。該仿真平臺能夠在多種信源及多種調制方式下進(jìn)行信號傳輸的仿真,還給出各種調制方式下的基帶信號、已調信號的波形及已調信號的頻譜等,最后,對通過(guò)加性高斯白噪聲信道的通信信號數據流進(jìn)行各種逆向操作處理(解調、譯碼等)恢復出源信號。以數字通信系統為例,通信信號處理流程如圖1所示。
圖1 無(wú)線(xiàn)通信系統信虧處理流程圖
通信信號處理的仿真對于無(wú)線(xiàn)移動(dòng)通信的研究具有重要意義,具有界面友好、良好擴展性的圖形用戶(hù)界面可以使用戶(hù)更全面深入地理解通信系統的工作原理。本設計旨在設計一個(gè)通用性強、操作簡(jiǎn)單、功能較全面的通信信號處理仿真平臺,能夠實(shí)現針對不同信號類(lèi)型的模擬數字發(fā)送、接收,及一系列信號處理,如調制解調、編碼譯碼等。本文利用軟件模塊代替傳統通信信號處理系統中的硬件結構,在很大程度上克服了傳統通信系統硬件結構復雜、不通用及系統不穩定等局限性,對于更好地實(shí)現無(wú)線(xiàn)通信傳輸具有重要意義。
3.1 無(wú)線(xiàn)通信系統模塊的GUI設計與實(shí)現
無(wú)線(xiàn)通信系統的GUI設計,首先要根據無(wú)線(xiàn)通信系統的功能需求,將系統分為多個(gè)模塊,確定各個(gè)模塊的功能部署。再次,以每個(gè)模塊為單位,部署各個(gè)模塊下的功能配置,和GUI界面的組成,以完成各個(gè)模塊下的功能GUI,最后利用M文件編程實(shí)現各個(gè)系統模塊之間的調用和鏈接。
根據發(fā)送的信號形式的不同,將通信信號處理的仿真系統模型分為模擬通信信號用戶(hù)界面子類(lèi)和數字通信信號用戶(hù)界面子類(lèi),在模擬和數字通信信號用戶(hù)界面子類(lèi)下,再分別細分為發(fā)送端和接收端。另包含信道模型用戶(hù)界面。
3.2 通信信號處理的GUI設計與實(shí)現
基于Matlab的無(wú)線(xiàn)通信系統中通信信號處理功能的實(shí)現,是利用Matlab自身提供的工具箱Toolbox中各種通信信號處理函數對信號進(jìn)行處理[6]。通信信號處理的GUI設計和實(shí)現,是基于無(wú)線(xiàn)通信信號處理系統各個(gè)細分模塊的功能要求,選取工具箱中適宜的信號處理函數,根據函數的輸人、輸出各種參數類(lèi)型要求,在GUI界面中利用按鈕、單選按鈕、編輯文本框和列表框等界面控件來(lái)實(shí)現各種調制/解調方式、編碼/解碼方式和信道類(lèi)型的選擇,和各種輸入參數的設定。界面既要實(shí)現與用戶(hù)交流的友好性,還要更加注重界面的簡(jiǎn)潔性和系統的功能性,將內部功能部署和外部實(shí)體界面有機結合起來(lái),使無(wú)線(xiàn)通信系統的用戶(hù)圖形界面得以實(shí)現。
4 仿真結果
4.1 模擬通信信號處理的GUI設計與實(shí)現
4.1.1 模擬信號發(fā)射端
模擬信號發(fā)送端包括四個(gè)模塊:
(1)信號輸人模塊。對于輸入到系統中的基帶信號,既能以工作空間中存在的變量作為輸入,也可以選擇實(shí)時(shí)采集的信號作為輸人,如語(yǔ)音信號,利用單選按鈕進(jìn)行相互屏蔽選擇。當選擇實(shí)時(shí)采集的語(yǔ)音信號時(shí),點(diǎn)擊“打開(kāi)”按鈕,彈出打開(kāi)文件對話(huà)框,程序設置對wav格式的文件進(jìn)行篩選。
(2)調制信號參數設置,包括載波信號頻率設置及常用模擬調制方式的選擇(如AMDSB—SC,AMDSB—TC,AMSSB,FM,PM等),調制功能的實(shí)現是利用Matlab的Communication Toolbox工具箱中的模擬調制函數來(lái)實(shí)現。
(3)發(fā)送端的控制面板,可以設定采樣頻率等參數,在M文件程序編寫(xiě)時(shí)利用句柄函數實(shí)現各項參數的讀取,利用mat文件實(shí)現不同M文件之間各個(gè)變量的參數傳遞,并且可以按鈕控制“開(kāi)始通信”、“調制回放”等功能控件,點(diǎn)擊不同的按鈕控件,通過(guò)調用不同的回調函數來(lái)實(shí)現不同的通信信號處理的功能:點(diǎn)擊“開(kāi)始通信”按鈕,彈出信道設置對話(huà)框,選擇傳輸信道類(lèi)型,設定信噪比等參數。對于瑞利衰減信道,還需設置最大多普勒頻移等參數;點(diǎn)擊“調制回放”,界面會(huì )回放調制的全過(guò)程,通過(guò)動(dòng)態(tài)圖像使用戶(hù)更直觀(guān)深入地了解調制處理過(guò)程。
(4)基帶信號、已調信號及其頻譜的圖像顯示,利用axes來(lái)聲明和顯示二維圖像。
以上四個(gè)模塊能夠方便簡(jiǎn)單地修改通信信號處理過(guò)程中的各項參數,觀(guān)察數據模板中選定的輸入變量,并對其進(jìn)行時(shí)域和頻域分析。圖2為語(yǔ)音信號 AMSSB調制的仿真結果。點(diǎn)擊“調制回放”,可得到調制過(guò)程的動(dòng)畫(huà)回放,使用戶(hù)深刻形象地理解調制過(guò)程,調制回放圖形如圖3所示。
圖2 語(yǔ)音信號AMSSB調制的仿真結果
4.1.2 模擬信號接收端
模擬信號接收端采用三大模塊:
(1)解調控制面板,有五個(gè)按鈕控件,分別執行信號的接收、解調、解調過(guò)程回放、基帶信號時(shí)域波形對比和已調信號時(shí)域波形對比。
(2)接收信號的信息顯示,可以顯示發(fā)送端對信號進(jìn)行的各種參數設置,利用句柄函數讀取發(fā)送端保存在mat文件中的變量參數。
(3)信號圖像顯示,繼承了發(fā)送端信號圖像同步顯示和回放的優(yōu)點(diǎn),并且可以通過(guò)點(diǎn)擊信號對比按鈕,使用戶(hù)直觀(guān)地觀(guān)察通信系統中基帶信號和已調信號發(fā)送和通過(guò)通信信道失真后的時(shí)域波形對比。
圖3 語(yǔ)音信號AMSSB調制過(guò)程回放圖形
信號通過(guò)信道后,在模擬信號接收端進(jìn)行信號接收和解調逆向操作,可得解調信號的波形。圖4對應的是圖2信號通過(guò)加性高斯白噪聲信道解調后得到的仿真結果。解調回放波形如圖5所示。
圖4 解調后得到的仿真結果
圖5 解調回放波形
4.2 數字通信信號處理的GUI設計與實(shí)現
4.2.1 數字信號發(fā)射端
數字信號發(fā)送端包括四個(gè)模塊:
(1)信號輸入模塊,同模擬發(fā)送端一樣,輸入到通信系統的模擬信號既可以是工作空間中存在的變量,也可以是實(shí)時(shí)采集的信號,如語(yǔ)音信號。
(2)編碼模塊,分為信源編碼和信道編碼。信源編碼,對于輸入的模擬信號進(jìn)行采樣、量化、編碼(常用64 Kb/s脈沖調制PCM)得到數字基帶信號;信道編碼,包括具有前向糾錯功能的(7,4)漢明碼、(15,7‘)循環(huán)碼等,并顯示糾錯碼的糾錯位數。信源編碼功能的實(shí)現是利用M文件編輯器編寫(xiě)合適的信源編碼函數;信道編碼功能的實(shí)現是利用Toolbox中提供的信源編碼函數凹],首先對信源編碼后的信號進(jìn)行合適的矩陣轉換,以符合信道編碼函數輸入變量的形式,再進(jìn)行編碼。
(3)數字信號傳輸模式的選擇:數字基帶傳輸、數字帶通傳輸。選擇適宜的調制方式(ASK,PSK,QASK,FSK,MSK,QAM等)[1?,并設置各種調制參數。
(4)信號圖像顯示模塊,對輸入到通信信號處理系統中的模擬信號,顯示其時(shí)域、頻域波形,及信源編碼后的PCM碼流波形。
點(diǎn)擊“開(kāi)始通信”按鈕,彈出信道參數設置對話(huà)框,進(jìn)行信道選擇和各項參數設置。發(fā)送端界面如圖6所示。
圖6 數字信號發(fā)送端發(fā)送雙聲道語(yǔ)音信號
4.2.2 數字信號接收端
數字信號接收端主要完成對接收信號進(jìn)行解調、譯碼等逆向處理操作,可實(shí)現不同調制解調方式下通信信號處理系統的分析和仿真。同樣采用三大模塊:
(1)解調控制面板,包括六個(gè)按鈕控件,分別執行信號接收、解調、信道解碼、信源解碼、時(shí)域圖形對比、PCM碼流圖形對比等功能。
(2)接收信號的信息顯示,可以顯示發(fā)送端對信號進(jìn)行的各種參數設置。
(3)信號圖像顯示。圖7對應的是圖6雙聲道語(yǔ)音信號通過(guò)AwGN后解調解碼的仿真結果。
圖7 解調解碼的仿真結果
5 結語(yǔ)
本設計基于面向對象技術(shù),提出了一種用于通信信號處理系統的仿真圖形用戶(hù)界面設計方案與實(shí)現技術(shù),并搭建了相應的通信系統仿真平臺。利用GUI 來(lái)實(shí)現通信信號處理仿真系統,界面簡(jiǎn)單友好,參數設置靈活,并且在仿真過(guò)程中能隨時(shí)看到信號處理的文字和圖形描述,便于更好的實(shí)時(shí)處理和進(jìn)一步的預測和分析,使用戶(hù)能很快地掌握該平臺的功能和使用方法,便于學(xué)習和使用;同時(shí)開(kāi)發(fā)的通信系統仿真平臺具有良好的開(kāi)放性,可以不斷地完善和擴充,便于研究工作的延續。結構開(kāi)放和全面可編程的軟件無(wú)線(xiàn)電技術(shù),利用軟件模塊代替傳統通信信號處理系統中的硬件結構,在很大程度上克服了傳統通信系統硬件結構復雜、不通用及系統不穩定等局限性,對于更好地實(shí)現無(wú)線(xiàn)通信傳輸具有重要意義。
數字通信相關(guān)文章:數字通信原理
通信相關(guān)文章:通信原理
評論