数字信号的调制与解调Word格式.docx
《数字信号的调制与解调Word格式.docx》由会员分享,可在线阅读,更多相关《数字信号的调制与解调Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
MATLAB是由美国MATHEORKS公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。
特点
1)高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;
2)具有完备的图形处理功能,实现计算结果和编程的可视化;
3)友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;
4)功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等),为用户提供了大量方便实用的处理工具。
优势
1友好的工作平台编程环境
MATLAB由一系列工具组成。
这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。
包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。
随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。
而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。
简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
2简单易用的程序语言
MATLAB是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。
新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。
使之更利于非计算机专业的科技人员使用。
而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
3强大的科学计算机数据处理能力
MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C和C++。
在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。
函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
4出色的图形处理功能
图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。
高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
可用于科学计算和工程绘图。
新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。
同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。
另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
5应用广泛的模块集合工具箱
MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。
一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。
目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。
6实用的程序接口和发布平台
新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。
允许用户编写可以和MATLAB进行交互的C或C++语言程序。
另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。
MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。
工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。
7应用软件开发(包括用户界面)
在开发环境中,使用户更方便地控制多个文件和图形窗口;
在编程方面支持了函数嵌套,有条件中断等;
在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;
在输入输出方面,可以直接向Excel和HDF5进行连接。
1.2设计思想
数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。
为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。
这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。
数字调制技术的两种方法:
①利用模拟调制的方法去实现数字式调制,即把数字调制看成是模拟调制的一个特例,把数字基带信号当做模拟信号的特殊情况处理;
②利用数字信号的离散取值特点通过开关键控载波,从而实现数字调制。
这种方法通常称为键控法,比如对载波的相位进行键控,便可获得相移键控(PSK)基本的调制方式。
101
图1相应的信号波形的示例
数字调相:
如果两个频率相同的载波同时开始振荡,这两个频率同时达到正最大值,同时达到零值,同时达到负最大值,它们应处于"
同相"
状态;
如果其中一个开始得迟了一点,就可能不相同了。
如果一个达到正最大值时,另一个达到负最大值,则称为"
反相"
。
一般把信号振荡一次(一周)作为360度。
如果一个波比另一个波相差半个周期,我们说两个波的相位差180度,也就是反相。
当传输数字信号时,"
1"
码控制发0度相位,"
0"
码控制发180度相位。
载波的初始相位就有了移动,也就带上了信息。
相移键控是利用载波的相位变化来传递数字信息,而振幅和频率保持不变。
因此,2PSK信号的时域表达式为
(1)
图22PSK信号的解调方法是相干解调法
由于PSK信号本身就是利用相位传递信息的,所以在接收端必须利用信号的相位信息来解调信号。
下图2-3中给出了一种2PSK信号相干接收设备的原理框图。
图中经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。
判决器是按极性来判决的。
即正抽样值判为1,负抽样值判为0.
图32PSK信号相干解调各点时间波形
2PSK信号相干解调各点时间波形如图3所示.当恢复的相干载波产生180°
倒相时,解调出的数字基带信号将与发送的数字基带信号正好是相反,解调器输出数字基带信号全部出错。
这种现象通常称为"
倒π"
现象.由于在2PSK信号的载波恢复过程中存在着180°
的相位模糊,所以2PSK信号的相干解调存在随机的"
现象,从而使得2PSK方式在实际中很少采用。
1.3设计框图
2PSK的基本原理
在2PSK中,通常用初始相位为0和π表示二进制的“1”和“0”。
因此2PSK的信号的时域表达式为
(2)
其中,φn表示第n个符号的绝对相位;
图42PSK信号的时间波形
由于表示信号的两种码元的波形相同,记性相反,鼓2PSK信号一般可以表述为一个双极性全占空矩形脉冲序列与一个正弦载波相乘,即
(3)
其中
(4)
这里,g(t)是脉宽为Ts的单个矩形脉冲
即发送二进制符号“0”时(an取+1),e2psk(t)取0相位;
发送二进制符号“1”时(an取-1),e2psk(t)取π相位。
2PSK相干解调系统
但是由于2PSK信号的载波回复过程中存在着180°
的相位模糊,即恢复的本地载波与所需相干载波可能相同,也可能相反,这种相位关系的不确定性将会造成解调出的数字基带信号与发送的基带信号正好相反,即“1”变成“0”吗“0”变成“1”,判决器输出数字信号全部出错。
这种现象称为2PSK方式的“倒π”现象或“反相工作”。
图52PSK信号的解调器波形图
二各模块功能
2PSK信号的调制器键控法原理方框图
图62PSK信号的调制器原理方框图
说明:
2psk调制器可以采用相乘器,也可以采用相位选择器就模拟调制法而言,与产生2ASK信号的方法比较,只是对s(t)要求不同,因此2PSK信号可以看作是双极性基带信号作用下的DSB调幅信号。
而就键控法来说,用数字基带信号s(t)控制开关电路,选择不同相位的载波输出,这时s(t)为单极性NRZ或双极性NRZ脉冲序列信号均可。
2PSK信号属于DSB信号,它的解调,不再能采用包络检测的方法,只能进行相干解调。
2PSK信号的解调通常采用相干解调法原理框图
图72PSK信号的相干解调原理方框图
图中,假设相干载波的基准相位与2PSK信号的基准一致(通常默认为0相位)。
说明:
由于PSK信号的功率谱中五载波分量,所以必须采用相干解调的方式。
在相干解调中,如何得到同频同相的本地载波是个关键问题。
只有对PSK信号进行非线性变换,才能产生载波分量。
2PSK信号经过带通滤波器得到有用信号,经相乘器与本地载波相乘再经过低通滤波器得到低频信号v(t),再经抽样判决得到基带信号。
2PSK相干解调系统性能原理框图
图82PSK相干解调系统性能原理方框图
由最佳判决门限分析可知,在发送“1”符号和发送“0”符号概率相等时,最佳判决门限b*=0。
此时,发“1”而错判为“0”的概率为
(5)同理,发送“0”而错判为“1”的概率为
(6)
故2PSK信号相干解调时系统的总误为
(7)
在大信噪比条件下,上式可近似为
(8)
独立等概的二进制信源对应的2PSK信号的功率谱密度为:
(9)
三设计
图92PSK信号的解调原理框图
由于PSK信号的功率谱中五载波分量,所以必须采用相干解调的方式。
2PSK信号经过带通滤波器得到有用信号,经相乘器与本地载波相乘再经过低通滤波器得到低频信号v(t),再经抽样判决得到基带信号
四仿真结果
图10系统仿真图
基带信号经过调制系统生成2PSK信号,信道中可能会有噪音干扰,经过带通滤波器过滤出有用信号。
设计总结
信号处理是通信专业的一门主干技术基础课,通过该门课程的学习,使我们掌握确定信号调制解调原理的特性,信号的传输的特性,确定信号的发送与接收的基本方法以及某些典型系统引出的一些重要的基本概念。
本次课程设计运用MATLAB产生独立等概的二进制信源并对其波形、其对应的2PSK信号的波形、2PSK信号的功率谱密度的模拟。
2PSK信号的调制方法有键控法和模拟调制法两种。
在2PSK中,二进制“1”和“0”通常分别用初始相位0和π表示。
完成这次课程设计我觉得收获很多,不但进一步掌握了信号处理的知识及一门专业仿真软件的基本操作,还提高了自己的设计能力及分析问题能力。
更多的是让我看清了自己,明白了凡事需要耐心,实践是检验真理的唯一标准。
致谢
我非常感谢这次课程设计中给予我指导的王维芳老师,以及所有给予我帮助的同学,王老师丰富渊博的知识、敏锐的学术思维及诲人不倦的师者风范是我们终生学习的楷模。
在这一周的时间内我经常往返于图书馆,查阅相关资料,发现自己的知识水平有限,需要学习的东西还有很多很多。
另外,在这次课程设计中,我充分利用了网络资源。
基于MATLAB的数字调制信号仿真分析课程设计让我获益颇深,我能够独立的完成一个课程设计,将所学知识应用于实践,增强了我的实践操作和动手应用能力,以及独立思考问题的能力。
通过这次课程设计,我学会了很多,收获了很多,并且加强了我的自主能力、动手能力和独立思考、团结协作的能力。
参考文献
[1]董邵平,陈世庚,王洋.数字信号处理基础[TN].哈尔滨:
哈尔滨工业大学出版社,2003
[2]樊昌信,曹丽娜.通信原理(第六版)[TN].北京:
国防工业出版社,2006
[3]韩利华,王华.MATLAB电子仿真与应用[TN].北京:
国防工业出版社,2003
[4]梅志红,杨万铨.MATLAB程序设计基础及应用.清华大学出版社,2005
附录
clear;
closeall;
N=500;
fs=200;
Ts=1;
t=0:
1/fs:
N*Ts;
fm=1/2*Ts;
fc=4;
%用正弦波产生方波
twopi_fc_t=2*pi*fm*t;
%源信号
A=1;
%幅值为1
phi=0;
%相位偏移为0
x=A*cos(twopi_fc_t+phi);
%方波
am=1;
x(x>
0)=am;
x(x<
0)=-1;
subplot(3,1,1);
plot(t,x);
axis([05-22]);
title('
等概二进制信源'
);
gridon;
%加边框
car=sin(2*pi*fc*t);
%载波
psk=x.*car;
%载波调制(相乘器)
subplot(3,1,2);
plot(t,psk);
2PSK信号'
subplot(3,1,3);
plot(abs(fft(psk)));
%产生2psk信号的频谱
axis([0100000040000]);
2psk信号频谱'
xlabel('
f'