用matlab实现16PSK通信课程设计DOC.docx
- 文档编号:8901435
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:14
- 大小:350.66KB
用matlab实现16PSK通信课程设计DOC.docx
《用matlab实现16PSK通信课程设计DOC.docx》由会员分享,可在线阅读,更多相关《用matlab实现16PSK通信课程设计DOC.docx(14页珍藏版)》请在冰豆网上搜索。
用matlab实现16PSK通信课程设计DOC
目录
1课程设计目的…………………………………………………………1
2课程设计要求…………………………………………………………1
3相关知识………………………………………………………………1
4课程设计分析…………………………………………………………4
5仿真……………………………………………………………………7
6结果分析……………………………………………………………12
7参考文献……………………………………………………………14
16PSK系统设计
1.课程设计目的
(1)根据题目,查阅有关资料,掌握16进制相移键控的基本原理。
(2)学习MATLAB软件,掌握MATLAB中元器件使用及参数的设置。
(3)锻炼我们分析问题和解决问题的能力同时对我们进行良好的独立工作习惯和科学素质的培养为今后参加科学工作打下良好的基础
2.课程设计要求
(1)掌握相移键控的相关知识、概念清晰。
(2)掌握MATLAB使用方法,利用软件绘制图像。
(3)程序设计合理、能够正确运行。
3.相关知识
3.1数字通信系统简介
通信系统是为了有效可靠的传输信息,信息由信源发出,以语言、图像数据为媒体,通过电(光)信号将信息传输,由信宿接收。
通信系统又可分为数字通信与模拟通信。
实现数字通信,必须使发送端发出的模拟信号变为数字信号,这个过程称为“模数变换”。
模拟信号数字化最基本的方法有三个过程,第一步是“抽样”,就是对连续的模拟信号进行离散化处理,通常是以相等的时间间隔来抽取模拟信号的样值。
第二步是“量化”,将模拟信号样值变换到最接近的数字值。
因抽样后的样值在时间上虽是离散的,但在幅度上仍是连续的,量化过程就是把幅度上连续的抽样也变为离散的。
第三步是“编码”,就是把量化后的样值信号用一组二进制数字代码来表示,最终完成模拟信号的数字化。
数字信号送入数字网进行传输。
接收端则是一个还原过程,把收到的数字信号变为模拟信号,即“数据摸变换”,从而再现声音或图像。
数字通信系统模型图为:
信源→信源编码→信道编码→调制→信道→解调→信道解码→信源解码→信宿
↑噪声
3.2MATLAB简介
3.2.1基本功能
MATLAB是很实用的数学软件它在数学类科技应用软件中在数值运算方面首屈一指。
MATLAB可以进行运算、绘制函数和数据、实现算法、创建用户界面、连接接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
3.2.2MATLAB产品应用
MATLAB产品族可以用来进行以下各种工作:
●数值分析
●数值和符号计算
●工程与科学绘图
●控制系统的设计与仿真
●数字信号处理技术
●通讯系统设计与仿真
3.2.3MATLAB特点
●此高级语言可用于技术计算
●此开发环境可对代码、文件和数据进行管理
●交互式工具可以按迭代的方式探查、设计及求解问题
●二维和三维图形函数可用于可视化数据
●各种工具可用于构建自定义的图形用户界面
3.2.4MATLAB系列工具优势
(1)友好的工作平台和编程环境
MATLAB由一系列工具组成。
这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。
包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。
随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。
而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。
简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
(2)简单易用的程序语言
MATLAB一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。
新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。
使之更利于非计算机专业的科技人员使用。
而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
(3)强大的科学计算机数据处理能力
MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
3.3绝对相移键控调制仿真
为了提高通信系统的频带利用率,多元数字调制是一个重要的途径。
相同的码元宽度占据相同频带宽度的资源,多元调制情况下一个符号(码元)代表了若干比特的信息。
相同资本资源下,传输了更多信息。
提高频带利用率是以降低功率利用率为代价的。
相同的发射功率下,信号空间中元数越多,各个信号之间的距离越小,抗干扰能力越差。
因为相同的噪声功率使信号偏离原有位置相同的距离,信号之间的距离俞小接收时判错的概率越大。
为了降低误码率,只有提高发射功率。
对于移动设备等场合提高功率又是难以实现的。
工程实践中应权衡二者的关系。
应用仿真的方法,可以得出多元调制情况下频带利用率,功率利用率,误码率与调制方式,传输环境之间的定量关系,为系统规划,设计提供有参考的价值的信息。
4.课程设计分析
4.1MPSK的概念
MPSK即多进制相移键控,又称为多相制。
这种键控方式是多进制键控的主要方式。
在M进制的相移键控信号,用M个相位不同的载波分别代表M个不同的符号。
如果载波有2n个相位,它可以代表n位二进制码元的的不同组合的码组。
多进制相移键控也分为多进制绝对相移键控和多进制相对相移键控。
在MPSK信号中,载波相位有M种可能取值,qn=2πn/M(n=1,2,…M)。
因此MPSK信号可表示为
S(t)=cos(ω0t+θn)=cos(ω0t+2πn/M)
若载波频率是基带信号速率的整数倍,则上式可改写为
S(t)=∑g(t-nTs)cos(ω0t+θn)=cosω0tΣg(t-nTs)cosθn-sinω0tΣg(t-nT)sinθn
式中g(t)是高度为1、宽度为Ts的矩形脉冲。
式中表明,MPSK信号可等效为两个正交载波的MASK信号之和。
所以,MPSK信号的带宽和MASK信号的带宽相同。
因此,MPSK系统是一种高效率的信息传输方式。
但是,当M的取值增加时,载波间的相位差也随之减少,这就使它的抗噪声性能变差。
16PSK(16PhaseShiftKeying16移相键控)是一种相位调制算法。
相位调制(调相)是频率调制(调频)的一种演变,载波的相位被调整用于把数字信息的比特编码到每一词相位改变(相移)。
"16PSK"中的"PSK表示使用移相键控方式,移相键控是调相的一种形式,用于表达一系列离散的状态,16PSK对应16种状态的PSK。
如果是其一
半的状态,即8种,则为EPSK,如果是其2倍的状态,则为32PSK。
4.216PSK调制解调
4.2.116PSK
图4.1 4位比特信息到16RSK符号的映射关系
16PSK(绝对相移键控)是用载波的16种不同相位表示不同的数字信息。
16PSK调制的16个矢量端点均匀分布在圆上,其数学表达式包括同相分量和正交分量两部分。
16PSK是将输入的二进制信号序列经过串并转换每次将一个4位的码元映射为一个符号的相位,因此符号速率为比特率的1/4。
不同的码元和对应的相位映射如图4-1所示
4.2.216PSK调制解调框图
图4.216PSK调制框图
图4.316PSK最佳接收框图
5仿真
5.116PSK仿真模块建模
16PSK基带调制仿真系统如图5-1
图5.116PSK基带调制仿真
仿真系统中各模块的主要参数
图5-2随机整数发生器主要参数
图5-316PS调制器主要参数
图5-4信道的主要参数
5.2程序内容
(1)生成一个随机的二进制比特流。
(2)将二进制比特流转换成对应的十六进制信号。
(3)用16PSK调制器对信号进行调制并画出信号的星座图。
(4)在16PSK信号中加入高斯白噪声。
(5)画出通过信道之后接收信号的星座图。
(6)生成信号眼图。
(7)16PSK信号的解调。
(8)计算误码率。
5.3程序如下:
M=16;
k=log2(M);
n=100000;%比特序列长度
samp=1;%过采样率
x=randint(n,1);%生成随机二进制比特流
stem(x(1:
50),'filled');%画出相应的二进制比特流信号
title%('二进制随机比特流');
xlabel('比特序列');ylabel%('信号幅度');
x4=reshape(x,k,length(x)/k);%将原始的二进制比特序列每四个一组分组,并排列成k行length(x)/k列的矩阵
xsym=bi2de(x4.','left-msb');%将矩阵转化为相应的16进制信号序列
figure;
stem(xsym(1:
50));%画出相应的16进制信号序列
xlabel('信号序列');ylabel('信号幅度');
y=modulate(modem.pskmod(M),xsym);%用16PSK调制器对信号进行调制
scatterplot(y);%画出16PSK信号的星座图
text(real(y)+0.1,imag(y),dec2bin(xsym));
axis([-55-55]);
EbNo=15;%假设Eb/No=15db
snr=EbNo+10*log10(k)-10*log10(samp);%信噪比
yn=awgn(y,snr,'measured');%加入高斯白噪声
h=scatterplot(yn,samp,0,'b.');%经过信道后接收到的含白噪声的信号星座图
holdon;
scatterplot(y,1,0,'k+',h);%加入不含高斯白噪声的信号星座图
title%('接收信号星座图');
legend%('含噪声接收信号','不含噪声接收信号');
axis([-55-55]);
holdoff;
eyediagram(yn,2);%眼图
yd=demodulate(modem.pskdemod(M),yn);%此时解调出来的是16进制信号
z=de2bi(yd,'left-msb');%转化为对应的二进制比特流
z=reshape(z.',numel(z),1');
[number_of_errors,bit_error_rate]=biterr(x,z)%计算误码率
运行结果:
number_of_errors=94
bit_error_rate=9.4000e-004
6.结果分析
通过理论与编程实践,其运行结果如图所示:
图6.116PSK的信号图
图6.216PSK信号的星座图
图6.3含高斯白噪声的信号星座
图6.4不含高斯白噪声的信号
图6.5眼图
7参考文献
[1]通信原理作者:
樊昌信曹丽娜国防工业出版社
[2]MATLAB仿真在通信与电子工程中的应用作者:
徐明远邵玉斌
西安电子科技大学出版社
[3]现代通信理论基础作者:
樊平毅冯重熙清华大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 实现 16 PSK 通信 课程设计 DOC