通信信号处理的GUI界面设计.docx
- 文档编号:27833672
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:32
- 大小:1.45MB
通信信号处理的GUI界面设计.docx
《通信信号处理的GUI界面设计.docx》由会员分享,可在线阅读,更多相关《通信信号处理的GUI界面设计.docx(32页珍藏版)》请在冰豆网上搜索。
通信信号处理的GUI界面设计
本科毕业设计
设计题目:
通信信号处理的GUI界面设计
学生姓名:
姓名
学号:
200010101
专业:
电子信息工程
指导教师:
辛化梅
学院:
物理与电子科学学院
2011年05月19日
毕业论文(设计)内容介绍
论文(设计)
题目
通信信号处理的GUI界面设计
选题时间
2010年11月
完成时间
2011年5月
论文(设计)
字数
7833
关键词
Matlab;GUI设计;通信信号处理;软件无线电
论文(设计)题目的来源、理论和实践意义:
通常在开发一个实际的应用程序时会尽量做到界面友好,最常使用的方法就是使用图形用户界面GUI。
建立这样一个界面友好、占用资源少、高性能、便于移植、可配置的GUI界面设计,能够使用户的学习和使用更为方便容易。
用户不需知道后台的应用程序究竟是怎样执行各种命令的,而只需了解可见界面组件的使用方法;用户也不需知道命令是怎样执行的,只要通过与界面交流就可以使指定的行为得到正确执行,对输入的通信信号进行一系列的处理。
利用Matlab设计通信信号处理的GUI界面,能够方便直观地对通信信号的调制和编码、解调和译码等信号处理过程进行仿真,而且能够利用GUI界面的控件改变输入通信信号形式以及信号处理过程中的各项参数,及时观察信号处理过程中的处理波形,对于研究利用软件无线电技术实现无线通信传输具有十分重要的参考意义。
论文(设计)的主要内容及创新点:
本设计利用Matlab提供的工具箱Toolbox和用户图形界面向导GUIDE来设计通信信号处理系统的GUI界面,首先通过调用工具箱中提供的各种通信信号处理的函数对信号进行处理,然后通过GUI的组件编程实现各个模块的调用和链接,从而最终实现基于Matlab的通信信号处理的无线通信系统仿真设计。
不仅可以对输入的通信信号进行编码、调制,在接收端对信号解调、译码恢复源信号,而且还可以通过此模型作进一步的预测和分析。
建立界面友好、便于移植的GUI界面设计,能够使用户的学习和使用更为方便容易。
附:
论文(设计)
本人签名:
(此处空着最后统一签名)年月日
中文摘要.................................................................................................................................3
英文摘要..................................................................................................................................3
一、引言................................................................................................................................4
二、基于Matlab的GUI设计方法........................................................................................4
(一)GUI的实现过程….........................................................................................................5
(二)基于Matlab的通信信号处理的仿真平台的设计步骤.............................................6
三、无线通信系统仿真模型的构建及程序流程..................................................................7
(一)通信系统的基本组成..................................................................................................7
(二)通信系统的设计与实现..............................................................................................8
四、通信信号处理系统的GUI仿真实例..........................................................................13
(一)模拟信号处理GUI仿真实例……...………...............................................................13
(二)数字信号处理GUI仿真实例....................................................................................17
五、结论...............................................................................................................................22
参考文献................................................................................................................................23
通信信号处理的GUI界面设计
姓名
摘要:
本文利用Matlab提供的工具箱Toolbox和用户图形界面向导GUIDE来设计通信信号处理系统的GUI界面。
首先通过调用工具箱中提供的各种处理函数对通信信号进行各项处理,然后通过GUI的组件编程实现各个通信系统模块的调用和链接,从而最终实现基于Matlab的通信信号处理的系统仿真设计。
能够方便直观地对通信信号的调制和编码、解调和译码等信号处理过程进行仿真:
利用GUI界面的控件改变输入通信信号形式以及信号处理过程中的各项参数,及时观察信号处理过程中的处理波形,对于研究利用软件无线电技术实现无线通信传输具有十分重要的参考意义。
关键字:
Matlab;GUI设计;通信信号处理;软件无线电
中图分类号:
TN319
TheGUIDesignoftheCommunicationSignalProcessing
name
Abstract:
Thispapermainlydiscussesthegraphicsuserinterface(GUI)designofCommunicationsystemusingToolboxandgraphicsuserinterfacedesignenvironment(GUIDE)providedbyMatlab.Ontheonehand,thesignalscanbeprocessedbythevariouscommunicationfunctionsinToolbox,ontheotherhand,thesystemachievesthecallbackandlinkamongeachmodulethroughtheGUIcomponentsprogramming.EventuallythesimulationofcommunicationsignalsprocessingbasedonMatlabisaccomplished.Signalprocessingproceduresincludingmodulation,encoding,demodulatinganddecoding,etc.Signalsprocessingcanbeeasilysimulatedbychangingsomeparametersconveniently,andthedealingwaveformscanbeimmediatelyobserved.Alloftheseareofgreatimportancetowirelesscommunicationbysoftwareradio.
Keywords:
Matlab;GUIdesign;communicationsignalprocessing;softwareradio
一、引言
软件系统的用户接口有两类,即命令驱动方式的交互式问答接口和事件驱动方式的图形用户接口(GUI)。
通常在开发一个实际的应用软件系统时会尽量做到界面友好,最常使用的方法就是使用图形用户界面GUI。
在20世纪90年代,图形用户界面(GUI)有了飞速的发展,目前GUI已经占据了主要位置,成为各类应用软件系统的主要形式。
图形用户界面GraphicsUserInterface(GUI)用各种图形对象,如图形窗口、图轴、菜单、文本框等构建的用户界面,是人机交流的工具和方法。
利用用户界面,用户可以直接与计算机进行信息交流,不需了解应用程序究竟是怎样执行各种命令的,而只需了解可见界面组件的使用方法,通过与界面交流就可以使指定的行为得到正确执行。
Matlab是MathWorks推出的数学软件,早期以矩阵计算为主,后来推出了句柄图形后,Matlab的图形界面设计功能日益完善。
Matlab图形用户界面具有很强的交互性,操作方便,利用GUI搭建平台,在这样的一个良好的用户界面中可以方便的进行参数的设置,选择恰当适宜的处理方式,也可以同时显示信号,能够使用户更为方便容易的对通信信号进行适时恰当的处理。
二、基于Matlab的GUI设计方法
通常情况下,实现GUI设计有两种方法:
使用Matlab自身提供的图形用户界面设计向导(GUIDE),或者是使用全脚本编程。
利用GUIDE进行图形用户界面设计,向导会自动生成一个fig文件,及一个包含fig中放置控件相应回调函数的M脚本文件。
这两个文件理应是相互影响的,但当改动其中一个文件的内容,如在fig中删掉一个原来的控件,m脚本中对应的该控件的回调函数却仍存在,虽回调函数为空,但破坏了程序构架的美感,需手动删掉这些代码。
同时GUIDE还没有实现创建uitoolbox和所有axes的子对象的功能。
利用全脚本编程实现,由于Matlab自带demo,包括按钮、单选按钮、框架、复选框、文本标签、编辑文本框、滑动条、下拉菜单、列表框和双位按钮等,通过阅读M文件程序代码可以直观而快速地掌握GUI设计的技巧。
采用全脚本实现,M文件代码可重复使用,可生成非常复杂的界面,可方便的在句柄中存取数据,可将创建对象代码与动作执行代码很好的结合起来。
当然,最好的GUI设计方法是针对不同的情况来确定使用GUIDE还是全脚本,也可以考虑两者的结合使用来发挥各自的优势。
本文采用Matlab的图形用户界面设计向导(GUIDE)进行通信系统仿真平台的设计与实现,对通信信号进行实时处理。
GraphicsUserInterfaceDesignEnvironment(GUIDE)是一个专门用于GUI程序设计的快速开发环境,包括控制面板、属性编辑器、事件过程编辑器、对齐工具和菜单编辑器五个图形用户界面编辑工具。
用户利用该向导可以将图形界面的外观,包括所有的按键及图形的位置进行确定,然后利用Matlab的回调函数编辑器来编写完成约定任务的函数代码,从而方便快捷的设计出一个图形用户界面。
GUIDE将用户保存设计好的GUI界面保存在一个FIG资源文件中,同时还能够生成包含GUI初始化的组建界面布局控制代码的M文件。
这个M文件为实现回调函数提供了一个参考框架。
调用GUIDE的方法有两种:
在Matlab命令窗口中输入guide命令,或在Matlab主菜单中点击File→New→GUI,即可打开一个可编程的窗口。
对于Matlab图形用户界面,基于面向对象的设计过程一般包括以下两项工作:
GUI界面设计和GUI组件编程。
(一)GUI的实现过程:
1.确定对象或类
根据所需处理的通信信号对通信系统进行对象的提取和类的确定;确认各对象与类之间的继承和聚合关系,将类和对象按照层次方式组织起来,是系统结构更加清晰,系统模型更有条理,也使编程人员、维护人员清楚对象与类之间的内在联系
2.图形用户界面的外观设计
通过MatlabGUIDE面板提供的对话框、按钮、文本框等图形控制对象和坐标对象,设计通信系统信号处理的仿真平台图形用户界面。
在外观设计时还需考虑通信信号处理系统的功能配置,即该图形用户界面的操作将引发何种结果。
3.图形用户界面的功能配置
根据外观设计阶段所确定的用户界面功能需求,针对不同的图形对象编写能够实现该对象功能的回调函数代码,确保图形用户界面完成所有预定的通信信号处理的功能。
本设计旨在设计一个通用的对通信信号处理的通信系统仿真平台,能够实现在发送端对不同输入信号,进行调制,加密,编码等一系列处理,在接收端对接收信号进行解调,解密,前向纠错等一系列处理,并要求该平台操作简单方便,具有良好的可扩展性。
本设计根据输入到通信信号处理系统的通信信号形式及需要对其进行的处理,对通信系统进行分解,抽象出基本运算单元及组合关系并将其封装成相互独立的各个对象;通过类或对象的认定确定类之间的继承、概括和特化关系;然后对其属性、所提供的方法和所需要的方法进行描述,并按照他们之间的关系进行组织,得到类(或对象)的层次结构;最后将类(或对象)用特定的图形或图标进行表示,进而建立相应的通信信号处理的算法模型并使之服务于搭建的通信系统的仿真平台。
(二)基于Matlab的通信信号处理的仿真平台的设计步骤:
1.确定GUI对象,通过设置GUIDE应用程序的选项来进行GUIDE组态
在面向对象的系统分析(OOA)过程中,从信号处理的系统中抽象出面向对象编程(OOP)的类和对象。
对话框的选项包括窗口重画行为,命令行访问、生成文件选择、生成回调函数原型、使用系统背景颜色配置等选项,通过不选或选中它们来实现图形用户界面的整体组态设计。
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文件,对其进行反复的调试,使界面及用户空间符合系统预定的功能。
3.1无线通信系统仿真模型的构建及程序流程
3.1.1通信系统的基本组成
通信的目的就是传输信息。
通信系统的作用就是将信号从信源发送到一个或多个目的地。
因此,按照信道中传输的是模拟信号还是数字信号,相应地把通信系统分为模拟通信系统和数字通信系统。
1.模拟通信系统模型
信源发出的原始电信号是基带信号,基带的含义是指信号的频谱从零频附近开始,如语音信号300~3400Hz,由于这种信号具有频率很低的频谱分量,一般不宜直接传输,这就需要把基带信号变换成其频带适合在信道中传输的信号,并在接收端进行反变换。
完成这种变换和反变换的通常是调制器和解调器。
经过调制以后的信号称为已调信号。
已调信号有三个基本特征:
一是携带有信息,二是适合在信道中传输,三是信号的频谱具有带通形式且中心频率远离零频,因而已调信号又称频带信号。
2.数字通信系统的模型
数字通信系统是利用数字信号来传递信息的通信系统,如图3-2所示。
数字通信涉及的技术问题很多,其中主要有信源编码/译码、信道编码/译码、数字调制/解调、数字复接、同步以及加密等。
(1)信源编码与译码
信源编码的作用之一是设法减少码元数目和降低码元速率,即通常所说的数据压缩。
作用之二是,当信息源给出的是模拟语音信号时,信源编码器将其转换成数字信号,以实现模拟信号的数字化传输。
(2)信道编码与译码
数字信号在信道传输时,由于噪声、衰落以及人为干扰等,将会引起差错。
为了减小差错,信道编码器对传输的信息码元按一定的规则加入保护成分(监督元),接收端的信道译码器按一定规则进行解码,从解码过程中发现错误或纠正错误,从而提高通信系统抗干扰能力,实现可靠通信。
(3)加密与解密
在需要实现保密通信的场合,人为将被传输的数字序列扰乱,即加上密码,这种处理过程叫加密。
在接收端利用与发送端相同的密码复制品对收到的数字序列进行解密,恢复原来信息。
(4)数字调制与解调
数字调制就是把数字基带信号的频谱搬移到高频处,形成适合在信道中传输的频带信号。
(5)同步与数字复接
同步是保证数字通信系统有序、准确、可靠工作的不可缺少的前提条件。
同步是使收发两端的信号在时间上保持步调一致。
数字复接就是依据时分复用基本原理把若干个低速数字信号合并成一个高速的数字信号,以扩大传输容量和提高传输效率。
3.2通信系统的设计与实现
本设计利用Matlab自身提供的工具箱Toolbox中各种通信信号处理的函数对信号进行处理,然后通过GUI的组件编程实现各个模块的调用和链接,从而最终实现基于Matlab的通信信号处理系统仿真平台的设计。
所构建的通信系统仿真平台界面如图3-3所示,该仿真平台能够在多种信源及多种调制方式下进行信号传输的仿真,还给出各种调制方式下的基带信号、已调信号的波形及已调信号的频谱等,最后,对通过加性高斯白噪声信道的通信信号数据流进行各种逆向操作处理(解调、译码等)恢复出源信号。
构建出一个界面友好、操作方便、具有良好可扩展性的通信信号处理系统的仿真平台。
图3-3通信系统仿真平台界面
1.通信信号处理的仿真系统的模型:
(1)通信信号发送端。
提供两种信号发送方式,即两种通信信号用户界面子类,模拟信号发送端和数字信号发送端。
①模拟信号发送端:
模拟信号发送端包括四个模块:
一是信号输入模块。
对于输入到系统中的基带信号,既能以工作空间中存在的变量作为输入,也可以选择保存过的各种典型通信信号作为输入。
二是调制信号参数设置,包括载波信号频率设置及常用模拟调制方式的选择(如AMDSB-SC,AMDSB-TC,AMSSB,FM,PM等)。
三是发送端的控制面板,可以进行采样频率等的设定。
四是基带信号、已调信号及其频谱的图像显示。
以上四个模块能够方便简单的修改通信信号处理过程中的各项参数,观察数据模板中选定的输入变量,并对其进行时域和频域分析,另具有调制回放功能,此处是预先存储了处理过程中的一部分二维图形,后像放电影一样将它们按次序重放出来,使用户更深入的了解了调制处理过程。
图3-4为模拟信号发送端图形用户界面。
图3-4模拟信号发送端图形用户界面
要求采样频率要大于两倍的载波频率,否则出现“error!
:
采样频率不够高,出现混叠,需Fc*2<=Fs”出错提示对话框,如图3-5所示:
图3-5出错提示框
②数字信号发送端:
数字信号发送端包括四个模块:
一是信号输入模块,输入到通信系统的模拟信号既可以是工作空间中存在的变量,也可以是保存过的各种典型通信信号,二是信源编码,对于输入的模拟信号进行采样、量化、编码(常用64Kb/s脉冲调制PCM)得到数字基带信号;信道编码,包括具有前向纠错功能的(7,4)汉明码、(15,8)循环码等。
三是数字信号传输模式的选择:
数字基带传输、数字带通传输(ASK,PSK,QASK,FSK,MSK,QAM等)。
第四个模块为信号图像显示模块,对输入到通信信号处理系统中的模拟信号,显示其时域频域波形,及信源编码后的PCM码流波形。
图3-6为数字信号发送端图形用户界面。
图3-6数字信号发送端图形用户界面
(2)信道,本设计采用加性高斯白噪声信道(AWGN),通过弹出的输入对话框设定信噪比。
以后可进行功能扩展采用信道估计算法,通过弹出式菜单激活典型的自适应导引估计算法的GUI子类和盲信道估计算法GUI子类,
(3)通信信号接收端。
对于发送端发送的通信信号的类型不同,接收端采取不同的接收方式。
①模拟信号接收端,采用三大模块:
一是解调控制面板,有五个按钮控件,分别执行信号的接收、解调、解调过程回放、基带信号时域波形对比和已调信号时域波形对比。
二是接收信号的信息显示,可以显示接收的信号的调制方式,原基带信号的频率,载波频率,采样频率等信息。
三是信号图像显示。
继承了发送端信号图像同步显示和回放的优点,并且可以通过点击信号对比按钮,使用户直观的观察通信系统中基带信号和已调信号的时域波形对比,图3-7为模拟信号接收端图形用户界面:
图3-7模拟信号接收端图形用户界面
②数字信号接收端,继承了模拟信号接收端的各项功能。
它可对接收的信号进行解调、译码等逆向处理操作,可实现不同调制解调方式下通信信号处理系统的分析和仿真。
图3-8为数字信号接收端图形用户界面:
图3-8数字信号接收端图形用户界面
2.通信信号处理系统实现的程序流程图
图3-9通信信号处理系统实现的程序流程图
四、通信信号处理系统的GUI仿真实例
本章给出了基于本通信信号处理系统的GUI仿真实例。
通信系统仿真平台运行流程如图4-1所示:
图4-1通信信号处理系统仿真平台运行流程
(一)模拟信号处理GUI仿真实例
1.模拟信号发送端
进入通信信号处理系统界面后,通过选择菜单进入“模拟信号发送端”,设定系统的输入信号为常用正弦信号,输入信号频率为20Hz,进行模拟AMDSB-SC调制,载波频率为200Hz,采样频率为3000Hz,点击“开始通信”按钮,得到如图4-2所示的AMDSB-SC调制波形的仿真结果,在右侧的信号图像界面中依次显示基带信号波形,已调信号的时域波形和频谱特征曲线。
图4-2正弦波的AMDSB-SC调制的仿真结果
图4-3语音信号AMDSB-SC调制的仿真结果
设定输入信号为已存在的语音信号,点击“打开”按钮,在弹出的浏览对话框中选择需处理的语音文件,文件地址返回到左侧的静态文本框中,点击“信号输入”,语音信号波形显示在右侧
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信 信号 处理 GUI 界面设计