数字调制GUI仿真平台的设计_第1页
数字调制GUI仿真平台的设计_第2页
数字调制GUI仿真平台的设计_第3页
数字调制GUI仿真平台的设计_第4页
数字调制GUI仿真平台的设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、湖南工程学院课 程 设 计 任 务 书课程名称 通信原理 题 目数字调制GUI仿真平台的设计 专业班级: 电 信1202 学生姓名: 王 杰 学号: 201201030232 指导老师: 曾 志 刚 审 批: 任务书下达日期 2014年 月 日设 计 完成日期 年 月 日 设计内容与设计要求一、设计内容:利用MATLAB的GUI图形界面设计工具设计数字调制的仿真平台。1、熟悉GUI图形界面的设计方法;2、利用MATLAB的GUI工具设计仿真实验平台。二、设计要求1、给出系统框图以及仿真界面;2、给出各模块的后台程序设计;主要设计条件MATLAB软件;说明书格式1. 课程设计封面;2. 任务书;

2、3. 说明书目录;4. 设计基本原理与系统框图。5. 各单元电路设计;6. 系统进行调试结果;7. 总结与体会;8. 附录;9. 参考文献。进度安排D1:下达设计任务书,介绍课题内容与要求; D2:查找资料;D3D5:设计系统框图、完成仿真界面的设计;D6D9:设置调试仿真参数,设计后台程序;D10D14:编写并打印设计报告;D15:答辩。参考文献1、樊昌信主编,通信原理,国防工业出版社。2、南利平主编,通信原理简明教程,清华大学出版社。 3、浣喜明,通信原理实验指导书,湖南工程学院。4、施晓红,周佳精通GUI图形界面编程,北京大学出版社。 目 录一.绪论41 前言42 设计框图5二.单元电路

3、51 二进制振幅键控(2ASK)52 二进制频移键控(2FSK)63 二进制相移键控(2PSK)64 二进制差分相移键控(2DPSK)7三.GUI仿真71新建GUI72 2ASK 仿真83 2FSK仿真94 2PSK仿真115 2DPSK 仿真126 退出14四总结与体会15五.附录16参考文献23一.绪论1 前言目前数字信号在生活中越来越普遍,越来越受欢迎。低频基带信号只能适合短距离传输,要进行远距离的传输需要调制到高频,所以数字调制的设计越来越有必要性。本设计主要设计了我们生活中常见的调制方式,有2ASK、2FSK、2PSK、2DPSK。具体的设计会在单元电路中体现,本设计的仿真是在MAT

4、LAB下GUI设计的。2 设计框图载波信号乘 法 器2ASK判决2FSK判决2PSK2DPSKA(t)二.单元电路1 二进制振幅键控(2ASK)二进制振幅键控信号码元表达式如下: 式中为载波的角频率;A(t)是随基带调制信号变化的时振幅,即:A 当发送“1”时0 当发送“0”时本设计采用相乘电路,用基带信号A(t)与载波相乘就得到已调信号。2 二进制频移键控(2FSK)二进制频移键控信号码元的“1”和“0”分别用两个不同频率余弦波形来传送。而其振幅和初相位不变。故其表达式如下: 当发送“1”时 当发送“0”时A为一常数,表明码元的包络是矩形脉冲,本设计采用根据基带信号判断输出不同频率的余弦波。

5、3 二进制相移键控(2PSK)2PSK信号码元的“0”和“1”分别用两个不同的初相位来表示,而其振幅和频率保持不变。故2PSK信号表达式如下: );式中,当发“0”时,。当发“1”时,。具体表达式如下: 当发送“0”时 当发送“1”时本设计采用选择法,根据基带信号来判断选择输出不同初相位的余弦波。4 二进制差分相移键控(2DPSK)2DPSK是利用相邻码元载波相位的相对值表示基带信号“0”和“1”的。现在用表示载波的初相位。用表示当前码元与前一码元的相位之差: 当发送“0”时 当发送“1”时则信号码元可以表示为: 三.GUI仿真1新建GUI在MATLAB中打开GUI,进入后调用需要的图标,然后

6、运行,得到m文件,然后再到m文件中修改每一个按钮所指定的功能。新建的GUI如下图:2 2ASK 仿真首先用get语句得到文字框中输入的基带信号,再计算基带信号的的长度,再使用for语句进行循环,并让每个码元与载波相乘得到调制信号并画出其图形,再画出基带信号的图形与之作比较对照。源代码如下:function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future versio

7、n of MATLAB% handles structure with handles and user data (see GUIDATA)input=get(handles.edit2,'String');n=size(input);for a=1:n(2) t=a-1:0.005:a;y=cos(2*pi*t-pi/2)*(input(a)-48);plot(t,y)hold ony1=input(a)-48;plot(t,y1,'r')legend('调制信号','基带信号')xlabel('bit');y

8、label('幅值');title('2ASK')hold onylim(-1.4 1.8);endhold offgrid on% - Executes on button press in pushbutton2.仿真图如下:3 2FSK仿真2FSK通过if语句来判断输出不同频率的余弦波。源代码如下:function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be de

9、fined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)?%?handles?structure?with?handles?and?user?data?(see?GUIDATA)?input=get(handles.edit1,'String');?input=get(handles.edit2,'String');n=size(input);for a=1:n(2) t=a-1:0.005:a; if input(a)-48=0

10、 y=cos(2*pi*t-pi/2); else y=cos(4*pi*t-pi/2); end plot(t,y) hold on y1=input(a)-48; plot(t,y1,'r')legend('调制信号','基带信号')xlabel('bit');ylabel('幅值');title('2FSK')hold onylim(-1.4 1.8);endhold offgrid on仿真图如下:4 2PSK仿真2PSK采用判决法产生当基带信号为“0”时,初相位为0,当为“1”时,初相位为

11、180。源代码如下:function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)input=get(handles.edit2,'String');n=size(input);for a=1:

12、n(2) t=a-1:0.005:a; if input(a)-48=0 y=cos(2*pi*t+pi/2); else y=cos(2*pi*t-pi/2); end plot(t,y) hold on y1=input(a)-48; plot(t,y1,'r')legend('调制信号','基带信号')xlabel('bit');ylabel('幅值');title('2PSK')hold onylim(-1.4 1.8);endhold offgrid on仿真图如下:5 2DPSK 仿真2

13、DPSK是通过前后码元的相位差值来编码输出的,是把2PSK变为相对码元。源代码如下:function pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)input=get(handles.edit2,'Str

14、ing');n=size(input);dp=0;for a=1:n(2) t=a-1:0.005:a; dp=dp+pi*(input(a)-48); y=cos(2*pi*t+dp+pi/2); plot(t,y,'b') hold on y1=input(a)-48; plot(t,y1,'r')legend('调制信号','基带信号')xlabel('bit');ylabel('幅值');title('2DPSK')hold onylim(-1.4 1.8);endh

15、old offgrid on仿真图如下:6 退出退出GUI的代码如下:function pushbutton5_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)exit;四总结与体会 在本次课程设计中,我学会了一种新技能就是使用MATLA

16、B中的GUI,之前只学会了MATLAB中如何编制M文件,现在能够自己设计一个图形化的界面,感觉十分有成就感。非常高兴能有这样的机会锻炼自己的学习能力,一方面在锻炼自己的学习能力的同时,也表现出了自己有能力学好一门新技能。学习的技能不只是看书,还有上网查资料,图书馆借资料,对资料的分类,整理与分析。通过此次课设,我感觉我的学习能力得到了大大的提升。五.附录全过程源代码如下:function varargout = untitled2(varargin)% UNTITLED2 M-file for untitled2.fig% UNTITLED2, by itself, creates a new

17、 UNTITLED2 or raises the existing% singleton*.% H = UNTITLED2 returns the handle to a new UNTITLED2 or the handle to% the existing singleton*.% UNTITLED2('CALLBACK',hObject,eventData,handles,.) calls the local% function named CALLBACK in UNTITLED2.M with the given input arguments.% UNTITLED2

18、('Property','Value',.) creates a new UNTITLED2 or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before untitled2_OpeningFunction gets called. An% unrecognized property name or invalid value makes property application% stop. All

19、inputs are passed to untitled2_OpeningFcn via varargin.% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".% See also: GUIDE, GUIDATA, GUIHANDLES% Copyright 2002-2003 The MathWorks, Inc.% Edit the above text to modify the response to help

20、 untitled2% Last Modified by GUIDE v2.5 21-Dec-2014 15:55:06% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, . 'gui_Singleton', gui_Singleton, . 'gui_OpeningFcn', untitled2_OpeningFcn, . 'gui_OutputFcn', untitled2_Ou

21、tputFcn, . 'gui_LayoutFcn', , . 'gui_Callback', );if nargin && ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end% End initialization code - DO NOT EDIT

22、% - Executes just before untitled2 is made visible.function untitled2_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and us

23、er data (see GUIDATA)% varargin command line arguments to untitled2 (see VARARGIN)% Choose default command line output for untitled2handles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes untitled2 wait for user response (see UIRESUME)% uiwait(handles.figure1);% -

24、 Outputs from this function are returned to the command line.function varargout = untitled2_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles st

25、ructure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout1 = handles.output;% - Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - t

26、o be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)input=get(handles.edit2,'String');n=size(input);for a=1:n(2) t=a-1:0.005:a;y=cos(2*pi*t-pi/2)*(input(a)-48);plot(t,y)hold ony1=input(a)-48;plot(t,y1,'r')legend('调制信号','基带

27、信号')xlabel('bit');ylabel('幅值');title('2ASK')hold onylim(-1.4 1.8);endhold offgrid on% - Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a fu

28、ture version of MATLAB% handles structure with handles and user data (see GUIDATA)?%?handles?structure?with?handles?and?user?data?(see?GUIDATA)?input=get(handles.edit1,'String');?input=get(handles.edit2,'String');n=size(input);for a=1:n(2) t=a-1:0.005:a; if input(a)-48=0 y=cos(2*pi*t

29、-pi/2); else y=cos(4*pi*t-pi/2); end plot(t,y) hold on y1=input(a)-48; plot(t,y1,'r')legend('调制信号','基带信号')xlabel('bit');ylabel('幅值');title('2FSK')hold onylim(-1.4 1.8);endhold offgrid on% - Executes on button press in pushbutton3.function pushbutton3_C

30、allback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)input=get(handles.edit2,'String');n=size(input);for a=1:n(2) t=a-1:0.005:a; if input(a)-

31、48=0 y=cos(2*pi*t+pi/2); else y=cos(2*pi*t-pi/2); end plot(t,y) hold on y1=input(a)-48; plot(t,y1,'r')legend('调制信号','基带信号')xlabel('bit');ylabel('幅值');title('2PSK')hold onylim(-1.4 1.8);endhold offgrid on% - Executes on button press in pushbutton5.funct

32、ion pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)input=get(handles.edit2,'String');n=size(input);dp=0;for a=1:n(2) t=a-1

33、:0.005:a; dp=dp+pi*(input(a)-48); y=cos(2*pi*t+dp+pi/2); plot(t,y,'b') hold on y1=input(a)-48; plot(t,y1,'r')legend('调制信号','基带信号')xlabel('bit');ylabel('幅值');title('2DPSK')hold onylim(-1.4 1.8);endhold offgrid on% - Executes on button press in p

34、ushbutton4.function pushbutton5_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)exit;function edit2_Callback(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论