基于MATLAB的数字调制
基于MATLAB的ASK调制解调实验
基于MATLAB 的ASK 调制解调实验1.实验目的(1) 熟悉MATLAB 中M 文件的使用方法,并在掌握ASK 调制解调原理的基础上,编写出ASK 调制解调程序。
(2) 绘制出ASK 信号解调前后在时域和频域中的波形,并观察解调前后频谱有何变化以加深对ASK 信号解调原理的理解。
(3) 对信号叠加噪声,并进行解调,绘制出解调前后信号的时频波形,改变噪声功率进行解调,分析噪声对信号传输造成的影响。
2.实验原理(1)ASK 调制原理ASK 指的是振幅键控方式。
这种调制方式是根据信号的不同,调节正弦波的幅度。
幅度键控可以通过乘法器和开关电路来实现。
载波在数字信号1或0的控制下通或断,在信号为1的状态载波接通,此时传输信道上有载波出现;在信号为0的状态下,载波被关断,此时传输信道上无载波传送。
那么在接收端我们就可以根据载波的有无还原出数字信号的1和0。
对于二进制幅度键控信号的频带宽度为二进制基带信号宽度的两倍。
幅移键控法(ASK )的载波幅度是随着调制信号而变化的,其最简单的形式是,载波在二进制调制信号控制下通断, 此时又可称作开关键控法(OOK )。
二进制幅度键控记作2ASK 。
2ASK 是利用代表数字信息“0”或“1”的基带矩形脉冲去键控一个连续的载波,使载波时断时续地输出。
有载波输出时表示发送“1”,无载波输出时表示发送“0”。
2ASK 信号可表示为t w t s t e c cos )()(0=式中,c w 为载波角频率,s(t)为单极性NRZ 矩形脉冲序列 )()(b nn nT t g a t s -=∑其中,g(t)是持续时间b T 、高度为1的矩形脉冲,常称为门函数;n a 为二进制数字⎩⎨⎧-=P P a n 101,出现概率为,出现概率为 2ASK/OOK 信号的产生方法通常有两种:模拟调制(相乘器法)和键控法。
本模拟幅度调制的方法用乘法器实现。
相应的调制如图5-1和图5-2:图5-1模拟相乘法图5-2键控/开关法(2)ASK 解调原理2ASK/OOK 信号有两种基本的解调方法:非相干解调(包络检波法)和相干解调(同步检测法)。
基于MATLAB的信号调制与解调
课程设计任务书学生姓名: 殷 翔 专业班级: 通信0806 指导教师: 郭志强 工作单位: 信息工程学院 题 目:基于MATLAB 的信号调制与解调 初始条件:(1)MATLAB 软件(2)数字信号处理与图像处理基础知识要求完成的主要任务:(1)已知某消息信号⎪⎩⎪⎨⎧≤≤-≤≤=elset t t t t t m 03/23/23/01)(000以双边幅度调制(DSB-AM )方式调制载波)2cos()(t f t c c π=,所得到的已调制信号记为)(t u ,设s t 15.00=,Hz f c 250=。
试比较消息信号与已调信号,并绘制它们的频谱。
(2)对(1)的DSB-AM 调制信号进行相干解调,并绘出信号的时频域曲线。
(3)对(1)中的信号进行单边带幅度调制(SSB-AM )绘制信号的时频域曲线。
(4)对(1)中的信号进行常规幅度调制(AM ),给定调制指数8.0=a 绘制信号的时频域曲线。
时间安排:第12周:安排任务,分组 第13-14周:设计仿真,撰写报告 第15周:完成设计,提交报告,答辩指导教师签名: 年 月 日系主任(或责任教师)签名:年月日目录摘要 (I)Abstract (II)1.常规双边带幅度调制(DSB-AM)与解调 (1)1.1DSB-AM调制原理与分析 (1)1.2 常规双边带解调原理 (3)2单边带幅度调制(SSB-AM)原理 (5)3常规幅度调制(AM)原理 (6)3.1幅度调制的一般模型 (6)3.2 常规双边带调幅(AM) (7)3.2.1 AM信号的表达式、频谱及带宽 (7)3.2.2 AM信号的功率分配及调制效率 (9)4. 双边幅度调制(DSB-AM)与解调的MATLAB实现 (10)4.1 DSB-AM调制的MATLAB实现 (10)4.2 相干解调 (12)5单边带幅度调制(SSB-AM)的MATLAB实现 (14)6 常规幅度调制(AM)的MATLAB实现 (16)7 小结与收获 (17)8 参考文献 (18)摘要MATLAB是集数值计算,符号运算及图形处理等强大功能于一体的科学计算语言。
基MATLAB数字调制与解调的设计与仿真实现
( a ) 非 相 干 解 调
图3 - 3 2 A S K的误 码率仿真 图 3 . 2 2 F S K 调制解调的仿 真
f b ) 相干解调 图2 — 4 2 F S K信号的解 调原理框 图 2 _ 3二进制相移键控 2 P S K信号的调制原理框网如图 2 — 5 所示。
2 , 数 字频 带 传 输 系统 2 . 1 二进 制振 幅 键控
图2 - 6 2 P S K信号 的解调原理框图
3 擞 宇 调 制 解 调 的 仿真
3 . 1 2 A S K调制 解调 的仿真 采用 MA T L AB环境 下编程实现 A S K调制 过程 ,调制信 号波形如图
3 - 1 所 示 。
2 A S K 信 号的调制原理框图如图 2 一 l 所示。对 2 A S K 信 号也 能够采 用非相十解调 ( 包络 检波法) 和相干解调( 同步检测法) , 其相应原 理框 图
如图 2 - 2所 示 】 。
二进 )
( a ) 模拟调制法 ( b ) 数字键控法 图2 - 1 2 A S K信号 的调制原理框图
课设-基于MATLAB的BPSK调制(完本)
摘要本次课程设计为基于MATLAB的BPSK原理电路仿真。
本次课设着重介绍了算法的实现,并采用MATLAB程序仿真测试了BPSK过程中单极性不归零编码、脉冲成形、PSK调制、信号通过AWGN信道、载波恢复、解调、解码等过程。
关键词:BPSK;2PSK;MATLAB;数字频带通信;目录绪论 (1)1 BPSK数字调制原理 (2)1。
1数字带通传输分类 (2)1。
2 BPSK调制原理分析 (2)1.2.1调制原理分析 (2)1。
2.2解调原理分析 (4)2 MATLAB软件 (6)2。
1 MATLAB软件介绍 (6)3基于的MATLAB的BPSK调制分析和仿真 (7)3。
1基于MATLAB的BPSK调制系统总述 (7)3.2编码过程的MATLAB实现 (8)3.3 BPSK调制的MATLAB的实现 (11)3.4 AWGN信道MATLAB的实现 (14)3.5载波恢复的MATLAB实现 (17)3。
5.1接收端带通滤波器 (17)3。
5.2通过FFT实现载波的直接频率估计 (21)3。
5。
3自适应(迭代)算法验证恢复频率 (23)3。
6 BPSK解调 (26)4总结 (31)附录 (32)致谢 (33)参考文献 (34)绪论数字信号传输方式分为数字带通传输和数字基带传输。
对于本次课程设计二进制相移键控BPSK(Binary Phase Shift Key)是利用载波的相位变化来传递数字信息,而振幅和频率保持不变的一种数字带通调制方式。
在实际应用中,PSK具有恒包络特性,频带利用率比FSK高,在相同信噪比的条件下误码率也较低,同时PSK调制实现相对简单,故卫星通信,遥测遥控中用得最多的是BPSK方式调制。
1 BPSK 数字调制原理1.1数字带通传输分类数字带通传输中一般利用数字信号的离散取值特点通过开关键控载波,从而实现数字调制,比如对载波的振幅、频率和相位进行键控可获得振幅键控(ASK)、频移键控(FSK )和相移键控(PSK ).1。
通信工程专业毕业论文--基于Matlab的数字通信系统调制解调研究
摘要当今,随着通信技术日新月异的发展,尤其是数字通信的快速普及,使得通信技术日新月异。
现代通信系统要求通信距离远、通信容量大、传输质量好,因此通信系统也日趋复杂。
在各种通信系统的设计研发环节中,软件仿真已成为必不可少的部分。
应用Matlab\Simulink的计算机仿真具有经济、安全、可靠、编程简易以及实验周期短等特点。
因此,本文就以Matlab为软件平台,利用其通信工具箱和信号处理工具箱中的模块,尤其是Matlab语言的Simulink动态系统仿真软件包,对数字调制解调系统进行仿真,并且对仿真结果进行误差分析,从而对现代数字通信有更加明确的认识和直观的了解。
重点对2ASK、2PSK、2FSK进行性能比较,在实际通信系统中,根据具体情况选择最合适的调制方式,进一步促进数字通信的发展。
本文首先介绍了课题研究的背景和进行数字通信仿真的意义,然后介绍对数字通信系统进行仿真所使用的Matlab\Simulink软件以及这些软件在使用时的注意事项和采用的一些方法,随后又介绍了数字调制系统的原理并据此进行数字调制解调系统的仿真,最后对仿真结果进行误差分析,对设计进行总结归纳。
关键词:数字通信系统;调制解调;Matlab;Simulink;仿真AbstractNowadays, with the rapid development of communication technology, especially the rapid spread of the digital communication, makes communication technology is developing rapidly. Modern communication system requirements communication distance, communication capacity, transmission quality is good, because this communication system has become more and more complex. In all kinds of communication system design r&d link, the software has become an indispensable part of. Application of computer simulation, Simulink Matlab has economic, safe, reliable, easy programming and the cycle is short, etc.Therefore, this paper is using Matlab software platform, Use its communication tool box and signal processing toolbox module, especially Matlab language dynamic system simulation software package of simulink on digital demodulation system, and simulation results of simulation and error analysis, and the modern digital communication have more explicit recognition and intuitive understanding. Emphasis on 2 ASK, 2 PSK, 2 FSK performance comparison, in actual communication system, according to the specific circumstances to select the most appropriate modulation mode, and further promote the development of digital communication.This paper firstly introduces the background of the subject research and the meaning of digital communication simulation, and then introduced to digital communication system simulation of Matlab /Simulink used by the software used in the software and the matters needing attention and some methods used, then introduces digital modulation system and based on the principle of digital demodulation system simulation, finally the results for error was analyzed, the design was summarized, summed up in the digital demodulation of the simulation to the matters of attention when, to the aspects of learning and provide some reference for researchers and their ownexperience.Key words:Digital communication system;Demodulation;Matlab;Simulink;Simulation目录第一章绪论 (1)1.1研究的目的和意义 (1)1.1.1 研究目的 (1)1.1.2 研究意义 (2)1.2国内外研究现状 (2)第二章仿真的意义和仿真软件 (4)2.1仿真的意义 (4)2.2仿真软件Matlab简介 (4)2.3 Simulink简介 (6)2.4 Matlab与Simulink的联系 (6)第三章数字通信系统 (7)3.1 数字通信系统的概念 (7)3.2数字通信系统的组成 (7)3.3通信系统的分类与通信方式 (8)第四章信号的调制与解调 (10)4.1调制的意义和类别 (10)4.2模拟信号的调制与解调 (11)4.2.1幅度调制 (11)4.2.2角度调制 (13)4.3数字信号的调制与解调 (14)4.3.1数字频率调制 (14)4.3.2数字相位调制 (15)4.3.3正交振幅调制 (17)第五章系统设计与仿真 (19)5.1 2ASK信号的调制与解调 (19)5.1.1 2ASK信号调制仿真 (19)5.1.2 2ASK信号解调仿真 (21)5.2 2FSK信号的调制与解调 (23)5.2.1 2FSK信号调制仿真 (23)5.2.2 2FSK信号解调仿真 (26)5.3 2PSK信号的调制与解调 (28)5.3.1 2PSK信号调制仿真 (28)5.3.2 2PSK信号解调仿真 (30)结论 (33)参考文献 (34)谢辞 (35)第一章绪论1.1 研究的目的和意义信息是一种资源,通过广泛的传播与交流,能促进社会成员之间的合作,推动生产力的发展和社会的进步。
基于matlab的数字信号调制与解调
一matlab常用函数1、特殊变量与常数ans 计算结果的变量名computer 确定运行的计算机eps 浮点相对精度Inf 无穷大I 虚数单位inputname 输入参数名NaN 非数nargin 输入参数个数nargout 输出参数的数目pi 圆周率nargoutchk 有效的输出参数数目realmax 最大正浮点数realmin 最小正浮点数varargin 实际输入的参量varargout 实际返回的参量操作符与特殊字符+ 加- 减* 矩阵乘法 .* 数组乘(对应元素相乘)^ 矩阵幂 .^ 数组幂(各个元素求幂)\ 左除或反斜杠/ 右除或斜面杠 ./ 数组除(对应元素除)kron Kronecker张量积: 冒号() 圆括[] 方括 . 小数点 .. 父目录 ... 继续, 逗号(分割多条命令); 分号(禁止结果显示)% 注释! 感叹号' 转置或引用= 赋值== 相等<> 不等于& 逻辑与| 逻辑或~ 逻辑非xor 逻辑异或2、基本数学函数abs 绝对值和复数模长acos,acodh 反余弦,反双曲余弦acot,acoth 反余切,反双曲余切acsc,acsch 反余割,反双曲余割angle 相角asec,asech 反正割,反双曲正割secant 正切asin,asinh 反正弦,反双曲正弦atan,atanh 反正切,双曲正切tangent 正切atan2 四象限反正切ceil 向着无穷大舍入complex 建立一个复数conj 复数配对cos,cosh 余弦,双曲余弦csc,csch 余切,双曲余切cot,coth 余切,双曲余切exp 指数fix 朝0方向取整floor 朝负无穷取整*** 最大公因数imag 复数值的虚部lcm 最小公倍数log 自然对数log2 以2为底的对数log10 常用对数mod 有符号的求余nchoosek 二项式系数和全部组合数real 复数的实部rem 相除后求余round 取整为最近的整数sec,sech 正割,双曲正割sign 符号数sin,sinh 正弦,双曲正弦sqrt 平方根tan,tanh 正切,双曲正切3、基本矩阵和矩阵操作blkding 从输入参量建立块对角矩阵eye 单位矩阵linespace 产生线性间隔的向量logspace 产生对数间隔的向量numel 元素个数ones 产生全为1的数组rand 均匀颁随机数和数组randn 正态分布随机数和数组zeros 建立一个全0矩阵colon) 等间隔向量cat 连接数组diag 对角矩阵和矩阵对角线fliplr 从左自右翻转矩阵flipud 从上到下翻转矩阵repmat 复制一个数组reshape 改造矩阵roy90 矩阵翻转90度tril 矩阵的下三角triu 矩阵的上三角dot 向量点集cross 向量叉集ismember 检测一个集合的元素intersect 向量的交集setxor 向量异或集setdiff 向是的差集union 向量的并集数值分析和傅立叶变换cumprod 累积cumsum 累加cumtrapz 累计梯形法计算数值微分factor 质因子inpolygon 删除多边形区域内的点max 最大值mean 数组的均值mediam 中值min 最小值perms 所有可能的转换polyarea 多边形区域primes 生成质数列表prod 数组元素的乘积rectint 矩形交集区域sort 按升序排列矩阵元素sortrows 按升序排列行std 标准偏差sum 求和trapz 梯形数值积分var 方差del2 离散拉普拉斯diff 差值和微分估计gradient 数值梯度cov 协方差矩阵corrcoef 相关系数conv2 二维卷积conv 卷积和多项式乘法filter IIR或FIR滤波器deconv 反卷积和多项式除法filter2 二维数字滤波器cplxpair 将复数值分类为共轭对fft 一维的快速傅立叶变换fft2 二维快速傅立叶变换fftshift 将FFT的DC分量移到频谱中心ifft 一维快速反傅立叶变换ifft2 二维傅立叶反变换ifftn 多维快速傅立叶变换ifftshift 反FFT偏移nextpow2 最靠近的2的幂次unwrap 校正相位角多项式与插值conv 卷积和多项式乘法roots 多项式的根poly 具有设定根的多项式polyder 多项式微分polyeig 多项式的特征根polyfit 多项式拟合polyint 解析多项式积分polyval 多项式求值polyvalm 矩阵变量多项式求值residue 部分分式展开interp1 一维插值interp2 二维插值interp3 三维插值interpft 使用FFT的一维插值interpn 多维插值meshgrid 为3维点生成x和y的网格ndgrid 生成多维函数和插值的数组pchip 分段3次Hermite插值多项式ppval 分段多项式的值spline 3次样条数据插值绘图函数bar 竖直条图barh 水平条图hist 直方图histc 直方图计数hold 保持当前图形loglog x,y对数坐标图pie 饼状图plot 绘二维图polar 极坐标图semilogy y轴对数坐标图semilogx x轴对数坐标subplot 绘制子图bar3 数值3D竖条图bar3h 水平3D条形图comet3 3D 慧星图cylinder 圆柱体fill3 填充的3D多边形plot3 3维空间绘图quiver3 3D震动(速度)图slice 体积薄片图sphere球stem3 绘制离散表面数据wate***ll 绘制瀑布trisurf三角表面clabel 增加轮廓标签到等高线图中datetick 数据格式标记grid 加网格线gtext 用鼠标将文本放在2D图中legend 图注plotyy 左右边都绘Y轴title 标题xlabel X轴标签ylabel Y轴标签zlabel Z轴标签contour 等高线图contourc 等高线计算contourf 填充的等高线图hidden 网格线消影meshc 连接网格/等高线mesh 具有参考轴的3D网格peaks 具有两个变量的采样函数surf 3D阴影表面图su***ce 建立表面低层对象surfc 海浪和等高线的结合surfl 具有光照的3D阴影表面trimesh 三角网格图二Matlab常用指令1、通用信息查询(General information)demo 演示程序help 在线帮助指令helpbrowser 超文本文档帮助信息helpdesk 超文本文档帮助信息helpwin 打开在线帮助窗info MATLAB 和MathWorks 公司的信息subscribe MATLAB 用户注册ver MATLAB 和TOOLBOX 的版本信息version MATLAB 版本whatsnew 显示版本新特征2、工作空间管理(Managing the workspace)clear 从内存中清除变量和函数exit 关闭MATLAB load 从磁盘中调入数据变量pack 合并工作内存中的碎块quit 退出MATLAB save 把内存变量存入磁盘who 列出工作内存中的变量名whos 列出工作内存中的变量细节workspace 工作内存浏览器3 、管理指令和函数(Managing commands and functions)edit 矩阵编辑器edit 打开M 文件inmem 查看内存中的P 码文件mex 创建MEX 文件open 打开文件pcode 生成P 码文件type 显示文件内容what 列出当前目录上的M、MAT、MEX 文件which 确定指定函数和文件的位置4 、搜索路径的管理(Managing the seach patli)addpath 添加搜索路径rmpath 从搜索路径中删除目录path 控制MATLAB 的搜索路径pathtool 修改搜索路径5、指令窗控制(Controlling the command window)beep 产生beep 声echo 显示命令文件指令的切换开关diary 储存MATLAB 指令窗操作内容format 设置数据输出格式more 命令窗口分页输出的控制开关6、操作系统指令(Operating system commands)cd 改变当前工作目录computer 计算机类型copyfile 文件拷贝delete 删除文件dir 列出的文件dos 执行dos 指令并返还结果getenv 给出环境值ispc MATLAB 为PC(Windows)版本则为真isunix MATLAB 为Unix 版本则为真mkdir 创建目录pwd 改变当前工作目录unix 执行unix 指令并返还结果vms 执行vms dcl 指令并返还结果web 打开web 浏览器! 执行外部应用程序三Matlab运算符和特殊算符1、算术运算符(Arithmetic operators)+ 加- 减* 矩阵乘 .* 数组乘^ 矩阵乘方 .^ 数组乘方\ 反斜杠或左除/ 斜杠或右除 ./或.\ 数组除张量积[注]本表第三栏括号中的字符供在线救助时help 指令引述用2、关系运算符(Relational operators)= = 等号~= 不等号< 小于> 大于<= 小于或等于>= 大于或等于3、逻辑操作(Logical operators)& 逻辑与| 逻辑或~ 逻辑非xor 异或any 有非零元则为真all 所有元素均非零则为真4、特殊算符(Special characters):冒号( ) 圆括号[ ] 方括号{ } 花括号@ 创建函数句柄 . 小数点 . 构架域的关节点 .. 父目录? 续行号, 逗号; 分号% 注释号! 调用操作系统命令= 赋值符号ˊ引号ˊ复数转置号 .ˊ转置号[,] 水平串接[;] 垂直串接( ),{ },. 下标赋值( ),{ },. 下标标识subsindex 下标标识四Matlab编程语言结构控制语句(Control flow)break 终止最内循环case 同switch 一起使用catch 同try 一起使用continue 将控制转交给外层的for 或while 循环else 同if 一起使用elseif 同if 一起使用end 结束for,while,if 语句for 按规定次数重复执行语句if 条件执行语句otherwise 可同switch 一起使用return 返回switch 多个条件分支try try-cathch 结构while 不确定次数重复执行语句2、计算运行(Evaluation and execution)assignin 跨空间赋值builtin 执行内建的函数eval 字符串宏指令evalc 执行MATLAB 字符串evalin 跨空间计算串表达式的值feval 函数宏指令run 执行脚本文件3、脚本文件、函数及变量(Scripts,function,and variables)exist 检查变量或函数是否被定义function 函数文件头global 定义全局变量isglobal 若是全局变量则为真iskeyword 若是关键字则为真mfilename 正在执行的M 文件的名字persistent 定义永久变量script MATLAB 命令文件4、宗量处理(Augument handling)inputname 实际调用变量名nargchk 输入变量个数检查nargin 函数输入宗量的个数nargout 函数输出宗量的个数nargoutchk 输出变量个数检查varagin 输入宗量varagout 输出宗量5、信息显示(Message display)disp 显示矩阵和文字内容display 显示矩阵和文字内容的重载函数error 显示错误信息fprintf 把格式化数据写到文件或屏幕lasterr 最后一个错误信息lastwarn 最后一个警告信息sprintf 按格式把数字转换为串warning 显示警告信息6 、交互式输入(Interactive input) input 提示键盘输入keyboard 激活键盘做为命令文件pause 暂停uicontrol 创建用户界面控制uimenu 创建用户界面菜单五Matlab基本矩阵函数和操作1、基本矩阵(Elementary matrices)eye 单位阵linspace 线性等分向量logspace 对数等分向量meshgrid用于三维曲面的分格线坐标ones 全1 矩阵rand 均匀分布随机阵randn 正态分布随机阵repmat 铺放模块数组zeros 全零矩阵: 矩阵的援引和重排2、矩阵基本信息(Basic array information)disp 显示矩阵和文字内容isempty 若是空矩阵则为真isequal 若对应元素相等则为1 islogical 尤其是逻辑数则为真isnumeric 若是数值则为真length 确定向量的长度logical 将数值转化为逻辑值ndims 数组A的维数size 确定矩阵的维数3、矩阵操作(Matrix manipulateion)blkdiag 块对角阵串接diag 创建对角阵,抽取对角向量end 数组的长度,即最大下标find 找出非零元素1 的下标fliplr 矩阵的左右翻转flipud 矩阵的上下翻转flipdim 交换对称位置上的元素ind2sub 据单下标换算出全下标reshape 矩阵变维rot90 矩阵逆时针90°旋转sub2idn 据全下标换算出单下标tril 抽取下三角阵triu 抽取上三角阵4、特殊变量和常数(Special variables and constants)ans 最新表达式的运算结果eps 浮点相对误差i,j 虚数单位inf 或Inf 无穷大isfinite 若是有限数则为真isinf 若是无穷大则为真isnan 若为非数则为真NaN 或nan 非数pi 3.1415926535897?. realmax 最大浮点数realmin 最小正浮点数why 一般问题的简明答案5、特殊矩阵(Specialized matrices)compan 伴随矩阵gallery 一些小测试矩阵hadamard Hadamard 矩阵hankel Hankel 矩阵hilb Hilbert 矩阵invhilb 逆Hilbert 矩阵magic 魔方阵pascal Pascal 矩阵rosser 典型对称特征值实验问题toeplitz Toeplitz 矩阵vander Vandermonde 矩阵wilkinson Wilkinson's 对称特征值实验矩阵六Matlab基本数学函数1、三角函数(Trigonometric)acos 反余弦acosh 反双曲余弦acot 反余切acoth 反双曲余切acsc 反余割acsch 反双曲余割asec 反正割asech 反双曲正割asin 反正弦asinh 反双曲正弦atan 反正切atanh 反双曲正切atan2 四象限反正切cos 余弦cosh 双曲余弦cot 余切coth 双曲余切csc 余割csch 双曲余割sec 正割sech 双曲正割sin 正弦sinh 双曲正弦tan 正切tanh 双曲正切2、指数函数(Exponential)exp 指数log 自然对数log10 常用对数log2 以2 为底的对数nestpow2 最近邻的2 的幂pow2 2 的幂sqrt 平方根3、复数函数(Complex)abs 绝对值angle 相角complex 将实部和虚部构成复数conj 复数共轭cplxpair 复数阵成共轭对形式排列imag 复数虚部isreal 若是实数矩阵则为真real 复数实部unwrap 相位角360°线调整4、圆整和求余函数(Rounding and remainder)ceil 朝正无穷大方向取整fix 朝零方向取整floor 朝负无穷大方向取整mod 模数求余rem 求余数round 四舍五入取整sign 符号函数 6 特殊函数(Specialized math functions) cart2pol 直角坐标变为柱(或极)坐标cart2sph 直角坐标变为球坐标cross 向量叉积dot 向量内积isprime 若是质数则为真pol2cart 柱(或极)坐标变为直角坐标sph2cart 球坐标变为直角坐标七Matlab矩阵函数和数值线性代数1、矩阵分析(Matrix analysis)det 行列式的值norm 矩阵或向量范数normest 估计2 范数null 零空间orth 值空间rank 秩rref 转换为行阶梯形trace迹subspace 子空间的角度2、线性方程(Linear equations)chol Cholesky 分解cholinc 不完全Cholesky 分解cond 矩阵条件数condest 估计1-范数条件数inv 矩阵的逆lu LU 分解luinc 不完全LU 分解lscov 已知协方差的最小二乘积nnls 非负二乘解pinv 伪逆qr QR 分解rcond LINPACK 逆条件数\、/ 解线性方程3、特性值与奇异值(Eigenvalues and singular values)condeig 矩阵各特征值的条件数eig 矩阵特征值和特征向量eigs 多个特征值gsvd 归一化奇异值分解hess Hessenberg 矩阵poly 特征多项式polyeig 多项式特征值问题qz 广义特征值schur Schur 分解svd 奇异值分解svds 多个奇异值4、矩阵函数(Matrix functions)expm 矩阵指数expm1 矩阵指数的Pade 逼近expm2 用泰勒级数求矩阵指数expm3 通过特征值和特征向量求矩阵指数funm 计算一般矩阵函数logm 矩阵对数sqrtm 矩阵平方根5、因式分解(Factorization utility)cdf2rdf 复数对角型转换到实块对角型balance 改善特征值精度的平衡刻度rsf2csf 实块对角型转换到复数对角型八数据分析和傅里叶变换1、基本运算(Basic operations)cumprod 元素累计积cumsum 元素累计和cumtrapz 累计积分hist 统计频数直方图histc 直方图统计max 最大值mean 平均值median 中值min 最小值prod 元素积sort 由小到大排序sortrows 由小到大按行排序std 标准差sum 元素和trapz 梯形数值积分var 求方差2、有限差分(Finite differentces)del2 五点离散Laplacian diff 差分和近似微分gradient 梯度3、相关(Correlation)corrcoef 相关系数cov 协方差矩阵subspace 子空间之间的角度4、滤波和卷积(Filtering and convoluteion)conv 卷积和多项式相乘conv2 二维卷积convn N 维卷积detrend 去除线性分量deconv 解卷和多项式相除filter 一维数字滤波器fliter2 二维数字滤波器5、傅里叶变换(Fourier transforms)fft 快速离散傅里叶变换fft2 二维离散傅里叶变换fftn N 维离散傅里叶变换fftshift 重排fft 和fft2 的输出ifft 离散傅里叶反变换ifft2 二维离散傅城叶反变换ifftn N 维离散傅里叶反变换ifftshift 反fftshift九音频支持1、音频硬件驱动(Audio hardware drivers)sound 播放向量soundsc 自动标刻并播放waveplay 利用系统音频输出设配播放waverecor 利用系统音频输入设配录音2、音频文件输入输出(Audio file import and export)auread 读取音频文件(.au) auwrite 创建音频文件(.au) wavread 读取音频文件(.wav) wavwrite 创建音频文件(.wav)3、工具(Utilities)lin2mu 将线性信号转换为μ 一律编码的信号mu2lin 将μ 一律编码信号转换为线性信号十插补多项式函数1、数据插补(Data Interpolation)griddata 分格点数据griddata3 三维分格点数据griddatan 多维分格点数据interpft 利用FFT 方法一维插补interp1 一维插补interp1q 快速一维插补interp2 二维插补interp3 三维插补intern N 维插补pchip hermite 插补2 、样条插补(Spline Interpolation)ppval 计算分段多项式spline 三次样条插补3 、多项式(Polynomials)conv 多项式相乘deconv 多项式相除poly 由根创建多项式polyder多项式微分polyfit 多项式拟合polyint 积分多项式分析polyval 求多项式的值polyvalm 求矩阵多项式的值residue 求部分分式表达roots 求多项式的根十一数值泛函函数和ODE 解算器1、优化和寻根(Optimization and root finding)fminbnd 非线性函数在某区间中极小值fminsearch 单纯形法求多元函数极值点指令fzero 单变量函数的零点2、优化选项处理(Optimization Option handling)optimget 从OPTIONS 构架中取得优化参数optimset 创建或修改OPTIONS 构架3、数值积分(Numerical intergration)dblquad 二重(闭型)数值积分指令quad 低阶法数值积分quadl 高阶法数值积分4、绘图(Plotting)ezcontour 画等位线ezcontourf 画填色等位线ezmesh 绘制网格图ezmeshc 绘制含等高线的网格图ezplot 绘制曲线ezplot3 绘制3 维曲线ezpolar 采用极坐标绘图ezsurf 画曲面图ezsurfc 画带等位线的曲面图fplot 画函数曲线图5、内联函数对象(Inline function object)argnames 给出函数的输入宗量char 创建字符传输组或者将其他类型变量转化为字符串数组formula 函数公式inline 创建内联函数6、差微分函数解算器(Differential equation solvers)ode113 变阶法解方程ode15s 变阶法解刚性方程ode23 低阶法解微分方程ode23s 低阶法解刚性微分方程ode23t 解适度刚性微分方程odet23tb 低阶法解刚性微分方程ode45 高阶法解微分方程十二二维图形函数1、基本平面图形(Elementary X-Y graphs)loglog 双对数刻度曲线plot 直角坐标下线性刻度曲线plotyy 双纵坐标图polar 极坐标曲线图semilogx X 轴半对数刻度曲线semilogy Y 轴半对数刻度曲线2 、轴控制(Axis control)axes 创建轴axis 轴的刻度和表现box 坐标形式在封闭式和开启词式之间切换grid 画坐标网格线hold 图形的保持subplot 创建子图zoom 二维图形的变焦放大3、图形注释(Graph annotation)gtext 用鼠标在图上标注文字legend 图例说明plotedit 图形编辑工具text 在图上标注文字texlabel 将字符串转换为Tex 格式title 图形标题xlabel X 轴名标注ylabel Y 轴名标注4、硬拷贝(Hardcopy and printing)orient 设置走纸方向print 打印图形或把图存入文件printopt 打印机设置十三三维图形函数1、基本三维图形(Elementary 3-D plots) fill3 三维曲面多边形填色mesh 三维网线图plot3 三维直角坐标曲线图surf 三维表面图2 、色彩控制(Color control)alpha 透明色控制brighten 控制色彩的明暗caxis (伪)颜色轴刻度colordef 用色风格colormap 设置色图graymon 设置缺省图形窗口为单色显示屏hidden 消隐shading 图形渲染模式whitebg 设置图形窗口为白底3、光照模式(Lighting)diffuse 漫反射表面系数light 灯光控制lighting 设置照明模式material 使用预定义反射模式specular 漫反射surfnorm 表面图的法线surfl 带光照的三维表面图4 、色图(Color maps)autumn 红、黄浓淡色bone 蓝色调灰度图colorcube 三浓淡多彩交错色cool 青和品红浓淡色图copper 线性变化纯铜色调图flag 红-白-蓝黑交错色图gray 线性灰度hot 黑-红-黄-白交错色图hsv 饱和色彩图jet 变异HSV 色图lines 采用plot 绘线色pink 淡粉红色图prism 光谱色图spring 青、黄浓淡色summer 绿、黄浓淡色vga 16 色white 全白色winter 蓝、绿浓淡色5、轴的控制(Axis control)axes 创建轴axis 轴的刻度和表现box 坐标形式在封闭式和开启式之间切换daspect 轴的DataAspectRatio 属性grid 画坐标网格线hold 图形的保持pbaspect 画坐标框的PlotBoxAspectRatio 属性subplot 创建子图xlim X 轴范围ylim Y 轴范围zlim Z 轴范围zoom 二维图形的变焦放大6、视角控制(Viewpoint control)rotate3d 旋动三维图形view 设定3-D 图形观测点viewmtx 观测点转换矩阵7、图形注释(Graph annotation)colorbar 显示色条gtext 用鼠标在图上标注文字plotedit 图形编辑工具text 在图上标注文字title 图形标题xlabel X 轴名标注ylabel Y 轴名标注zlabel Z 轴名标注8 、硬拷贝(Hardcopy and printing)orient 设置走纸方向print 打印图形或把图存入文件printopt 打印机设置verml 将图形保存为VRML2.0 文件十四特殊图形1、特殊平面图形(Specialized 2-D graphs)area 面域图bar 直方图barh 水平直方图comet 彗星状轨迹图compass 从原点出发的复数向量图errorbar 误差棒棒图ezplot 画二维曲线ezpolar 画极坐标曲线feather 从X 轴出发的复数向量图fill 多边填色图fplot 函数曲线图hist 统计频数直方图pareto Pareto图pie 饼形统计图plotmatrix 散点图阵列scatter 散点图stairs 阶梯形曲线图stem 火柴杆图2 、等高线及二维半图形(Contour and 2-1/2D graphs)clabel 给等高线加标注contour 等高线图contourf 等高线图contour3 三维等高线ezcontour 画等位线ezcontourf 画填色等位线pcolor 用颜色反映数据的伪色图voronoi Voronoi 图3、特殊三维图形(Specialized 3-D graphs)bar3 三维直方图bar3h 三维水平直方图comet3 三维彗星动态轨迹线图ezgraph3 通用指令ezmesh 画网线图ezmeshc 画等位线的网线图ezplot3 画三维曲线ezsurf 画曲面图ezsurfc 画带等位线的曲面图meshc 带等高线的三维网线图meshz 带零基准面的三维网线图pie3 三维饼图ribbon 以三维形式绘制二维曲线scatter3 三维散点图stem3 三维离散杆图surfc 带等高线的三维表面图trimesh 三角剖分网线图trisurf 三角剖分曲面图waterfall 瀑布水线图4、内剖及向量视图(Volume and vector visualization)coneplot 锥体图contourslice 切片等位线图quiver 矢量场图quiver3 三维方向箭头图slice 切片图5、图像显示及文件处理(Image display and file I/O)brighten 控制色彩的明暗colorbar 色彩条状图colormap 设置色图contrast 提高图像对比度的灰色图gray 线性灰度image 显示图像imagesc 显示亮度图像imfinfo 获取图像文件的特征数据imread 从文件读取图像的数据阵(和伴随色图))imwrite 把强度图像或真彩图像写入文件6、影片和动画(Movies and animation)capture 当前图的屏捕捉frame2im 将影片动画转换为编址图像getframe 获得影片动画图像的帧im2frame 将编址图像转换为影片动画movie 播放影片动画moviein 影片动画内存初始化rotate 旋转指令7、颜色相关函数(Color related function)spinmap 颜色周期性变化操纵8、三维模型函数(Solid modeling)cylinder 圆柱面patch 创建块sphere 球面Surf2patch 将曲面数据转换为块数据十五句柄图形1、图形窗的产生和控制(Figure window creation and control)clf 清除当前图close 关闭图形figure 打开或创建图形窗口gcf 获得当前图的柄openfig 打开图形refresh 刷新图形shg 显示图形窗2、轴的产生和控制(Axis creation and control)axes 在任意位置创建轴axis 轴的控制box 坐标形式在封闭式和开启式之间切换caxis 控制色轴的刻度cla 清除当前轴gca 获得当前轴的柄hold 图形的保持ishold 若图形处保持状态则为真subplot 创建子图3、句柄图形对象(Handle Graphics objects)axex 在任意位置创建轴figure 创建图形窗口image 创建图像light 创建光line 创建线patch 创建块rectangle 创建方surface 创建面text 创建图形中文本uicontextmenu 创建现场菜单对象uicontrol 用户使用界面控制uimenu 用户使用菜单控制4、句柄图形处理(Handle Graphics operations)copyobj 拷贝图形对象及其子对象delete 删除对象及文件drawnow 屏幕刷新findobj 用规定的特性找寻对象gcbf "正执行回调操作"的图形的柄gcbo "正执行回调操作"的控件图柄指令gco 获得当前对象的柄get 获得对象特性getappdat 获得应用程序定义数据isappdata 检验是否应用程序定义数据reset 重设对象特性rmappdata 删除应用程序定义数据set 建立对象特性setappdata 建立应用程序定义数据5 、工具函数(Utilities)closereq 关闭图形窗请求函数ishandle 若是图柄代号侧为真newplot 下一个新图十六图形用户界面工具align 对齐用户控件和轴cbedit 编辑回调函数ginput 从鼠标得到图形点坐标guide 设计GUI menu 创建菜单menuedit 菜单编辑propedit 属性编辑uicontrol 创建用户界面控制uimenu 创建用户界面菜单十七字符串1 、通用字符串函数(General)blanks 空格符号cellstr 通过字符串数组构建字符串的元胞数组char 创建字符传输组或者将其他类型变量转化为字符串数组deblank 删除最后的空格double 把字符串变成ASCII 码值eval 执行串形式的MATLAB 表达式2、字符串查询(String tests)iscellstr 若是字符串组成的元胞数组则为真ischar 若是字符串则为真isletter 串中是字母则为真isspace 串中是空格则为真isstr 若是字符串则为真3、字符串操作(String operations)base2dec X-进制串转换为十进制整数bin2dec 二进制串转换为十进制整数dec2base 十进制整数转换为X 进制串dec2bin 十进制整数转换为二进制串dec2hex 十进制整数转换为16 进制串findstr 在一个串中寻找一个子串hex2dec 16-进制串转换为十进制整数hex2num 16-进制串转换为浮点数int2str 将整数转换为字符串lower 把字符串变成小写mat2str 将数组转换为字符串num2str 把数值转换为字符串strcat 把多个串连接成长串strcmp 比较字符串strcmpi 比较字符串(忽略大小写)stringsMATLAB 中的字符串strjust 字符串的对齐方式strmatch 逐行搜索串strnomp 比较字符串的前N 个字符strncmpi 比较字符串的前N 个字符(忽略大小写)strrep 用另一个串代替一个串中的子串strtok 删除串中的指定子串strvcat 创建字符串数组str2mat 将字符串转换为含有空格的数组str2num 将字符串转换为数值upper 把字符串变成大写十八文件输入/输出clc 清除指令窗口disp 显示矩阵和文字内容fprintf 把格式化数据写到文件或屏幕home 光标返回行首input 提示键盘输入load 从磁盘中调入数据变量pause 暂停sprintf 写格式数据到串sscanf 在格式控制下读串十九时间和日期clock 时钟cputme MATLAB 战用CPU 时间date 日期etime 用CLOCK 计算的时间now 当前时钟和日期pause 暂停tic 秒表启动toc 秒表终止和显示二十数据类型1、数据类型(Data types)cell 创建元胞变量char 创建字符传输组或者将其他类型变量转化为字符串数组double 转化为16 位相对精度的浮点数值对象function handle 函数句柄inline 创建内联函数JavaArray 构建Java 数组JavaMethod 调用某个Java 方法JavaObject 调用Java 对象的构造函数single 转变为单精度数值sparse 创建稀疏矩阵struct 创建构架变量uint8(unit16、unit32) 转换为8(16、32)位无符号整型数int8(nit16、nit32) 转换为8(16、32)位符号整型数2、多维数组函数(Multi-dimensional array functions)cat 把若干数组串接成高维数组ndims 数组A 的维数ndgrid 为N-D 函数和插补创建数组ipermute 广义反转置permute 广义非共轭转置shiftdim 维数转换squeeze 使数组降维3、元胞数组函数(Cell array functions)cell 创建元胞变量celldisp 显示元胞数组内容cellfun 元胞数组函数cellplot 图示元胞数组的内容cell2struct 把元胞数组转换为构架数组deal 把输入分配给输出is cell 若是元胞则为真num2 cell 把数值数组转换为元胞数组struct2 cell 把构架数组转换为元胞数组4、构架函数(Structure functions)fieldnames 获取构架的域名getfield 获取域的内容isfield 若为给定构架的域名则为真isstruct 若是构架则为真rmfield 删除构架的域setfield 指定构架域的内容struct 创建构架变量5、函数句柄函数(Function handle functions)@ 创建函数句柄functions 列举函数句柄对应的函数func2str 将函数句柄数组转换为字符串str2func 将字符串转换为函数句柄6、面向对象编程(Object oriented programming functions)dlass 查明变量的类型isa 若是指定的数据类型则为真inferiorto 级别较低isjava 若是java 对象则为真isobject 若是对象则为真methods 显示类的方法名substruct 创建构架总量superiorto 级别较高二一示例demo 演示程序flow 无限大水体中水下射流速度数据intro 幻灯演示指令peaks 产生peaks 图形数据二二符号工具包1、微积分(Calculus)diff 求导数limit 求极限int 计算积分jacobian Jacobian 矩阵symsum 符号序列的求和trylor Trylor 级数2、线性代数(Linear Algebra)det 行列式的值diag 创建对角阵,抽取对角向量eig 矩阵特征值和特征向量expm 矩阵指数inv 矩阵的逆jordan Jordan 分解null 零空间poly 特征多项式rank 秩rref 转换为行阶梯形svd 奇异值分解tril 抽取下三角阵triu 抽取上三角阵3、化简(Simplification)collect 合并同类项expand 对指定项展开factor 进行因式或因子分解horner 转换成嵌套形式numden 提取公因式simple 运用各种指令化简符号表达式simplify 恒等式简化subexpr 运用符号变量置换子表达式subs 通用置换指令4、方程求解(Solution of Equation)compose 求复函数dsolve 求解符号常微分方程finverse 求反函数fminunc 拟牛顿法求多元函数极值点fsolve 解非线性方程组lsqnonlin 解非线性最小二乘问题solve 求解方程组5、变量精度(Variable Precision Arithmetic)digits 设置今后数值计算以n 位相对精度进行vpa 给出数值型符号结果6、积分变换(Integral Transforms)fourier Fourier 变换ifourier Fourier 反变换ilaplace Ilaplace 反变换iztrans Z 反变换laplace Ilaplace 变换ztrans Z 变换7、转换(Conversions)char 把符号对象转化为字符串数组double 把符号常数转化为16 位相对精度的浮点数值对象poly2sym 将多项式转换为符号多项式sym2poly 将符号多项式转换为系数向量8、基本操作(Basic Operation)ccode 符号表达式的C 码表达式findsym 确认表达式中符号"变量" fortran 符号表达式的fortran 表达式latex 符号表达式的LaTex 表示pretty 习惯方式显示sym 定义基本符号对象syms 定义基本符号对象9、串处理函数(String handling utilities)isvarname 检查是否为有效的变量名vectorize 将字符串表达式或内联函数对象向量化10 、图形应用(Pedagogical and Graphical Applications)ezcontour 画等位线ezcontourf 画填色等位线ezmesh 画网线图ezmeshc 带等位线的网线图ezplot 绘制符号表达式的图形ezplot2。
基于MATLAB的2ASK数字调制与解调的系统仿真
基于MATLAB的2ASK数字调制与解调的系统仿真一、本文概述随着信息技术的飞速发展,数字通信在现代社会中扮演着日益重要的角色。
作为数字通信中的关键技术之一,数字调制技术对于提高信号传输的可靠性和效率至关重要。
在众多的数字调制方式中,2ASK (二进制振幅键控)因其实现简单、抗干扰能力强等优点而备受关注。
本文旨在通过MATLAB软件平台,对2ASK数字调制与解调系统进行仿真研究,以深入理解和掌握其基本原理和性能特点。
本文首先介绍了数字调制技术的基本概念,包括数字调制的基本原理、分类和特点。
在此基础上,重点阐述了2ASK调制与解调的基本原理和实现方法。
通过MATLAB编程,本文实现了2ASK调制与解调系统的仿真模型,并进行了性能分析和优化。
在仿真研究中,本文首先生成了随机二进制信息序列,然后利用2ASK调制原理对信息序列进行调制,得到已调信号。
接着,对已调信号进行信道传输,模拟了实际通信系统中的噪声和干扰。
在接收端,通过2ASK解调原理对接收到的信号进行解调,恢复出原始信息序列。
通过对比分析原始信息序列和解调后的信息序列,本文评估了2ASK 调制与解调系统的性能,并讨论了不同参数对系统性能的影响。
本文的仿真研究对于深入理解2ASK数字调制与解调原理、优化系统性能以及指导实际通信系统设计具有重要意义。
通过MATLAB仿真平台的运用,本文为相关领域的研究人员和实践工作者提供了一种有效的分析和优化工具。
二、2ASK数字调制技术原理2ASK(二进制振幅键控)是一种数字调制技术,主要用于数字信号的传输。
它的基本思想是将数字信号(通常是二进制信号,即0和1)转换为模拟信号,以便在模拟信道上进行传输。
2ASK调制的关键在于根据数字信号的不同状态(0或1)来控制载波信号的振幅。
在2ASK调制过程中,当数字信号为“1”时,载波信号的振幅保持在一个较高的水平;而当数字信号为“0”时,载波信号的振幅降低到一个较低的水平或者为零。
基于matlab的AM、FM、PM调制
[1]樊昌信.通信原理(第6版).国防工业出版社,2006,09
[2]黎洪松.数字通信原理.西安电子系科技大学出版社,2005,07
[3]任嘉伟.数字频带通信系统计算机仿真[J].电脑知识与技术,2008,07
[4]吕跃广通信系统仿真.电子工业出版社,2010.03
[5]席在芳等基于SIMULINK的现代通信系统仿真分析[J].系统仿真学报2006,18(10)
subplot(2,1,1);
plot(t,y4);
title('高斯白噪声时域波形')
y5=fft(y4,N);
q2=(0:N/2-1)*fs/N;
mx2=abs(y5(1:N/2));
subplot(2,1,2),plot(q2,mx2),title('高斯白噪声频域波形')
y6=y2+y4;
figure(5)
根据调制后载波瞬时相位偏移的大小,可将频率调制分为宽带调频(WBFM)与窄带调频(NBFM)。宽带与窄带调制的区分并无严格的界限,但通常认为由调频所引起的最大瞬时相位偏移远小于30°时,
(2-2)
称为窄带调频。否则,称为宽带调频。
为方便起见,无妨假设正弦载波的振幅A=1,则由式(2-1)调频信号的一般表达式,得
例如, 为正弦型信号。综合前面的分析,可总结各种模拟调制方式的信号带宽、制度增益、输出信噪比、设备(调制与解调)复杂程度、主要应用等如表3.2.0所示。表中还进一步假设了AM为100%调制。
表3.2
3.3几种模拟调制的性能比较
就抗噪性能而言,WBFM最好,DSB、SSB、VSB次之,AM最差。NBFM与AM接近。示出了各种模拟调制系统的性能曲线,图中的圆点表示门限点。门限点以下,曲线迅速下跌;门限点以上,DSB、SSB的信噪比比AM高4.7dB以上,而FM(=6)的信噪比比AM高22dB。
MATLAB中的数字信号调制与解调方法
MATLAB中的数字信号调制与解调方法引言数字信号调制与解调是现代通信系统中的关键技术之一。
在数字通信领域,数字信号调制技术广泛应用于无线通信、卫星通信、移动通信等各种通信系统中。
而MATLAB是一个功能强大且广泛使用的数学软件,既可以进行数字信号调制的仿真设计,又可以进行解调性能的分析与评估。
本文将详细介绍MATLAB中的数字信号调制与解调方法,从而帮助读者更好地理解和应用这一关键技术。
一、数字信号调制的基本原理数字信号调制是指将数字信号转换为模拟信号或者其他形式的数字信号,以便能够在传输媒介上进行有效的传输和处理。
常见的数字信号调制方法包括:脉冲振幅调制(PAM)、脉冲位置调制(PPM)、频移键控(FSK)、相移键控(PSK)等。
下面以脉冲振幅调制(PAM)为例,介绍数字信号调制的基本原理。
PAM是一种把数字信号转换为连续信号的调制方法,其基本原理是通过改变波形的幅度来传输数字信息。
具体而言,PAM调制需要进行采样、量化和调制三个步骤。
通过对数字信号进行采样,可以将连续信号离散化为一系列离散时间点上的采样值;然后将这些采样值量化为一系列有限的离散值,即数字信号;最后,通过改变连续信号的幅度,来实现数字信号的调制。
在MATLAB中,可以使用相关的函数和工具箱来完成PAM调制的仿真设计和性能分析。
二、MATLAB中的数字信号调制方法1. PAM调制在MATLAB中,可以使用`pammod`函数来实现PAM调制,该函数的基本语法是:`y = pammod(x, M, vmin, vmax)`和`vmax`是波形的最小值和最大值。
通过调用`pammod`函数,可以将数字信号转换为PAM调制后的连续波形。
接下来,可以使用`plot`函数将连续波形进行绘制,并通过添加标签和标题等操作,使得图形更加直观。
2. FSK调制FSK是一种将数字信号转换为二进制频率信号的调制方法,其基本原理是通过改变载波频率的方式来传输数字信息。
通信原理课程设计(基于MATLAB的PSK,DPSK仿真)
通讯原理课程设计报告题目鉴于Matlab的2PSK,2DPSK仿真学院电子信息工程学院专业学生姓名学号年级指导教师职称讲师2013年12月20日设计报成功绩(依据优、良、中、及格、不及格评定)指导教师考语:指导教师(署名)年月日说明:指导教师评分后,设计报告交院实验室保留。
鉴于 Matlab 的 2PSK,2DPSK仿真专业:学号:学生:指导老师:纲要:现代通讯系统要求通讯距离远、通讯容量大、传输质量好,作为其重点技术之一的调制技术向来是研究的一个重要方向。
本设计主要表达了数字信号的调制方式,介绍了2PSK数字调制方式的基来源理,功率谱密度,并运用MATLAB软件对数字调制方式2PSK进行了编程仿真切现,在MATLAB 平台上成立2PSK和 2DPSK调制技术的仿真模型。
进一步学习了MATLAB编程软件,将 MATLAB与通讯系统中数字调制知识联系起来,为此后在通讯领域学习和研究打下了基础在计算机上,运用MATLAB 软件来实现对数字信号调制技术的仿真。
重点词:数字调制与解调;MA TLAB ; 2PSK; 2DPSK ;目录第 1 章绪论 (1)1.1 调制方式 (1)1.2 设计要求 (1)设计内容 (1)设计仪器 (1)第 2 章 2PSK,2DPSK原理 (2)2.1 2PSK 原理 (2)2PSK 基来源理 . (2)2PSK 调制原理 . (2)2PSK 解调原理 . (3)2.2 2DPSK 原理 (4)2DPSK 基来源理 . (4)2DPSK 调制原理 . (5)2DPSK 解调原理 . (6)第 3 章实验过程 (8)3.1 2PSK 仿真部分 (8)2PSK 仿真图 . (8)2PSK 模块的参数设置: . (8)3.2 2DPSK 仿真部分 (9)2DPSK 仿真图 . (9)2DPSK 模块的参数设置: . (10)第 4 章仿真结果 (15)4.1 2PSK 仿真结果 (15)4.2 2DPSK 仿真结果 (15)总结 . (16)参照文件 . (17)道谢 . (18)第1章绪论1.1调制方式数字通讯系统 ,按调制方式能够分为基带传输和带通传输。
基于MATLAB的基本数字调制解调系统的设计
基于MATLAB的基本数字调制解调系统的设计毕业设计(论文)任务书基于MATLAB的基本数字调制解调系统的设计摘要现代通信系统要求通信距离远、通信容量大、传输质量好,作为其关键技术之一的调制解调技术一直是人们研究的一个重要方向。
本文以MATLAB为软件平台,充分利用其提供的通信工具箱和信号处理工具箱中的模块,对数字调制解调系统进行Simulink设计仿真,并且进行误差分析。
调制与解调是通信系统中十分重要的一个环节,针对不同的信道环境选择不同的调制与解调方式可以有效地提高通信系统中的频带利用率,改善接收信号的误码率。
本设计运用Simulink仿真软件对二进制调制解调系统进行模型构建、系统设计、仿真演示、结果显示、误差分析以及综合性能分析,重点对BASK,BFSK,BPSK进行性能比较和误差分析。
在实际应用中,视情况选择最佳的调制方式。
本文首先介绍了课题研究的背景,然后介绍系统设计所用的Simulink仿真软件,随后介绍了载波数字调制系统的原理,并根据原理构建仿真模型,进行数字调制系统仿真,最后对设计进行总结,并归纳了Simulink软件使用中需要注意的事项。
本文的主要目的是对Simulink的学习和对数字调制解调理论的掌握和深化,为今后在通信领域继续学习和研究打下坚实的基础。
关键词:通信系统;Simulink仿真;数字化调制解调;BASK;BFSK;BPSK目录毕业设计(论文)任务书 (II)摘要............................................................................................................................. I II Abstract ......................................................................................... 错误!未定义书签。
基于某MATLAB地2ASK、2FSK和2PSK地调制仿真
实验报告(一)一、实验名称:基于MATLAB 的2ASK 、2FSK 和2PSK 的调制仿真 二、实验目的:(1)熟悉2ASK 、2FSK 和2PSK 的调制原理。
(2)学会运用Matlab 编写2ASK 、2FSK 和2PSK 调制程序。
(3)会画出原信号和调制信号的波形图。
(4)掌握数字通信的2ASK 、2FSK 和2PSK 的调制方式。
三、实验原理分析3.1二进制振幅键控(2ASK )振幅键控是利用载波的幅度变化来传递数字信息,而其频率和初始相位保持不变。
在2ASK 中,载波的幅度只有两种变化状态,分别对应二进制信息“0”或“1”。
二进制振幅键控的表达式为:s(t) = A(t)cos(w 0+θ) 0<t ≤T式中,w 0=2πf 0为载波的角频率;A(t)是随基带调制信号变化的时变振幅,即A(t) = ⎩⎨⎧0A 典型波形如图所示:2ASK 信号的产生方法通常有两种:相乘法和开关法,相应的调制器如图2。
图2(a )就是一般的模拟幅度调制的方法,用乘法器实现;图2(b )是一种数字键控法,其中的开关电路受s(t)控制。
在接收端,2ASK 有两种基本的解调方法:非相干解调(包络检波法)和相干解调(同步检测法),相应的接收系统方框图如图:3.2、二进制频移键控(2FSK )二进制频移键控信号码元的“1”和“0”分别用两个不同频率的正弦波形来传送,而其振幅和初始相位不变。
故其表达式为:=)(s t ⎪⎩⎪⎨⎧++时"0发送“),cos(”时1发送“),cos21(ϕωϕωn n t A t A图4 2FSK 信号时间波形由图可见,2FSK 信号的波形(a )可以分解为波形(b )和波形(c ),也就是说,一个2FSK 信号可以看成是两个不同载频的2ASK 信号的叠加。
2FSK 信号的调制方法主要有两种。
第一种是用二进制基带矩形脉冲信号去调制一个调频器,使其能够输出两个不同频率的码元。
基于Matlab的二进制数字调制系统仿真
随着通信系统复杂性 不断增 加 , 传统设 计 已不 能适 应
发展的需要 , 通信 系统 的模 拟仿 真技 术越 来越 受 到重 视 ,
因此在设计新系统时 , 要对原有 的 系统 做 出修改或 进行相
关 研 究 , 常要 进 行 建 模 和 仿 真 , 过 仿 真 来 衡 量 方 案 的 通 通
型 的仿真流程 以及仿 真结果 进行具体分析 , 为实际系统的构建提供依据 。 关键词 : 频率键控 ;iuik 通信仿真 ; t b Sm l ; n Ma a l
中图分类号 : N 1 T 94 文献标 识码 : B 文章编号 :0 6— 77 2 1 )3—0 1 o 10 0 0 (0 0 0 l9一 3
1 二 进 制 数 字 调 制 系统 原 理 分 析
1 1 二 进 制 振 幅 键 控 ( A K) . 2S
÷ [ _ ) P (+ ] P (一 + - ) 厂 厂
13 二 进 制 相 位 键 控 ( P K) . 2S 二 进 制 相位 键 控 方 式 是 受 键 控 的 载 波 相 位 按 基 带 脉
2S A K功 率谱 为
-
其n{: £ 中=: 一 : 尸
I ' 收 稿 日期 :0 0— 1— 6 t - 21 0 0
作者简介 : 高海 ( 9 3 ) 男 , 孙 18 一 , 主要从事无线通信技术 研究。
10 2
2 S 的功 率 谱 密度 为 PK
四 川 兵 工 学 报
第3 1卷
第 3期
四 川 兵 工 学 报
21 0 0年 3月
【 信息与计算机 】
基 于 Ma a t b的 二 进 制 数 字 调 制 系统 仿 真 l
基于Matlab的数字通信系统调制解调研究毕业论文设计
基于Matlab的数字通信系统调制解调研究毕业论文设计成一些子系统,再利用这些子系统来构造整个系统。
Simulink模块库包含有Sources(输入源)、Sinks(输出方式)、Linear(线性环节)、Nonlinear(非线性环节)等具有不同功能的SIMULINK库模块,而且每个子模型库中包含相应的功能模块,用户可以根据特定的需要创建自己的模块。
我们可以通过Matlab命令来打开Simulink模型并进行仿真。
在Matlab命令窗口中,使用open lizila.mdl,然后使用sim(lizila.mdl)就可以启动对模型lizila.mdl的仿真,实现Simulink仿真的自动化[5]。
Matlab提供了许多途径用于与Simulink的数据交互,从而实现Matlab编程与Simulink模型相结合的综合仿真,使仿真更为人性化,满足使用者的不同需求[6]。
第三章数字通信系统3.1数字通信系统的概念数字通信系统是利用数字信号来传递信息的通信系统,相比模拟通信系统,具有频谱利用率高,能够提供多种业务服务,抗噪声、抗干扰、抗多径衰落能力强,能实现更加有效、灵活的网络管理和控制,便于实现通信的安全保密,可降低设备成本以及减小用户手机的体积和重量等优点[7]。
因此,数字通信的发展速度已明显超过模拟通信,成为当代通信技术的主流。
数字通信设计主要有信源编码与译码、信道编码与译码、数字调制与解调、同步以及加密与解密等许多技术问题。
3.2数字通信系统的组成1.信源的作用是把各种消息转换成原始的电信号,模拟信源输出的是连续的模拟信号,数字信源输出的是离散的数字信号,模拟信源送出的信号经数字化处理后可变为数字信号。
2.信源编码有提高信息传输的有效性和完成模/数(A/D)转换两个基本功能。
提高信息传输有效性即通过其中一种数据压缩技术减少码元数目和降低码元速度,完成模/数转换即信源编码器将信源给出的模拟信号转换成数字信号。
MATLAB实现信号的调制与解调
MATLAB实现信号的调制与解调调制与解调是数字通信系统中重要的技术,它们用于将信息信号转换为适合传输的调制信号,并在接收端将调制信号还原为原始的信息信号。
在MATLAB中,可以通过使用信号处理工具箱的函数实现信号的调制与解调。
下面将详细介绍信号的调制与解调的MATLAB实现方法。
一、信号的调制调制是将信息信号转换为调制信号的过程。
常见的调制方法包括振幅调制(AM)、频率调制(FM)和相位调制(PM)。
下面以振幅调制为例,介绍信号的调制方法。
1.生成调制信号首先,需要生成调制信号。
假设我们有一个原始的音频信号,可以使用MATLAB的`audioread`函数读取音频文件,并使用`resample`函数进行重采样。
```matlab[y, fs] = audioread('original_audio.wav');y_resampled = resample(y, fs_new, fs);```2.进行振幅调制接下来,将原始音频信号进行振幅调制。
可以使用MATLAB中的`ammod`函数进行调制。
```matlabAc=1;%载波幅度t = (0:length(y_resampled)-1)/fs_new;modulated_signal = ammod(y_resampled, fc, fs_new, Ac);```3.可视化调制信号最后,可以使用MATLAB的`plot`函数对调制信号进行可视化。
```matlabfigure;plot(t, modulated_signal);xlabel('Time (s)');ylabel('Modulated Signal');title('Amplitude Modulated Signal');```二、信号的解调解调是将调制信号还原为原始信号的过程。
下面以振幅调制为例,介绍信号的解调方法。
开题报告-基于matlab的常用数字信号调制与解调
一、选题的依据及意义:(一)选题依据在当今高度信息化的社会,信息和通信已成为现代社会的“命脉”。
信息作为一种资源,只有通过广泛的传播与交流,才能产生利用价值,促进社会成员之间的合作,推动社会生产力的发展,创造出巨大的经济效益。
而通信作为传输信息的手段或方式,与传感技术、计算机技术相互融合,已成为21世纪国际社会和世界经济发展的强大推动力。
可以预见未来通信对人们的生活方式和社会的发展将会产生更加重大和意义深远的影响。
[1]在现代通信系统中,核心技术之一就是调制解调技术,而且是实现高速高效的通信系统的保证。
由于各类调制方式都有其优点和局限性,但它们始终都是围绕通信的三项重要指标—有效性、可靠性和安全性进行不断的优化和改进的,在现代通信系统中起着至关重要的作用。
调制的重要性体现在:将基带信号变换成适合在信道中传输的调制信号,并改善系统抗噪声性能,从而改善传输质量。
而解调的重要性体现在:如何从带有噪声干扰和畸变的信道输出信号中,恢复还原原来基带信号。
通过选题强化自己对于工具软件matlab的熟练使用,对于数字调制技术中ASK,FSK,PSK信号的调制与解调的过程进行深入的了解和学习,进行基于Matlab的常用数字信号研究与仿真,完成毕业设计。
(二)选题意义信息传输是人类社会活动的重要内容,无论是古代还是现代,人们始终坚持寻求快速、远距离、安全高效率的通信手段。
1864年英国物理学家麦克斯韦(J.Clerk Maxwell)提出了“电磁场的动力理论”,为后来无线电的发明与发展奠定了坚实的理论基础。
从此以后,许多科学家都在努力研究如何利用电磁波传输信息的问题,这就是无线电通信。
尤其是意大利科学家马克尼(Gugliemo Marconi)在1901年首次实现了横跨大西洋的无线电通信,从此无线电通信进入了使用阶段。
伴随着人类的文明、社会的进步和科学技术的发展,无线电通信也是以一日千里的速度飞速发展。
近30年来,随着电子技术的迅速发展,无线通讯也取得了突破性的发展。
基于MATLAB的QAM调制解调实现
基于MATLAB的QAM调制解调实现
QAM(Quadrature Amplitude Modulation)是一种常用的数字调制技术,通过多种不同的调制方式将数字数据转换为模拟信号进行传输。
在MATLAB中,我们可以使用实现QAM调制和解调的函数实现信号的生成和
恢复。
QAM调制是通过将两个调制信号(有时称为正交载波)的幅度和相位
来表示一个数据符号。
在实际应用中,QAM调制经常用在有限带宽信道中,比如通信系统中的调制解调器。
首先,我们来生成一个包含一些随机二进制数据的信号。
在这个例子中,我们生成了100个数据点,每个数据点有4个二进制位。
```matlab
bitsPerSymbol = 4;
numSymbols = 100;
data = randi([0 1], numSymbols, bitsPerSymbol);
```
```matlab
modulatedSignal = modulator(data(:));
```
```matlab
demodulatedData = demodulator(modulatedSignal);
```
为了评估解调的效果,我们可以计算解调误差。
在这个例子中,我们计算了位误码率(Bit Error Rate)。
```matlab
numErrors = biterr(data(:), demodulatedData);
ber = numErrors / (numSymbols * bitsPerSymbol);
```。
基于Matlab的PSK调制
基于M a t l a b的P S K调制一实验目的1. 掌握数字带通调制技术的基本原理2. 学习MATLAB软件,掌握其中各种函数的使用3.根据所掌握的调制原理,利用Matlab软件进行编程与仿真二实验原理数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。
为了使数字信号在带通信道中传输,必须使用数字基带信FSK)和反相"。
"0"码中,e2PSK(t)={Acosωc t 概率为P −Acosωc t 概率为1−P2PSK信号波形如下图所示:2PSK信号的调制原理框图如下图所示:三实验程序a=[1 1 0 0 1 1 0 0]l=linspace(0,2*pi,50);f=sin(2*l);t=linspace(0,10*pi,400);out=1:400;b=1:400;d=1:400;c=1:7;w=1:400;for i=1:7if a(i)==0for j=1:50out(j+50*(i-1))=f(j);endelsefor j=1:50d(j+50*(i-1))=c(i);w(j+50*(i-1))=f(j);endendsubplot(3,1,1),plot(t,b),axis([0 10*pi -0.2 1.2]), xlabel('t'),ylabel('调制信号'); subplot(3,1,2),plot(t,w),axis([0 10*pi -1.2 1.2]), xlabel('t'),ylabel('载波'); subplot(3,1,3),plot(t,out),axis([0 10*pi -1.2 1.2]),xlabel('t'),ylabel(' PSK波形');四仿真结果五实验总结通过本次实验,我初步掌握了Matlab软件的使用,进一步加深和巩固了对数字调制的基本原理以及相关内容。
基于MATLAB的2ASK和2FSK调制仿真
基于MATLAB的2ASK和2FSK调制仿真2ASK调制仿真一、实验设计1.实验目的通过MATLAB仿真实现2ASK调制过程,了解2ASK调制的原理和过程。
2.实验原理2ASK调制是一种基于振幅调制(AM)的数字调制方式。
将数字信号根据其幅值变化对载波进行调制,从而实现数字信号的传输。
2ASK调制的过程可以分为三个步骤:(1)将数字信号变为模拟信号;(2)将模拟信号进行波形调制;(3)生成2ASK调制信号。
3.实验步骤(1)生成符号序列;(2)将符号序列转为数字信号;(3)将数字信号调制成模拟信号;(4)将模拟信号进行波形调制;(5)生成2ASK调制信号。
4.实验结果(1)生成符号序列:符号序列的生成可以通过MATLAB的randi函数来实现。
代码如下:symbolSequence = randi([0, 1], 1, N);(2)将符号序列转为数字信号:由于二进制数字信号只包含两个数字(0和1),我们可以通过将符号序列中的0用低电平来表示,将1用高电平来表示。
代码如下:digitalSignal = 2 * symbolSequence - 1;(3)将数字信号调制成模拟信号:数字信号调制成模拟信号需要先进行差分编码,然后通过插值法将数字信号转为模拟信号。
代码如下:diffCode = diff(digitalSignal);modulatedSignal = interp1([0:length(diffCode)-1], diffCode, linspace(0, length(diffCode)-1, Fs/Fsymbol));(4)将模拟信号进行波形调制:将模拟信号进行波形调制需要通过乘以载波信号来实现。
代码如下:carrierSignal = cos(2 * pi * Fc * t);modulatedSignal = carrierSignal .* modulatedSignal;(5)生成2ASK调制信号:代码如下:ASKSignal = (modulatedSignal + 1) / 2;二、实验结果通过以上实验步骤,我们可以得到2ASK调制信号。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2ASK、2FSK、2PSK数字调制系统的Matlab实现及性能分析与比较引言:数字带通传输系统为了进行长距离传输,克服传输失真,传输损耗,同时保证带内特性。
必须对数字信号进行载波调制,将信号频谱搬移到高频段才能在信道中传输,因而现代通信系统采取数字调制技术。
通过数字基带信号对载波某些参量进行控制,使之随机带信号的变化而变化。
根据控制载波参量大的不同,数字调制有调幅(ASK),调频(FSK),调相(PSK) 三种基本形式。
Matlab用于仿真,分析和修改,还可以应用图形界面功能GUI能为仿真系统生成一个人机交互界面,便于仿真系统的操作,因此采用matlab对数字系统进行仿真。
通过对系统的仿真,我们可以更加直观的了解数字调制系统的性能()及影响性能的因素,从而便于改进系统,获得更佳的传输性能。
关键词:数字 . 系统. 性能. ASK. FSK. PSK. Matlab. 仿真.一 .数字调制与解调原理1.1 2ASK(1)2ASK2ASK 就是把频率、相位作为常量,而把振幅作为变量,信息比特是通过载波的幅度来传递的。
由于调制信号只有0或1两个电平,相乘的结果相当于将载频或者关断,或者接通,它的实际意义是当调制的数字信号"1时,传输载波;当调制的数字信号为"0"时,不传输载波。
公式为:1.2 2FSK2FSK 可以看做是2个不同频率的2ASK 的叠加,其调制与解调方法与2ASK差不多,主要频率F1和F2,不同的组合产生所要求的2FSK 调制信号。
公式如下:⎩⎨⎧===001,cos )(2k k c ASK a a t A t s 当,当ω⎩⎨⎧===0cos 1,cos )(212k k FSK a t A a t A t s 当,当ωω1.3 2PSK2PSK以载波的相位变化为基准,载波的相位随数字基带序列信号的1或者0而改变,通常用已经调制完的载波的0或者π表示数据1或者0,每种相位与之一一对应。
二.数字调制技术的仿真实现本课程设计需要借助MATLAB的M文件编程功能,对2ASK..2PSK.2FSK进行调制与解调的设计,并绘制出调制与解调后的波形,误码率的情况分析,软件仿真可在已有平台上实现。
1.2ASK代码主函数close allclear alln=16;fc=1000000; bitRate=1000000;N=50;%noise=ti;noise=10;signal=source(n,N); %生成二进制代码transmittedSignal=askModu(signal,bitRate,fc,N);%调制后信号signal1=gussian(transmittedSignal,noise);%加噪声configueSignal=demoASK(signal1,bitRate,fc,n,N);source代码function sendSignal=source(n,N)sendSignal=randint(1,n)bit=[];for i=1:length(sendSignal)if sendSignal(i)==0bit1=zeros(1,N);elsebit1=ones(1,N);endbit=[bit,bit1];endfigure(1)plot(1:length(bit),bit),title('transmitting of binary'),grid on;axis([0,N*length(sendSignal),-2,2]);endaskModu代码function transmittedSignal=askModu(signal,bitRate,fc,N)%signal为输入信号,bitrate为bit 速率,fc调制信号频率,N%signal=[0 0 1 0 1 1 0 1];% bitRate=1000000;% fc=1000000;% N=32; t=linspace(0,1/bitRate,N);c=sin(2*pi*t*fc);transmittedSignal=[];for i=1:length(signal)transmittedSignal=[transmittedSignal,signal(i)*c];endfigure(2) %画调制图plot(1:length(transmittedSignal),transmittedSignal);title('Modulation of ASK');grid on;figure(3)%画频谱实部m=0:length(transmittedSignal)-1;F=fft(transmittedSignal);plot(m,abs(real(F))),title('ASK_frequency-domain analysis real');grid on;%figure(4)画频谱虚部%plot(m,imag(F));title('ASK_frequency-domain analysis imag');%grid on;endCheckRatePe代码function PeWrong=CheckRatePe(signal1,signal2,s)rights=0;wrongs=0;for ki=1:s-2if(signal1(ki)==signal2(ki))rights=rights+1;elsewrongs=wrongs+1;endendPeWrong=wrongs/(wrongs+rights);enddemoASK代码function bitstream=demoASK(receivedSignal,bitRate,fc,n,N) load numsignal1=receivedSignal;signal2=abs(signal1); %ÕûÁ÷signal3=filter(num1,1,signal2); %LPF,°üÂç¼ì²¨IN=fix(length(num1)/2); %ÑÓ³Ùʱ¼ä bitstream=[];LL=fc/bitRate*N;i=IN+LL/2;while (i<=length(signal3)) %Åоöbitstream=[bitstream,signal3(i)>=0.5];i=i+LL;endfigure(6)subplot(3,1,1); %接收波形plot(1:length(signal1),signal1);title('Wave of receiving terminal(including noise)');grid on;subplot(3,1,2);%接收整流后波形plot(1:length(signal2),signal2);title('Wave of commutate');grid on;subplot(3,1,3);%包络检波波形plot(1:length(signal3),signal3);title('Wave of LPF');grid on;bit=[];for i=1:length(bitstream)if bitstream(i)==0bit1=zeros(1,N);elsebit1=ones(1,N);endbit=[bit,bit1];endfigure(7)%解调后的二进制波形plot(bit),title('binary of receiving terminal'),grid on;axis([0,N*length(bitstream),-2.5,2.5]);endgussian代码 %加高斯白噪声function signal=gussian(transmittedSignal,noise)signal=sqrt(2)*transmittedSignal;signal=awgn(signal,noise);figure(5)plot(1:length(signal),signal);title('Wave including noise'),grid on;end/////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////fsk主函数代码close allclear alln=16;%二进制代码长度f1=18000000;%频率1f2=6000000;%频率2bitRate=1000000;%bit速率N=50;%码元宽度%noise=ti;noise=10;%家性噪声大小signal=source(n,N);%产生二进制代码transmittedSignal=fskModu(signal,bitRate,f1,f2,N);%调制signal1=gussian(transmittedSignal,noise);%加噪声configueSignal=demoFSK(signal1,bitRate,f1,f2,N);%解调source代码%二进制信号产生函数function sendSignal=source(n,N)sendSignal=randint(1,n)bit=[];for i=1:length(sendSignal)if sendSignal(i)==0bit1=zeros(1,N);elsebit1=ones(1,N);endbit=[bit,bit1];endfigure(1)plot(bit),title('transmitting of binary'),grid on;axis([0,N*length(sendSignal),-2.5,2.5]);endfskModu代码%频率调制函数function transmittedSignal=fskModu(signal,bitRate,f1,f2,N)t=linspace(0,1/bitRate,N);c1=sin(2*pi*t*f1);%调制信号1c2=sin(2*pi*t*f2);%调制信号2transmittedSignal=[];for i=1:length(signal)%调制if signal(i)==1transmittedSignal=[transmittedSignal,c1];elsetransmittedSignal=[transmittedSignal,c2];endendfigure(2) %画调制后波形图plot(1:length(transmittedSignal),transmittedSignal);title('Modulation of FSK');grid on; figure(3) %画调制后频谱图m=0:length(transmittedSignal)-1;F=fft(transmittedSignal);plot(m,abs(real(F))),title('ASK_frequency-domain analysis real');grid on;enddemoFSK代码function bitstream=demoFSK(receivedSignal,bitRate,f1,f2,N)load numsignal1=receivedSignal;signal2=filter(gaotong,1,signal1); %通过HPF,得到高通分量signal3=abs(signal2); %整流signal3=filter(lowpass,1,signal3); %通过低通,形成包络bitstream=[];IN1=fix(length(lowpass)/2)+fix(length(gaotong)/2); %延迟时间 bitstream1=[];LL=N; %每个bit的抽样点数i=IN1 +LL/2;while (i<=length(signal3)) %判决bitstream1=[bitstream1,signal3(i)>=0.5];i=i+LL;endbitstream1figure(5)subplot(3,1,1);plot(1:length(signal1),signal1);title('Wave of receiving terminal(including noise)');grid on;subplot(3,1,2);plot(1:length(signal2),signal2);title('After Passing HPF');grid on;subplot(3,1,3);plot(1:length(signal3),signal3);title('After Passing LPF');grid on;signal4=filter(daitong,1,signal1); %通过BPF得到低频分量signal5=abs(signal4); %整流signal5=filter(lowpass,1,signal5); %通过LPF,形成包络IN2=fix(length(lowpass)/2)+fix(length(daitong)/2); %延迟时间bitstream2=[];LL=N; %每个bit的的抽样点数i=IN2 +LL/2;while (i<=length(signal5)) %判决bitstream2=[bitstream2,signal5(i)>=0.5];i=i+LL;endbitstream2figure(6)subplot(3,1,1);plot(1:length(signal1),signal1);title('Wave of receiving terminal(including noise)');grid on;subplot(3,1,2);plot(1:length(signal4),signal4);title('After Passing BPF');grid on;subplot(3,1,3);plot(1:length(signal5),signal5);title('After Passing LPF');grid on;for i=1:min(length(bitstream1),length(bitstream2)) %判决if(bitstream1(i)>bitstream2(i))bitstream(i)=1;elsebitstream(i)=0;endendbitstreambit=[]; %接收端波形for i=1:length(bitstream)if bitstream(i)==0bit1=zeros(1,N);elsebit1=ones(1,N);endbit=[bit,bit1];endfigure(7)plot(bit),title('binary of receiving terminal'),grid on; axis([0,N*length(bitstream),-2.5,2.5]);endCheckRatePe代码function PeWrong=CheckRatePe(signal1,signal2,s)rights=0;wrongs=0;for ki=1:s-2if(signal1(ki)==signal2(ki))rights=rights+1;elsewrongs=wrongs+1;endendPeWrong=wrongs/(wrongs+rights);endfunction signal=gussian(transmittedSignal,noise)signal=sqrt(2)*transmittedSignal;signal=awgn(signal,noise);figure(4)plot(1:length(signal),signal),title('Adding Noise');grid on;end2psk主函数代码close allclear alln=16;%二进制码长fc=1000000;%载波频率bitRate=1000000;%信息频率N=50;%码宽noise=10;%信道加性噪声大小signal=source(n,N);%生成二进制代码transmittedSignal=bpskModu(signal,bitRate,fc,N);%对信号进行调制并进行频%谱分析signal1=gussian(transmittedSignal,noise)%加信道噪声configueSignal=demoBPSK(signal1,bitRate,fc,n,N);%信号解调function sendSignal=source(n,N)sendSignal=randint(1,n)bit=[];for i=1:length(sendSignal)if sendSignal(i)==0bit1=zeros(1,N);elsebit1=ones(1,N);endbit=[bit,bit1];endfigure(1)plot(bit),title('transmitting of binary'),grid on;axis([0,N*length(sendSignal),-2.5,2.5]);endbpskModu代码function transmittedSignal=bpskModu(signal,bitRate,fc,N) t=linspace(0,1/bitRate,N);c1=sin(2*pi*t*fc);c2=sin(2*pi*t*fc + pi);transmittedSignal=[];for i=1:length(signal)if signal(i)==1transmittedSignal=[transmittedSignal,c1];elsetransmittedSignal=[transmittedSignal,c2];endendfigure(2) % 画调制图plot(1:length(transmittedSignal),transmittedSignal);title('Modulation of BPSK');grid on; figure(3)%画频谱图m=0:length(transmittedSignal)-1;F=fft(transmittedSignal);plot(m,abs(real(F))),title('BPSK_frequency-domain analysis real');grid on;endCheckRatePe代码function PeWrong=CheckRatePe(signal1,signal2,s)rights=0;wrongs=0;for ki=1:s-2if(signal1(ki)==signal2(ki))rights=rights+1;elsewrongs=wrongs+1;endendPeWrong=wrongs/(wrongs+rights);enddemoBPSK代码function bitstream=demoBPSK(receivedSignal,bitRate,fc,n,N) load num%读取num存储的低通滤波用的数据signal1=receivedSignal;t=linspace(0,1/bitRate,N);c=sin(2*pi*t*fc);signal=[];for i=1:nsignal=[signal,c];endsignal2=signal1.*signal; %乘同频同相sinsignal3=filter(num1,1,signal2); %LPF,包络检波3IN=fix(length(num1)/2); %Ñ延迟时间bitstream=[];LL=fc/bitRate*N;i=IN+LL/2;while (i<=length(signal3)) %判决bitstream=[bitstream,signal3(i)>=0];i=i+LL;endfigure(5)subplot(3,1,1);%画接收的包含噪声的波形plot(1:length(signal1),signal1);title('Wave of receiving terminal(including noise)');grid on;subplot(3,1,2);%相干解调波形plot(1:length(signal2),signal2);title('After Multipling sin Fuction');grid on;subplot(3,1,3);%包络检波波形plot(1:length(signal3),signal3);title('Wave of LPF');grid on;bit=[];for i=1:length(bitstream)if bitstream(i)==0bit1=zeros(1,N);elsebit1=ones(1,N);endbit=[bit,bit1];endfigure(6)二进制接收信号波形plot(bit);title('binary of receiving terminal');grid on; axis([0,N*length(bitstream),-2.5,2.5]);endgussian代码function signal=gussian(transmittedSignal,noise)signal=sqrt(2)*transmittedSignal;signal=awgn(signal,noise);figure(4)plot(1:length(signal),signal),grid on;title('Adding noise')end三种调制方式的性能比较: load PeRate;load PeRatep;%补偿误差fpeask(15)=1e-3;fpefsk(9)=1e-3;fpepsk(24)=0.002;fpepsk(26)=1e-3;figure(1)semilogy(-6:length(fpeask)-7,fpeask,-6:length(fpefsk)-7,fpefsk,-30:length(fpepsk)-31,f pepsk),grid on;title('Analysis Of Bit Error Rate');legend('ASK','FSK','PSK');xlabel('r/dB');ylabel('Pe');figure(2)semilogy(-6:length(fpefsk)-7,fpeask);grid on;title('Bit Error Rate Of ASK');xlabel('r/dB');ylabel('PeASK');figure(3)semilogy(-6:length(fpefsk)-7,fpefsk);grid on;title('Bit Error Rate Of FSK');xlabel('r/dB');ylabel('PeFSK');figure(4)semilogy(-16:length(fpepsk)-17,fpepsk);grid on; title('Bit Error Rate Of PSK');axis([-16,10,1e-3,1]);xlabel('r/dB');ylabel('PePSK');三.程序与调制解调波形3.1 2ASK波形1随机信号产生2ASK信号调制3信号噪声附加4接受信号解调5解调出的基带信号3.2.FSK1随机信号产生2FSK信号调制3信号噪声附加4接受信号解调5解调出的基带信号3.3PSK1.随机信号产生2.FSK信号调制3信号噪声附加4接受信号解调5解调出的基带信号3.4误码率分析1.2ASK误码率分析2.2FSK误码率分析3.2PSK误码率分析4性能比较4课程设计心得体会经过紧张而有辛苦的一周的通信原理课程设计,当辛苦的汗水换来的是成功的喜悦时,感觉自己又完成了对自己的一个新的超越,这大大增加了我的自信心,也是对自己的能力的肯定。