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