亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Matlab 的通信信號實驗平臺的設計

        2014-01-21 00:51:52萬再蓮
        電子設計工程 2014年20期
        關(guān)鍵詞:圖形用戶界面數(shù)字信號控件

        倪 磊,萬再蓮,周 瑋

        (四川師范大學成都學院 通信工程學院,四川 成都 611745)

        國內(nèi)眾多學者都對Matlab信號仿真進行過研究,但這些研究都是基于Matlab的數(shù)字信號或者是模擬信號的仿真。而在國內(nèi)的主流教材中,也都未涉及到信號產(chǎn)生的仿真界面。通信學科中的信號繁多復雜,學生在學完某類信號時,未能對數(shù)字和模擬信號進行詳細的區(qū)分。很多高校由于教學學時及實驗室條件的限制,很難達到讓學生熟練掌握信號的教學要求,將Matlab仿真技術(shù)和GUI界面設計引入教學中[1],可彌補這方面的遺憾。因此,通過對通信學科中的信號進行歸納和總結(jié),借助于現(xiàn)有的Matlab仿真軟件,設計和編寫出一個集模擬與數(shù)字信號調(diào)制于一體的仿真界面系統(tǒng),在這種創(chuàng)新型平臺上向?qū)W生展示通信系統(tǒng)的各類信號的處理。該平臺具有良好的交互性,實用性和可擴展性[2],為學生提供了一個實驗平臺,能幫助供學生熟悉并掌握通信信號處理的基本理論和基本方法,例如模擬通信系統(tǒng)中的AM、DSB、SSB信號調(diào)制與解調(diào)信號的時域和頻域波形、數(shù)字基帶信號中的各種碼型時域波形和PSK、FSK、ASK等數(shù)字調(diào)制信號等。

        1 Matlab GUI設計工具簡介

        隨著計算機技術(shù)的飛速發(fā)展,人與計算機的通信方式也發(fā)生了很大變化,從原來的命令行通訊方式到現(xiàn)在的圖形界面下的交互方式,而現(xiàn)在多數(shù)的應用程序都是在圖形化界面下運行的。

        Matlab圖形用戶界面開發(fā)環(huán)境簡稱GUIDE(matlab graphical user interface development environment),其主要是一個界面設計工具集。GUI(Graphical User Interface)就是基于數(shù)據(jù)處理軟件Matlab的圖形用戶界面開發(fā)環(huán)境。在Matlab7.0中,GUI包含多種圖形對象的界面,包括圖形顯示區(qū)域、功能按鈕及自定義的功能菜單等。Matlab將GUI所支持的用戶控件都集成起來,同時提供界面外觀、屬性和行為響應方法的設置方法。為了讓界面實現(xiàn)各種功能,需要對各個圖形對象進行布局。當用戶激活對應的GUI對象時,就能執(zhí)行相應的屬性設置。最后,必須保存和發(fā)布自己創(chuàng)建的GUI,使得用戶可以應用GUI對象[3]。

        在Matlab中,可以將所有對象用M文件進行創(chuàng)建及編寫。將GUI視為Matlab對象,可以使用M文件來創(chuàng)建GUI。通過GUIDE創(chuàng)建GUI對象,執(zhí)行效率高,可以交互式地進行組件布局,還能生成保存和發(fā)布GUI的對應文件[3]。

        GUI將用戶設計保存好的界面保存在FIG資源文件中,同時自動生成包含圖形用戶界面初始化和組件界面布局控制代碼的M文件。該M文件為實現(xiàn)回調(diào)函數(shù)的編寫提供了一個參考框架。而FIG文件是一個二進制文件,主要是對對象句柄進行保存,保存用戶創(chuàng)建圖形窗口時設計的屬性。M文件中包含GUI設計、控制函數(shù)及控件的回調(diào)函數(shù),主要用來控制界面展開時的各種特征。該文件可以分為GUI初始化和回調(diào)函數(shù)2個部分,控件的回調(diào)函數(shù)可根據(jù)用戶與GUI的具體交互行為分別調(diào)用。

        2 平臺布局與設計

        本平臺的實現(xiàn)是在Matlab的圖形用戶界面(GUI)設計環(huán)境下完成[4]。通過GUIDE可以很方便地設計出各種符合要求的圖形用戶界面[5],考慮到平臺的應用性,在設計時要遵循簡單性、習慣性和直觀性3個原則。

        在界面設計的過程中,首先,分析界面所要求實現(xiàn)的主要功能,明確設計任務;其次,在稿紙上繪出界面草圖,并站在學生使用的角度上審查該圖;第三,根據(jù)構(gòu)思,利用GUI設計出直觀、簡單的信號處理界面;最后,編寫相關(guān)代碼函數(shù),并對設計中存在的問題進行修改及優(yōu)化,直至檢查無誤。

        2.1 建立GUI對象

        GUI包含許多可以使軟件終端與用戶界面進行交互的用戶界面組件,GUI實現(xiàn)的任務之一就是控制組件如何響應用戶的行為[6]。在Matlab主界面的command window窗口中輸入GUIDE,即彈出圖形用戶界面模板選擇窗口,選擇默認的空白(BLANK GUI)選項即可進入編輯界面[7]。

        圖1 Matlab/GUI開發(fā)環(huán)境Fig.1 Main matlab/GUI development

        2.2 界面布局設計

        通信類信號調(diào)制中存在有兩類信號,即模擬信號與數(shù)字信號。據(jù)此,將信號的仿真實驗平臺中分為模擬信號波形仿真圖和數(shù)字信號波形仿真圖兩大模塊。

        模擬信號的調(diào)制包括有調(diào)幅、調(diào)頻和調(diào)相。而調(diào)幅中又包含普通調(diào)制AM信號、抑制載波的雙邊帶DSB信號和抑制載波的單邊帶SSB信號。數(shù)字信號調(diào)制中則包括幅移鍵控、頻移鍵控和相移鍵控三類。通過將通信中遇到的數(shù)字信號調(diào)制進行歸納,幅移鍵控ASK是通過改變載波信號的振幅大小來表示數(shù)字信號 “0”和 “1”的,包括有2ASK,四進制MASK。頻移鍵控FSK是利用兩個不同頻率的振蕩信號來表示數(shù)字信號“0”和“1”的,其包括有 2FSK,4FSK,8FSK,最小頻移鍵控MSK,高斯濾波最小頻移鍵控GMSK。相移鍵控PSK是根據(jù)數(shù)字基帶信號的兩個電平使載波相位在兩個不同的數(shù)值之間切換的一種相位調(diào)制方法,包括BPSK,8PSK,16PSK,QPSK,OQPSK,UQPSK。正交幅度調(diào)制是利用正交的載波對兩路信號分別進行雙邊帶抑制載波調(diào)幅形成的,通常有16進制QAM,64QAM,32QAM,128QAM。

        將設計好的界面文件保存運行,就可以看到該平臺在運行時顯示出的實際效果,如圖2所示。

        3 M文件的設計與編寫

        通過文本編輯框控件來顯示模擬信號調(diào)制與數(shù)字信號調(diào)制的定義;使用單選按鈕控件來實現(xiàn)信號類型的選擇;完成控件布局之后,開始編制回調(diào)程序。在GUI編輯狀態(tài)下用鼠標右鍵單擊需要編寫回調(diào)程序的控件,打開右鍵快捷菜單,從View Callbacks中選擇一種回調(diào)方式[8]。在每一個控件的Callbacks函數(shù)里編寫相應調(diào)制信號的代碼。

        3.1 M文件的設計

        Matlab通過創(chuàng)建M文件為GUI控制程序提供了一個框架,即所有代碼(含callback回調(diào)函數(shù))都包含在應用程序M文件中。在完成圖形界面的設計后,最主要的工作就是對控件的回調(diào)函數(shù)進行代碼設計。下面分析程序設計流程及控件回調(diào)函數(shù)的編寫。

        3.2 程序設計流程

        該實驗平臺在運行時,系統(tǒng)先進行初始化。彈出GUI界面窗口,判斷點擊的位置是否正確,不正確則重新輸入。正確即可在相應信號的功能菜單中彈出相應的時域頻譜圖。程序流程如圖3所示。

        圖3 程序流程圖Fig.3 Program flow picture

        3.3 回調(diào)函數(shù)編寫

        該軟件的各控件callback回調(diào)函數(shù)根據(jù)信號類型的不同而各有不同。如數(shù)字信號分為幅移鍵控、頻移鍵控和相移鍵控,而每種鍵控又有多種調(diào)制方式。當選擇幅移鍵控控件按鈕后,則選擇該控件下的調(diào)制方式,方能彈出所需的信號頻譜。

        對代碼編寫中,首先先統(tǒng)一變量符號,其次進行調(diào)制信號類型的分類編碼,便于輸入輸出變量的傳遞及信號的擴充,通過定義data_I(表示輸出I路信號)和data_Q(表示輸出Q路信號),modulate_fre定義信號碼率,sample_fre表示采樣頻率,sample_num表示采樣點數(shù),調(diào)用統(tǒng)一函數(shù)function[data_Idata_Q]=Singal_modulate(mod_tpye,mod_v,mod_v2,sam_fre,sam_l)使代碼編寫更規(guī)范;最后根據(jù)matlab自帶的函數(shù)分別進行設計。

        本設計中將所有信號調(diào)制放置在一個M文件中,通過callback函數(shù)調(diào)用該M文件。在完成了各個空間的callback函數(shù)編寫后,對該軟件功能進行調(diào)試,以確保每項功能都能正確的相應用戶的操作,彈出正確的頻譜圖。

        鑒于篇幅有限,僅提供本實驗平臺信號中的DSB信號和16QAM信號代碼。

        DSB信號callback函數(shù)部分代碼如下:

        time_t=0:1/sample_fre:(sample_num-1)/sample_fre;%時間坐標

        num=length(modulate_param1);

        su_data=data_I+1j*data_Q;

        su_data=su_data.*exp(-1j*2*pi*modulate_param2*time_t);

        Bw=modulate_param1;

        firOrder=60;

        fircomb=sample_fre/(4*Bw);

        [yf,tf]=rcosine(1,ceil(fircomb),'fir/sqrt',0.35,

        ceil(firOrder/(2*fircomb)));%設置升余弦濾波器參數(shù)

        data=filter(yf,1,su_data);

        data_I=real(data);

        data_Q=imag(data);

        figure;

        subplot(211);plot(abs(data_I+1j*data_Q));

        xlabel('DSB信號的幅度譜')

        ff=[-2047:2048].*sample_fre/4096;

        subplot(212);plot(ff,abs(fftshift(fft(data_I+1j*data_Q,4096))));

        xlabel('DSB信號的頻譜')

        end

        16QAM callback函數(shù)部分代碼如下:

        nsamp=floor(sample_fre/modulate_fre);%采樣率設置

        data_num=floor(sample_num/nsamp)+1;

        data=randint(data_num,1,16);

        y=modulate(modem.qammod(16),data);%調(diào)制函數(shù)

        out_data=rectpulse(y,nsamp);

        data_I=real(out_data(1:sample_num));

        data_Q=imag(out_data(1:sample_num));

        scatterplot(data_I+1j*data_Q);

        [yf,tf]=rcosine(1,nsamp,'fir/sqrt',0.25);

        data_I=filter(yf,1,data_I);

        data_Q=filter(yf,1,data_Q);

        data_I=data_I';

        data_Q=data_Q';

        figure

        subplot(211);plot(abs(data_I+1j*data_Q));

        ff=[-2048:2047].*sample_fre/4096;

        subplot(212);plot(ff,abs(fftshift(fft(data_I+1j*data_Q,4096))));

        end

        在編寫完軟件的各代碼后,應對所設計的軟件代碼進行優(yōu)化。打開軟件中使用次數(shù)較多的程序,利用Matlab的自帶函數(shù)profile程序執(zhí)行耗時剖析功能函數(shù)對程序中耗時情況進行分析,完后進行改進,以提高系統(tǒng)的執(zhí)行效率[2]。

        4 仿真實例

        通過編寫完全部信號代碼及調(diào)試后,可以實現(xiàn)平臺中所有信號的波形。因篇幅有限,羅列模擬信號DSB調(diào)制和數(shù)字信號中4ASK和64QAM的波形圖,如圖4到圖7所示。

        圖4 雙邊帶信號的頻譜Fig.4 Spectrum of DSB

        圖5 4ASK信號時域頻域圖Fig.5 Spectrum of 4ASK

        該實驗平臺的搭建,可以讓教師在講授信號調(diào)制理論的過程中,通過結(jié)合該軟件,可增強授課內(nèi)容的豐富性及延展性,拓展了實踐性教學環(huán)節(jié)。讓學生在對信號的理論學習中,通過應用該仿真平臺,不僅強化模擬信號和數(shù)字通信理論的基本思想和核心概念,而且為學生的理解和應用提供有力幫助,讓學生以專業(yè)化的身份進入到今后的科研工作中。

        圖6 64QAM時域頻域圖Fig.6 Spectrum of 64QAM

        圖7 64QAM星座圖Fig.7 Constellation of 64QAM

        5 結(jié)束語

        本文主要介紹了基于Matlab圖形用戶界面GUI的通信信號實驗平臺的設計,并以DSB信號和 16QAM信號為例說明回調(diào)函數(shù)與M文件的實現(xiàn)過程。學生可通過信號調(diào)制的時域頻域等仿真結(jié)果的分析,不僅驗證了通信系統(tǒng)中的基礎(chǔ)理論,更提高他們對通信信號的各方面認識,鞏固了所學內(nèi)容。特別對缺乏通信硬件實驗設備的學校來說,該軟件更具有實驗價值。

        [1]王峰,丁金林.基于MATLAB/GUI的數(shù)字通信系統(tǒng)虛擬實驗平臺的設計[J].南通職業(yè)大學學,2013,3(1):96-99.WANG Feng,DING Jin-lin.Virtual experiment platform design of digital communication system based on MATLAB/GUI[J].Journal of Nnatong Vocational College,2013,3(1):96-99.

        [2]王帆,劉慧.基于Matlab GUI的數(shù)字圖像處理實驗平臺設計[J].中國科技信息,2010(11):124-125.WANG Fan,LIU Hui.Experiment platform Design of Digital Communication system Based on MATLAB/GUI[J],Journal of Information Technology,2010(11):124-125.

        [3]邱金蕙,王矞輝,李振全.基于Matlab/GUI的新型界面開發(fā)方式[J].河北工業(yè)科技,2008,7(4):234-235.QIU Jin-hui,WANG Yu-hui,LI Zhen-quan.A new way to develop interface based on Matlab/GUI[J].Hebei Journal of Industrial Science and Technology,2008,7(4):234-235.

        [4]秦輝,席裕庚.基于Matlab GUI的預測控制仿真平臺設計[J].系統(tǒng)仿真學報,2006,10(10):2778-2779.QIN Hui,XI Yu-geng,Matlab GUI-Based Simulation Platform Design of Predictive Control[J].Journal of System Simulation,2006,10(10):2778-2779.

        [5]陳亮,郝衛(wèi)東,喬建華.基于Matlab的濾波器分析界面設計[J].現(xiàn)代電子技術(shù),2009(10):39-41.CHEN Liang,HAO Wei-dong,QIAO Jian-hua,Design of filteranalysisinterface based on matlab [J].Modern Electronic Technology,2009(10):39-41.

        [6]賈建科,韓團軍,朱寧洲.基于Matlab GUI的模擬帶通濾波器的設計[J].現(xiàn)代電子技術(shù).2010(10):58-60.JIA Jian-ke,HUAN Tuan-jun,ZHU Ning-zhou,Design of Analog Band-pass Filter Based on Matlab GUI[J].Modern Electronic Technology,2010(10):58-60.

        [7]楊華為.基于MATLAB GUI的數(shù)據(jù)處理分析界面的設計與應用[J].工業(yè)控制計算機,2011(12):16-18.YANG Hua-wei,Interface of Data Processing and Analyzing Based on MATLAB GUI[J].Industrial Control Computer,2011(12):16-18.

        [8]王巧花,葉平,黃民.基于MATLAB的圖形用戶界面(GUI)設計[J].煤礦機械,2005(3):60-62.WANG Qiao-hua,YE Ping,HUANG Min.Theinterface Design of GUI Based on MATLAB [J].Journal of Mine Machinery,2005(3):60-62.

        猜你喜歡
        圖形用戶界面數(shù)字信號控件
        數(shù)字信號分析中存在的誤區(qū)與解決對策
        圖形用戶界面外觀設計專利保護問題探析——以“奇虎訴江民案”為例
        兩種數(shù)字信號浪涌保護器(SPD)測試分析
        電子測試(2018年13期)2018-09-26 03:29:32
        數(shù)字電子技術(shù)中的數(shù)字信號和數(shù)字電路
        電子制作(2018年16期)2018-09-26 03:27:16
        關(guān)于.net控件數(shù)組的探討
        軟件(2018年7期)2018-08-13 09:44:42
        淺談圖形用戶界面(GUI)技術(shù)專利現(xiàn)狀
        電子測試(2018年9期)2018-06-26 06:46:34
        基于小波神經(jīng)網(wǎng)絡的數(shù)字信號調(diào)制方式識別
        圖形用戶界面法律保護問題與對策
        就這樣玩會VBA中常見的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        MiniGUI在基于OMAP5912開發(fā)板上的移植
        国产三级精品三级在线专区| 国产91成人精品亚洲精品| 亚洲国产成人精品激情| 国产成人亚洲精品一区二区三区 | 人禽杂交18禁网站免费| 首页 综合国产 亚洲 丝袜| 亚洲天堂第一区| 日本精品人妻一区二区三区| 东京热日本av在线观看| 成人精品视频一区二区三区尤物 | 国产一级r片内射视频播放| 国产一区国产二区亚洲精品| 午夜福利理论片高清在线观看| 正在播放国产多p交换视频| 亚洲精品视频免费在线| 国产日产韩国av在线| 中文字幕乱码熟女人妻水蜜桃| 亚洲AV无码国产成人久久强迫| 免费人妻精品区一区二区三| 美女国产毛片a区内射| 国产精品久久久久久久免费看| 国产一区二区三区4区| 亚洲精品中文字幕一二三| 性久久久久久| 亚洲一区二区观看播放| 国产三级黄色片子看曰逼大片| 24小时在线免费av| 久久久老熟女一区二区三区| 免费成人福利视频| 日韩字幕无线乱码免费| 内射人妻无套中出无码| 国产福利姬喷水福利在线观看| 亚洲日韩AV无码美腿丝袜| 狠色人妻丝袜中文字幕| 国语对白做受xxxxx在线| 国产精品丝袜在线不卡| 国产丝袜长腿在线看片网站| а√中文在线资源库| 日韩毛片基地一区二区三区| 国产av一区二区三区香蕉| 久久无码高潮喷水抽搐|