matlab实验报告 数字调制解调

合集下载

基于MATLAB的模拟信号频率调制与解调分析

基于MATLAB的模拟信号频率调制与解调分析

基于MATLAB的模拟信号频率调制与解调分析信号频率调制(FM)是一种将信息信号调制到载频波形上以便在传输过程中保持信号质量的技术。

本文将基于MATLAB对信号频率调制与解调进行分析与模拟。

首先,我们需要生成一个调制信号。

以正弦信号为例,通过改变该信号的频率来模拟调制信号。

我们可以使用MATLAB的信号处理工具箱中的`fmmod(`函数来实现这一点。

以下是一个示例代码:```matlabt = 0:1/fs:1; % 时间向量fc = 2000; % 载频频率fm = 100; % 调制信号频率m = sin(2*pi*fm*t); % 调制信号modulatedSignal = fmmod(m, fc, fs); % 使用fmmod进行调频调制subplot(2,1,1);plot(t, m);title('调制信号');xlabel('时间');ylabel('振幅');subplot(2,1,2);title('调制后信号');xlabel('时间');ylabel('振幅');```上述代码中,我们定义了采样频率、时间向量、载频频率和调制信号频率,并生成了调制信号。

然后,我们使用`fmmod(`函数将调制信号调制到载频波形上。

最后,我们用两个子图分别显示调制信号和调制后信号。

接下来,我们将对调制后的信号进行解调以还原原始信号。

我们可以使用MATLAB的信号处理工具箱中的`fmdemod(`函数。

以下是一个示例代码:```matlabdemodulatedSignal = fmdemod(modulatedSignal, fc, fs); % 使用fmdemod进行解调subplot(2,1,1);plot(t, modulatedSignal);title('调制后信号');xlabel('时间');ylabel('振幅');subplot(2,1,2);title('解调后信号');xlabel('时间');ylabel('振幅');```上述代码中,我们使用`fmdemod(`函数对调制后的信号进行解调。

基于matlab仿真的数字调制与解调设计本科毕业设计(论文)

基于matlab仿真的数字调制与解调设计本科毕业设计(论文)

摘要数字调制是通信系统中最为重要的环节之一,数字调制技术的改进也是通信系统性能提高的重要途径。

本文首先分析了数字调制系统的几种基本调制解调方法,然后,运用Matlab设计了这几种数字调制解调方法的仿真程序,主要包括PSK,DPSK和16QAM。

通过仿真,分析了这三种调制解调过程中各环节时域和频域的波形,并考虑了信道噪声的影响。

通过仿真更深刻地理解了数字调制解调系统基本原理。

最后,对三种调制解调系统的性能进行了比较。

关键词:数字调制;分析与仿真;Matlab。

AbstractDigital modulation is one of the most important part in communication system, and the improvement of digital modulation technology is an important way for the improvement of communication system capability. In this paper, some usual methods of digital modulation are introduced firstly. Then their simulation programs are built by using MATLAB, they mainly include PSK,DPSK,16QAM. Through simulation, we analyzed the time and frequency waveform for every part of these three modulations, and also consider the effect of the channel noise. Through the simulation, we understand the basic theory of modulation and demodulation more clearly. At last, the capability of these digital modulations have been compared.Keywords: Digital modulation; analysis; simulation; MATLAB.目录第一章引言 (1)1.1研究背景 (1)1.2通信的发展现状和趋势 (1)1.3研究目的与意义 (2)1.4本文内容安排 (2)第二章数字调制解调相关原理 (3)2.1二进制相移键控(2P S K) (3)2.2二进制差分相移键控(2D P S K) (5)2.3正交振幅调制(Q A M) (8)第三章数字调制解调仿真 (10)3.12PSK调制和解调仿真 (10)3.22DPSK调制和解调仿真 (14)3.316QAM调制和解调仿真 (18)3.4各种调制比较 (24)第四章结束语 (25)参考文献 (26)致谢 (27)附录 (28)第一章引言1.1 研究背景随着通信系统复杂性的增加,传统的手工分析与电路板试验等分析设计方法已经不能适应发展的需要,通信系统计算机模拟仿真技术日益显示出其巨大的优越性。

MATLAB实验三 信号的调制与解调

MATLAB实验三 信号的调制与解调

实验三信号的调制与解调一.实验目的:1.熟悉幅度调制与解调过程,熟悉调制解调过程中信号时域波形和频谱。

2.掌握Modulate函数实现调幅和调频信号。

3.熟悉快速傅立叶变换函数fft,求模函数abs和fftshift函数求信号幅度频谱。

4.掌握butter函数进行巴特沃兹低通滤波器设计,熟悉滤波器频率响应函数freqz,滤波函数filter。

5.熟悉信号的合成与分解原理,加深对傅里叶级数的理解;二、实验原理:1.两个信号的调制通常用乘法器实现,由一个信号控制另一个信号的某个参量,例如用一个低频正弦波信号控制高频载波的幅值,则产生一个振幅调制信号,称为调幅波;类似还可产生调频波等。

2.幅度调制与解调原理:(如下图所示)调制信号()p t,假设信道不引入噪声,解调时采用同步解f t,载波()调,LPF为低通滤波器,()f t为接收信号。

C三、实验内容1.验证性实验a)使用modulate函数产生调幅信号解:Fm=10; Fc=100; Fs=1000; N=1000; k=0:N; t=k/Fs;x=abs(sin(2*pi*Fm*t));xf=abs(fft(x,N)); y1=modulate(x,Fc,Fs,'am');subplot(2,1,1);plot(t(1:200),y1(1:200));xlabel('时间'); ylabel('幅度'); title('调幅');yf=abs(fft(y1,N)); subplot(2,1,2); stem(yf(1:200));xlabel('频率');ylabel('幅度');b)使用modulate函数产生调频信号解:Fm=10; Fc=100; Fs=1000; N=1000; k=0:N; t=k/Fs;x=abs(sin(2*pi*Fm*t));xf=abs(fft(x,N)); y1=modulate(x,Fc,Fs,'pm');subplot(2,1,1);plot(t(1:200),y1(1:200));xlabel('时间'); ylabel('幅度'); title('调频');yf=abs(fft(y1,N)); subplot(2,1,2); stem(yf(1:200)); xlabel('频率');ylabel('幅度');c)周期信号的分解与合成解:t=-3:0.01:3; Fm=0.5; sum=0; n=100; for i=1:2:n;sum=sum+4/pi.*(1/i).*sin(i*2*pi*Fm*t); endplot(t,sum);title('周期信号的分解与合成');2. 设计性实验1) 发射端调制信号()2cos(2)f t t =,载波()cos(20)p t t =,已调信号()A f t ,理想信道无噪声。

使用Matlab进行信号调制和解调技术

使用Matlab进行信号调制和解调技术

使用Matlab进行信号调制和解调技术信号调制和解调是通信系统中非常重要的环节,它们能够将原始信号转换为适合传输的调制信号,并在接收端将其恢复为原始信号。

Matlab是一种功能强大的工具,提供了丰富的信号处理函数和算法,可以方便地进行信号调制和解调的研究与实现。

本文将介绍如何使用Matlab进行信号调制和解调技术,并通过实例展示其在通信系统中的应用和效果。

一、调制技术概述调制技术是将需要传输的信息信号转换为载波信号的过程。

常见的调制技术包括幅度调制(AM)、频率调制(FM)和相位调制(PM)。

调制的目的是将低频信号转换为高频信号,使得信号能够在较长距离传输,并能够通过信道传输到接收端。

在Matlab中,可以使用内置函数如ammod、fmmod和pmmod来实现不同的调制技术。

以幅度调制为例,可以使用ammod函数来实现。

下面给出一个简单的幅度调制实例。

```matlabfs = 1000; % 采样频率t = 0:1/fs:1-1/fs; % 时间序列fc = 100; % 载波频率Ac = 1; % 载波幅度ym = sin(2*pi*10*t); % 原始信号ym_mod = ammod(ym, fc, fs, Ac); % 幅度调制```上述代码中,首先定义了采样频率fs、时间序列t、载波频率fc和载波幅度Ac。

然后,生成了一个原始信号ym,其中使用了sin函数生成了一个频率为10Hz的正弦波。

最后使用ammod函数对原始信号进行幅度调制,得到了调制后的信号ym_mod。

二、解调技术概述解调技术是将调制后的信号恢复为原始信号的过程。

解调技术主要包括幅度解调(AM)、频率解调(FM)和相位解调(PM)。

解调的目的是从调制信号中提取出原始信号,以实现信息的传输。

在Matlab中,可以使用内置函数如amdemod、fmdemod和pmdemod来实现不同的解调技术。

以幅度解调为例,可以使用amdemod函数来实现。

实验三 Matlab的数字调制系统仿真实验(参考)..

实验三 Matlab的数字调制系统仿真实验(参考)..

成都理工大学实验报告课程名称:数字通信原理姓名:__________________学号:______________ 成绩:____ ___ 实验三Matlab的数字调制系统仿真实验(参考)1 数字调制系统的相关原理数字调制可以分为二进制调制和多进制调制,多进制调制是二进制调制的推广,主要讨论二进制的调制与解调,简单讨论一下多进制调制中的差分相位键控调制(M-DPSK)。

最常见的二进制数字调制方式有二进制振幅键控(2-ASK)、移频键控(2-FSK)和移相键控(2-PSK 和2-DPSK)。

下面是这几种调制方式的相关原理。

1.1 二进制幅度键控(2-ASK)幅度键控可以通过乘法器和开关电路来实现。

载波在数字信号1 或0 的控制下通或断,在信号为1 的状态载波接通,此时传输信道上有载波出现;在信号为0 的状态下,载波被关断,此时传输信道上无载波传送。

那么在接收端我们就可以根据载波的有无还原出数字信号的1 和0。

幅移键控法(ASK)的载波幅度是随着调制信号而变化的,其最简单的形式是,载波在二进制调制信号控制下通断,此时又可称作开关键控法(OOK)。

多电平MASK调制方式是一种比较高效的传输方式,但由于它的抗噪声能力较差,尤其是抗衰落的能力不强,因而一般只适宜在恒参信道下采用。

2-ASK 信号功率谱密度的特点如下:(1)由连续谱和离散谱两部分构成;连续谱由传号的波形g(t)经线性调制后决定,离散谱由载波分量决定;(2)已调信号的带宽是基带脉冲波形带宽的二倍。

1.2 二进制频移键控(2-FSK)数字频率调制又称频移键控(FSK),二进制频移键控记作2FSK。

数字频移键控是用载波的频率来传送数字消息,即用所传送的数字消息控制载波的频率。

2FSK信号便是符号“1”对应于载频f1,而符号“0”对应于载频f2(与f1不同的另一载频)的已调波形,而且f1与f2之间的改变是瞬间完成的。

从原理上讲,数字调频可用模拟调频法来实现,也可用键控法来实现。

基于matlab的数字信号调制与解调

基于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中进行数字信号调制与解调

如何在Matlab中进行数字信号调制与解调

如何在Matlab中进行数字信号调制与解调一、引言数字信号调制与解调是数字通信中非常重要的环节之一。

Matlab作为一个强大的数学计算软件包,提供了丰富的工具和函数来进行数字信号调制和解调的研究和实现。

本文将介绍在Matlab中进行数字信号调制与解调的方法和步骤,帮助读者更好地理解和应用该技术。

二、数字信号调制与解调基础在进行数字信号调制与解调之前,我们需要了解一些基本概念和原理。

数字信号调制是将数字信号转换为模拟信号,常见的调制方式包括脉冲振幅调制(PAM)、正交振幅调制(QAM)、频移键控调制(FSK)等。

数字信号解调则是将模拟信号转换为数字信号,恢复出原始数字信号。

在数字信号调制与解调过程中,需要使用到一些调制器和解调器,如时钟信号生成器、混频器、滤波器等。

三、Matlab中的数字信号调制1. 生成信号波形在Matlab中,可以通过生成特定的函数来模拟信号波形。

例如,我们可以使用正弦函数生成一个基带信号:```t = 0:0.001:1; % 时间范围为0到1秒,步长为0.001秒f = 10; % 信号的频率为10Hzx = sin(2*pi*f*t); % 生成正弦波```上述代码中,t代表时间轴,f代表信号频率,x为生成的波形信号。

2. 进行数字信号调制在Matlab中,可以使用调制函数对生成的信号进行调制。

例如,可以使用脉冲振幅调制(PAM)对波形信号进行调制:```fs = 1000; % 采样频率为1000Hzns = 4; % 每个符号的样本数为4y = pammod(x,ns); % 使用PAM调制函数```上述代码中,fs代表采样频率,ns代表每个符号的样本数,y为PAM调制后的信号。

3. 信号的调制效果分析在Matlab中,可以使用绘图函数对调制后的信号进行分析和展示。

例如,可以绘制调制前后的信号波形:```subplot(2,1,1);plot(t,x);title('调制前波形');subplot(2,1,2);plot(t,y);title('调制后波形');```通过绘图,可以直观地观察到信号在调制前后的变化情况。

MATLAB中的数字信号调制与解调方法

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

调制 解调 matlab

调制解调matlab在通信系统中,调制和解调是两个基本而重要的过程。

调制是将要传输的信息信号(通常称为基带信号)转化为适合在信道中传输的已调信号。

而解调则是接收端从已调信号中恢复出原始的信息信号。

Matlab是一款广泛应用的科学计算软件,提供了大量的工具箱和函数来支持调制与解调的实现和分析。

首先,对于调制过程,Matlab中的通信工具箱提供了多种调制方式,如幅度调制(AM)、频率调制(FM)和相位调制(PM)等。

用户可以通过调用相应的函数来实现不同类型的调制。

例如,使用ammod 函数可以实现幅度调制,fmmod函数可以实现频率调制,pmmod函数可以实现相位调制。

这些函数通常接受基带信号和调制参数作为输入,并输出已调信号。

在调制过程中,用户还可以自定义调制参数,如调制深度、调制频率等,以满足特定的需求。

此外,Matlab还支持多种调制方式的组合和级联,以实现更复杂的调制方案。

对于解调过程,Matlab同样提供了相应的解调函数,如amdemod函数用于幅度解调,fmdemod函数用于频率解调,pmdemod函数用于相位解调。

这些函数接受已调信号和解调参数作为输入,并输出恢复出的基带信号。

在解调过程中,用户需要注意与调制过程相对应的解调参数设置,以确保正确恢复出原始信号。

此外,Matlab还支持多种解调算法的实现,如非相干解调和相干解调等,用户可以根据实际需求选择合适的解调方式。

除了基本的调制和解调函数外,Matlab还提供了丰富的信号处理和分析工具,如频谱分析、时域分析、误码率分析等,帮助用户对调制和解调过程进行更深入的研究和优化。

总之,Matlab作为一款强大的科学计算软件,在调制和解调方面提供了丰富的功能和工具,使得用户可以方便地进行调制与解调的实现和分析。

通过合理利用Matlab的功能和工具,用户可以更加高效地进行通信系统的设计和优化,推动通信技术的发展和应用。

在未来,随着通信技术的不断演进和创新,Matlab将继续发挥重要作用,为用户提供更加便捷和高效的调制与解调解决方案。

MATLAB实现信号的调制与解调

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仿真的BPSK的调制与解调报告

基于MATLAB仿真的BPSK的调制与解调报告

基于MATLAB 仿真的BPSK 的调制与解调一、实验要求根据题目要求,查阅相关资料,掌握数字带通的 BPSK 调制解调的相关知识。

学习 MATLAB 软件,掌握 MATLAB 各种函数的使用。

在此基础上,完成以下实验要求:1) 设计系统整体框图及数学模型。

2) 运用 MATLAB 进行编程,实现 BPSK 的调制解调过程的仿真。

其中包括信源、BPSK 信号的产生,信道噪声的加入,BPSK 信号的载波提取和相干解调。

3) 系统性能的分析包括信号带宽,波形对比以及误码率的计算。

二、实验原理数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道 具有带通特性而不能直接传输基带信号。

为了使数字信号在带通信道中传输,必 须使用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。

这种用数 字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。

数字调制技术的两种方法:1) 模拟相乘法。

利用模拟调制的方法去实现数字式调制,即把把数字基带信号当做模拟信号的特殊情况处理。

2) 键控法。

利用数字信号的离散取值特点通过开关键控载波,从而实现数字调制。

这种方法通常称为键控法,比如本实验对载波的相位进行键控,便可获得相移键控(PSK )基本的调制方式。

1.BPSK 的调制原理:二进制移相键控是用二进制数字信号0和1去控制载波的两个相位0和π的方法。

在2PSK 中,通常用初始相位0和π分别表示二进制1和0。

因此,2PSK 信号的时域表达式为:)cos(A )(2PSK n c t t e ϕω+= (1)式中,ϕn 表示第n 个符号的绝对相位:⎩⎨⎧=”时发送“”时发送“,1,00πϕn (2)因此,上式可以改写为⎩⎨⎧--=Pt P t t e c c 1,cos A ,cos A )(2PSK 概率为概率为ωω (3)由于两种码元的波形相同,极性相反,故BPSK 信号可以表述为一个双极性全占空矩形脉冲序列与一个正弦载波的相乘:()t t s t e c ωcos )(2PSK = (4) 式中∑-=ns n nT t g a t s )()( (5)这里s(t)为双极性全占空(非归零)矩形脉冲序列,g(t)是脉宽为T s 的单个矩形脉冲,而a n 的统计特性:⎩⎨⎧--=P P a n 1,1,1概率为概率为 (6)图1 BPSK 信号的波形示例2.BPSK 的解调原理:2PSK 信号的解调方法是相干解调法。

基于matlab的 AM,FM调制与解调报告

基于matlab的 AM,FM调制与解调报告

AM调制与解调100%% AMµ÷ÖÆfigure('Name','Ðźŵ÷Öƹý³ÌÖв¨Ðμ°ÆäƵÆ×','NumberTitle','off')a0=1;f0=2000;fc=20000;fs=1000000;t=[1:0.000001:4];am1=0*cos(2*pi*f0*t); %µ÷ÖÆÐźÅam=a0+am1;t1=cos(2*pi*fc*t); %Ôز¨s_am=am.*t1;AM1=fft(am1); T1=fft(t1); S_AM=fft(s_am);f=(0:3000000)*fs/3000001-fs/2;subplot(3,2,1); plot(t(1:1000),am1(1:1000)); title('ÐÅÏ¢ÐźŲ¨ÐÎ');subplot(3,2,2); plot(f,fftshift(abs(AM1))); title('ÐÅÏ¢ÐźÅƵÆ×');subplot(3,2,3); plot(t(1:1000),t1(1:1000)); title('Ôز¨ÐźÅ');subplot(3,2,4); plot(f,fftshift(abs(T1))); title('Ôز¨ÐźÅƵÆ×');subplot(3,2,5); plot(t(1:1000),s_am(1:1000)); title('Òѵ÷ÐźÅ');subplot(3,2,6); plot(f,fftshift(abs(S_AM))); title('Òѵ÷ÐźÅƵÆ×');%²úÉúÔëÉùfigure('Name','Ìí¼ÓÔëÉù¼°´øͨÂ˲¨¹ý³Ì²¨Ðμ°ÆäƵÆ×','NumberTitle','off ');snr=5;y=awgn(s_am,snr);fcuts=[16000 17500 22500 24000];mags=[0 1 0];devs=[0.05 0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts,mags,devs,fs);hh=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh,1,1024,fs);st_p=fftfilt(hh,y);Q=fft(st_p);Y=fft(y);f=(0:3000000)*fs/3000001-fs/2;subplot(2,2,1);plot(t(1500001:1501000),y(1500001:1501000));title('Ìí¼ÓÔëÉùºóÐźŲ¨ÐÎ');subplot(2,2,2);plot(f,fftshift(abs(Y)));title('Ìí¼ÓÔëÉùºóÐźÅƵÆ×');subplot(2,2,3);plot(t(1500001:1501000),st_p(1500001:1501000));title('´øͨÂ˲¨ºóÐźŲ¨ÐÎ');subplot(2,2,4); plot(f,fftshift(abs(Q)));title('´øͨÂ˲¨ºóÐźÅƵÆ×');%½âµ÷figure('Name','Ïà¸É½âµ÷ËùµÃ²¨Ðμ°ÆäƵÆ×','NumberTitle','off');ss_am=st_p.*t1;SS_AM=fft(ss_am)f=(0:3000000)*fs/3000001-fs/2;subplot(2,1,1);plot(t(1500001:1503000),ss_am(1500001:1503000));title( 'Ïà³ËÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(SS_AM)));title('Ïà³ËÐźÅƵÆ×');fcuts1=[2500,30000];mags1=[1 0];devs1=[0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts1,mags1,devs1,fs);hh1=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh1,1,1024,fs);m0=fftfilt(hh1,ss_am);M0=fft(m0);f=(0:3000000)*fs/3000001-fs/2;figuresubplot(2,1,1);plot(t(1500001:1501000),m0(1500001:1501000));title('½âµ÷ÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(M0)));title('½âµ÷ÐźÅƵÆ×');11.0005 1.001-101信息信号波形-505x 105012x 106信息信号频谱11.0005 1.001-101载波信号-505x 105012x 106载波信号频谱11.00051.001-202已调信号-55x 105012x 106已调信号频谱2.52.50052.501-4-2024添加噪声后信号波形-505x 105051015x 105添加噪声后信号频谱2.52.50052.501-2024带通滤波后信号波形-55x 10500.511.526带通滤波后信号频谱50%% AMµ÷ÖÆfigure('Name','Ðźŵ÷Öƹý³ÌÖв¨Ðμ°ÆäƵÆ×','NumberTitle','off')2.5 2.5005 2.501 2.5015 2.502 2.5025 2.503 2.5035-1012相乘信号-5-4-3-2-1012345x 1050510155相乘信号频谱2.52.50012.50022.50032.50042.50052.50062.50072.50082.5009 2.501-0.500.51解调信号-5-4-3-2-1012345x 1050510155解调信号频谱a0=2;f0=2000;fc=20000;fs=1000000;t=[1:0.000001:4];am1=0*cos(2*pi*f0*t); %µ÷ÖÆÐźÅam=a0+am1;t1=cos(2*pi*fc*t); %Ôز¨s_am=am.*t1;AM1=fft(am1); T1=fft(t1); S_AM=fft(s_am);f=(0:3000000)*fs/3000001-fs/2;subplot(3,2,1); plot(t(1:1000),am1(1:1000)); title('ÐÅÏ¢ÐźŲ¨ÐÎ');subplot(3,2,2); plot(f,fftshift(abs(AM1))); title('ÐÅÏ¢ÐźÅƵÆ×');subplot(3,2,3); plot(t(1:1000),t1(1:1000)); title('Ôز¨ÐźÅ');subplot(3,2,4); plot(f,fftshift(abs(T1))); title('Ôز¨ÐźÅƵÆ×');subplot(3,2,5); plot(t(1:1000),s_am(1:1000)); title('Òѵ÷ÐźÅ');subplot(3,2,6); plot(f,fftshift(abs(S_AM))); title('Òѵ÷ÐźÅƵÆ×');%²úÉúÔëÉùfigure('Name','Ìí¼ÓÔëÉù¼°´øͨÂ˲¨¹ý³Ì²¨Ðμ°ÆäƵÆ×','NumberTitle','off ');snr=5;y=awgn(s_am,snr);fcuts=[16000 17500 22500 24000];mags=[0 1 0];devs=[0.05 0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts,mags,devs,fs);hh=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh,1,1024,fs);st_p=fftfilt(hh,y);Q=fft(st_p);Y=fft(y);f=(0:3000000)*fs/3000001-fs/2;subplot(2,2,1);plot(t(1500001:1501000),y(1500001:1501000));title('Ìí¼ÓÔëÉùºóÐźŲ¨ÐÎ');subplot(2,2,2);plot(f,fftshift(abs(Y)));title('Ìí¼ÓÔëÉùºóÐźÅƵÆ×');subplot(2,2,3);plot(t(1500001:1501000),st_p(1500001:1501000));title('´øͨÂ˲¨ºóÐźŲ¨ÐÎ');subplot(2,2,4); plot(f,fftshift(abs(Q)));title('´øͨÂ˲¨ºóÐźÅƵÆ×');%½âµ÷figure('Name','Ïà¸É½âµ÷ËùµÃ²¨Ðμ°ÆäƵÆ×','NumberTitle','off');ss_am=st_p.*t1;SS_AM=fft(ss_am)f=(0:3000000)*fs/3000001-fs/2;subplot(2,1,1);plot(t(1500001:1503000),ss_am(1500001:1503000));title( 'Ïà³ËÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(SS_AM)));title('Ïà³ËÐźÅƵÆ×'); fcuts1=[2500,30000];mags1=[1 0];devs1=[0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts1,mags1,devs1,fs);hh1=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh1,1,1024,fs);m0=fftfilt(hh1,ss_am);M0=fft(m0);f=(0:3000000)*fs/3000001-fs/2;figuresubplot(2,1,1);plot(t(1500001:1501000),m0(1500001:1501000));title('½âµ÷ÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(M0)));title('½âµ÷ÐźÅƵÆ×');11.0005 1.001-101信息信号波形-505x 1050126信息信号频谱11.0005 1.001-101载波信号-505x 1050126载波信号频谱11.00051.001-505已调信号-55x 105024x 106已调信号频谱2.52.50052.501-505添加噪声后信号波形-505x 1050123x 106添加噪声后信号频谱2.52.50052.501-4-2024带通滤波后信号波形-55x 105012346带通滤波后信号频谱2.5 2.5005 2.501 2.5015 2.502 2.5025 2.503 2.5035-10123相乘信号-5-4-3-2-1012345x 10501236相乘信号频谱0%% AMµ÷ÖÆfigure('Name','Ðźŵ÷Öƹý³ÌÖв¨Ðμ°ÆäƵÆ×','NumberTitle','off')a0=10^100;f0=2000;fc=20000;fs=1000000;t=[1:0.000001:4];am1=0*cos(2*pi*f0*t); %µ÷ÖÆÐźÅam=a0+am1;t1=cos(2*pi*fc*t); %Ôز¨s_am=am.*t1;AM1=fft(am1); T1=fft(t1); S_AM=fft(s_am);f=(0:3000000)*fs/3000001-fs/2;subplot(3,2,1); plot(t(1:1000),am1(1:1000)); title('ÐÅÏ¢ÐźŲ¨ÐÎ');subplot(3,2,2); plot(f,fftshift(abs(AM1))); title('ÐÅÏ¢ÐźÅƵÆ×');2.52.50012.50022.50032.50042.50052.50062.50072.50082.5009 2.50100.511.5解调信号-5-4-3-2-1012345x 10501236解调信号频谱subplot(3,2,3); plot(t(1:1000),t1(1:1000)); title('Ôز¨ÐźÅ');subplot(3,2,4); plot(f,fftshift(abs(T1))); title('Ôز¨ÐźÅƵÆ×');subplot(3,2,5); plot(t(1:1000),s_am(1:1000)); title('Òѵ÷ÐźÅ');subplot(3,2,6); plot(f,fftshift(abs(S_AM))); title('Òѵ÷ÐźÅƵÆ×');%²úÉúÔëÉùfigure('Name','Ìí¼ÓÔëÉù¼°´øͨÂ˲¨¹ý³Ì²¨Ðμ°ÆäƵÆ×','NumberTitle','off ');snr=5;y=awgn(s_am,snr);fcuts=[16000 17500 22500 24000];mags=[0 1 0];devs=[0.05 0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts,mags,devs,fs);hh=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh,1,1024,fs);st_p=fftfilt(hh,y);Q=fft(st_p);Y=fft(y);f=(0:3000000)*fs/3000001-fs/2;subplot(2,2,1);plot(t(1500001:1501000),y(1500001:1501000));title('Ìí¼ÓÔëÉùºóÐźŲ¨ÐÎ');subplot(2,2,2);plot(f,fftshift(abs(Y)));title('Ìí¼ÓÔëÉùºóÐźÅƵÆ×');subplot(2,2,3);plot(t(1500001:1501000),st_p(1500001:1501000));title('´øͨÂ˲¨ºóÐźŲ¨ÐÎ');subplot(2,2,4); plot(f,fftshift(abs(Q)));title('´øͨÂ˲¨ºóÐźÅƵÆ×');%½âµ÷figure('Name','Ïà¸É½âµ÷ËùµÃ²¨Ðμ°ÆäƵÆ×','NumberTitle','off');ss_am=st_p.*t1;SS_AM=fft(ss_am)f=(0:3000000)*fs/3000001-fs/2;subplot(2,1,1);plot(t(1500001:1503000),ss_am(1500001:1503000));title( 'Ïà³ËÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(SS_AM)));title('Ïà³ËÐźÅƵÆ×'); fcuts1=[2500,30000];mags1=[1 0];devs1=[0.01 0.05];[n,Wn,beta,ftype]=kaiserord(fcuts1,mags1,devs1,fs);hh1=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');[H,f]=freqz(hh1,1,1024,fs);m0=fftfilt(hh1,ss_am);M0=fft(m0);f=(0:3000000)*fs/3000001-fs/2;figuresubplot(2,1,1);plot(t(1500001:1501000),m0(1500001:1501000));title('½âµ÷ÐźÅ');subplot(2,1,2); plot(f,fftshift(abs(M0)));title('½âµ÷ÐźÅƵÆ×');11.0005 1.001-101信息信号波形-505x 1050126信息信号频谱1 1.0005 1.001-101载波信号-505x 1050126载波信号频谱11.00051.001-101x 10100已调信号-55x 105012x 10106已调信号频谱2.52.5005 2.501-1-0.500.51x 10100添加噪声后信号波形-505x 105051015x 10105添加噪声后信号频谱2.52.5005 2.501-2-1012x 10100带通滤波后信号波形-55x 1051x 10106带通滤波后信号频谱FM 调制与解调%%FMfigure('Name','FMµ÷ÖƲ¨ÐÎÓëƵÆ×')2.5 2.5005 2.501 2.5015 2.502 2.5025 2.503 2.5035-50510x 1099相乘信号-5-4-3-2-1012345x 105051015105相乘信号频谱2.52.50012.50022.50032.50042.50052.50062.50072.50082.5009 2.5013.93.913.923.93x 1099解调信号-1-0.500.51x 105123105解调信号频谱f0=2000; fc=20000; fs=1000000; Am=1; kf=0.5; Tc=8; Ta=0.001; dt=0.000001;t=[0:1/fs:3];f=(0:length(t)-1)*fs/(length(t))-fs/2;fm0=cos(2*pi*f0*t);mt=fm0;%»ý·ÖÆ÷Éè¼Æw1=0;w2=0;for m=1:length(t)w1=mt(m)+w2;w2=mt(m)+w1;fi(m)=w1/(2*fs);endfi=fi*2*pi/max(abs(fi));I=cos(kf*fi);Q=sin(kf*fi);y1=Am*cos(2*pi*fc*t).*I-Am*sin(2*pi*fc*t).*Q;subplot(2,1,1);plot(t,y1);title('²¨ÐÎ')axis([1e-3 4e-3 -2 2]);Y1=fft(y1);subplot(2,1,2);plot(f,fftshift(abs(Y1))/1e6); title('ƵÆ×') %%Ôز¨ÆµÆ×axis([-4e4 4e4 0 1]);figure('Name','FMµ÷Öƺó¼ÓÔëÉù²¨ÐÎÓë½âµ÷ºó²¨ÐÎÒÔ¼°Â˳ýÖ±Á÷·ÖÁ¿ºóµÄ²¨ÐÎ')y1o=awgn(y1,40);subplot(3,1,1);plot(t,y1o); title('¼ÓÔëÉùºó²¨ÐÎ') %%¼ÓÔëÉùºóµÄÐźÅaxis([1e-3 4e-3 -2 2]);%%´øͨÂ˲¨KSband=2*(3+1)*f0;fcutsb=[fc-KSband-2000 fc-KSbandfc+KSbandfc+KSband+2000]; %%½ÓÊÕ»úÇ°¶Ë´øͨÂ˲¨magsb=[0 1 0];devsb=[0.05 0.01 0.05];[nb,Wnb,betab,ftypeb]=kaiserord(fcutsb,magsb,devsb,fs);hhb=fir1(nb,Wnb,ftypeb,kaiser(nb+1,betab),'noscale'); %´øͨÂ˲¨Æ÷£»st_pb=fftfilt(hhb,y1o);subplot(3,1,2);st_pb=st_pb/1e6;plot(t,st_pb); title('´øͨÂ˲¨Æ÷ºóµÄ²¨ÐÎ')axis([1e-3 4e-3 -2e-6 2e-6]);%΢·ÖÆ÷Éè¼Æfor i=1:length(t)-1 %½ÓÊÕÐźÅͨ¹ý΢·ÖÆ÷´¦Àídiff_st_pb(i)=(st_pb(i+1)-st_pb(i))/dt;endsfm=abs(hilbert(diff_st_pb));subplot(3,1,2);plot(t,[sfm*20 0]);axis([1e-3 4e-3 0 4]);%%¸ôÖ±% KSbandh=2*(3+1)*f0;fcutsh=[0.01 3000];magsh=[0 1];devsh=[0.01 0.05];[nh,Wnh,betah,ftypeh]=kaiserord(fcutsh,magsh,devsh,fs);hhh=fir1(nh,Wnh,ftypeh,kaiser(nh+1,betah),'noscale');sfm_out=fftfilt(hhh,sfm*20);subplot(3,1,3);plot(t,[sfm_out 0]);title('¸ôÖ±ºóµÄ²¨ÐÎ')axis([1e-3 4e-3 -2 2]);11.522.533.54x 10-3-2-1012波形-4-3-2-101234x 10400.51频谱11.522.533.54x 10-3-202加噪声后波形11.522.53 3.54x 10-302411.522.533.54x 10-3-202隔直后的波形。

FM的MATLAB调制解调

FM的MATLAB调制解调

通信原理仿真实验报告实验名称:FM调制及解调姓名:专业:年级:学号:201X年X 月X日FM 调制及解调设输入信号为()cos 2m t t π= ,载波中心频率为 10c z f H =,VCO 的压控振荡系数为 5/z H V ,载波平均功率为1W 。

试画出: ● 已调信号的时域波形; ● 已调信号的振幅谱;● 用鉴频器解调该信号,并与输入信号比较。

一、 程序代码clear allt0=2;tz=0.0001; %时间向量精度 fs=1/tz; %设定抽样频率 t=[-t0:tz:t0]; %产生时间向量kf=5; %设定压控振荡器系数 fc=10; %设定载波频率kd=0.8; %设定鉴频增益/鉴频器灵敏度 m_fun=cos(2*pi*t);int_m(1)=0; %对m_fun 积分 for i=1:length(t)-1int_m(i+1)=int_m(i)+m_fun(i)*tz; endx=sqrt(2)*cos(2*pi*fc*t+kf*int_m); %调制信号 y=m_fun.*kd*kf; %解调信号 z=-sqrt(2)*(2*pi*fc+kf*m_fun).*sin(2*pi*fc*t+kf*int_m); Nf=4096*32;M=fft(m_fun,Nf); %对原始信号快速傅里叶变换 f=[0:1:Nf-1]./Nf.*fs;X=fft(x,Nf); %对已调信号快速傅里叶变换 Y=fft(y ,Nf); %对解调信号快速傅里叶变换figure(1); %生成原始信号的时域图形 plot(t,m_fun(1:length(t)),'linewidth',2); title('原始信号的时域图形'); xlabel('时间/s');legend('m(t)')figure(2); %生成原始信号的频域图形h1=plot(f,abs(fftshift(M))/max(abs(M)),'linewidth',1);title('原始信号的频域图形');xlabel('频率/Hz');legend('M(f)');figure(3); %生成已调信号的时域图形plot(t,x(1:length(t)),'linewidth',2);title('已调信号的时域图形');xlabel('时间/s');legend('x(t)');figure(4); %生成已调信号的频域图形plot(f,abs(fftshift(X))/max(abs(X)),'linewidth',1);title('已调信号的频域图形');xlabel('频率/Hz');legend('X(f)');figure(5); %鉴频微分电路输出plot(t,z(1:length(t)),'linewidth',2);title('鉴频微分电路输出的时域图形');xlabel('时间/s');legend('z(t)');figure(6); %生成解调信号的时域图形plot(t,y(1:length(t)),'linewidth',2);title('解调信号的时域图形');xlabel('时间/s');legend('y(t)');figure(7); %生成解调信号的频域图形plot(f,abs(fftshift(Y))/max(abs(Y)),'linewidth',1);title('解调信号的频域图形');xlabel('频率/Hz');legend('Y(f)');二、实验结果与分析(1)已调信号的时域波形时间/s时间/s时间/s调频信号的一般表达式为:()cos[()]c fx t A t K m dωττ=+⎰,已知()cos2m t tπ=,2c cw fπ=,10c zf H=,5/f zK H V=,由于载波平均功率为1W,故A=5/f zK H V=,调制波形的频率变化不明显,对比第二、三图可知,fK越大时(第三图25/f zK H V=),调制现象更加明显。

MATLAB实现信号的调制与解调

MATLAB实现信号的调制与解调

实验8 信号调制与解调[实验目的]1.了解用MATLAB实现信号调制与解调的方法。

2.了解几种基本的调制方法。

[实验原理]由于从消息变换过来的原始信号具有频率较低的频谱分量,这种信号在许多信道中不适宜传输。

因此,在通信系统的发送端通常需要有调制过程,而在接收端则需要有反调制过程——解调过程。

所谓调制,就是按调制信号的变化规律去改变某些参数的过程。

调制的载波可以分为两类:用正弦信号作载波;用脉冲串或一组数字信号作为载波。

最常用和最重要的模拟调制方式是用正弦波作为载波的幅度调制和角度调制。

本实验中重点讨论幅度调制。

幅度调制是正弦型载波的幅度随调制信号变化的过程。

设正弦载波为式中——载波角频率——载波的初相位A——载波的幅度那么,幅度调制信号(已调信号)一般可表示为式中,m(t)为基带调制信号。

在MATLAB中,用函数y=modulate(x,fc,fs,’s’)来实现信号调制。

其中fc 为载波频率,fs为抽样频率,’s’省略或为’am-dsb-sc’时为抑制载波的双边带调幅,’am-dsb-tc’为不抑制载波的双边带调幅,’am-ss b’为单边带调幅,’pm’为调相,’fm’为调频。

[课上练习]产生AM FM PM signals[实验内容]0. 已知信号,当对该信号取样时,求能恢复原信号的最大取样周期。

设计MATALB 程序进行分析并给出结果。

1.有一正弦信号, n=[0:256],分别以100000Hz的载波和1000000Hz的抽样频率进行调幅、调频、调相,观察图形。

2.对题1中各调制信号进行解调(采用demod函数),观察与原图形的区别3.已知线性调制信号表示式如下:⑴⑵式中,试分别画出它们的波形图和频谱图4.已知调制信号,载波为cos104t,进行单边带调制,试确定单边带信号的表示式,并画出频谱图。

[实验要求]1 自行编制完整的实验程序,实现对信号的模拟,并得出实验结果。

2 在实验报告中写出完整的自编程序,并给出实验结果和分析,学习demod 函数对调制信号进行解调的分析。

matlab载波调制的数字传输实验报告

matlab载波调制的数字传输实验报告

matlab载波调制的数字传输实验报告数字信号处理是现代通信系统中不可缺少的一部分。

载波调制是数字信号处理中非常重要的技术之一,它可以将数字信号从低频范围转移到高频范围,从而使信号可以在空气中传输。

MATLAB是一种常用的数字信号处理工具,它可以方便地进行载波调制实验。

本文将介绍在MATLAB中进行载波调制的数字传输实验。

首先,需要生成一个数字信号。

在MATLAB中,可以使用sinc函数生成一个基带信号,如下所示:```fs = 1000;t = -1:1/fs:1;x = sinc(2*pi*50*t);```这里的fs是采样频率,t是时间向量,x是生成的基带信号。

接下来,需要进行载波调制。

常用的载波调制包括正弦调制(AM)和相位调制(FM)。

在本实验中,我们将使用相位调制。

生成载波信号的代码如下所示:```fc = 100;carrier = sin(2*pi*fc*t);```这里的fc是载波频率,carrier是生成的载波信号。

接下来,需要将基带信号调制到载波信号上。

在相位调制中,可以使用MATLAB中的cumsum 函数实现。

代码如下所示:```delta_f = 150;phi = cumsum(x.*delta_f/fs);modulated = cos(2*pi*fc*t + phi);```这里的delta_f是相位调制指数,phi是相位偏移量,modulated是调制后的信号。

最后,可以利用MATLAB中的fft函数进行频域分析,并可视化结果。

代码如下所示:```X = fft(x);M = abs(X);f = linspace(-fs/2,fs/2,length(X));plot(f,M);```通过此实验,可以了解数字信号的基本特性和载波调制的原理。

在MATLAB中进行数字信号处理可以提高信号处理的效率和方便性。

MATLAB在数字调制解调中的应用

MATLAB在数字调制解调中的应用

MATLAB在数字调制解调中的应用系别:电信系班级:XXXXXXXXX姓名:XXX学号:XXXXXXX XXXX指导老师:XXX一.题目:数字调制与解调二.要求:用matlab模拟数字调制与解调三.步骤:1基本知识:按数字调制的方法分类可以分为多进制幅度键控(M-ASK)、正交幅度键控(QASK)、多进制频率键控(M-FSK)以及多进制相位键控(M-PSK)。

数字调制包括数模转换和模拟调制两部分,如图6.25所示。

1.M元幅度键控调制(M-ASK)M元幅度键控调制包含两部分,M-ASK映射和模拟幅度调制。

M-ASK映射将输入的数字码符映射到区间[-x, x],数字码符取值范围是 [0, M-1]区间内的整数。

输出信号的幅值分别为[-x, x]的M-1等分点。

2.M元正交键控调制(M-QASK)M-QASK是数字调制使用得最多的一种方法。

它一般将输入的数字码符映射成为同相和正交的两个独立分量,然后用模拟QAM法对它们进行调制;在接收方,接收的信号被解调为同相和正交信号,从它们映射过程中恢复原始信号。

有许多种方法可将输入信号映射成同相和正交分量。

通信工具箱为M-QASK提供三种方案,即平面直角点集、圆点集和用户定义任意点集。

3.M 元频率键控调制(M-FSK)M 元频率键控调制是通过使用输入信号控制输出信号的频率来实现对数字信号的调制。

M-FSK调制过程分成两部分,即映射和模拟调制。

映射过程将输入信号反映成载波频率变化,模拟调制即FM。

M-FSK的解调有两种方法,即相干法和非相干法。

相干方法要求事先知道已调信号的相位,而非相干方法则不要求相位信息 , 它可以在解调过程中恢复已调信号的相位信息。

4.M-元相位键控调制(M-PSK)M-PSK通过改变已调信号的相位信息来实现对数字信号的调制。

M-PSK设置不同的初相移位以区别不同的数字码符。

M-PSK调制器输入信号的取值区间[0, M-1],数字i对应的相位位移为1 带通数字调制/解调1. 数字带通调制函数dmod( )格式:y=dmod(x, Fc, Fd, Fs, method …)功能:用频率为Fc(Hz)的载波去调制数字信号,然后再输出采样频率为Fs(Hz)的仿真已调信号,Fs/Fd 必须是一个正整数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告
姓名:李鹏博实验名称:数字调制解调
学号:2011300704 课程名称:数字信号处理
班级:03041102 实验室名称:航海西楼303
组号: 1 实验日期:2014.06.27
一、实验目的、要求
掌握掌握数字调制以及对应解调方法的原理。

掌握数字调制解调方法的计算机编程实现方法,即软件实现。

二、实验原理
二进制数字频率调制(2FSK)
二进制数字频率调制,简称频移键控2FSK,是利用二进制数字基带信号控制载波的频率,进行频谱变换的过程。

在发送端,由基带信号控制载波,用不同频率的载波振荡信号来传输数字信号“1”和“0”;接收端则根据不同频率的载波信号,将其还原成相应的数字基带信号。

PSK调制
在PSK调制时载波的相位随调制信号状态不同而改变。

如果两个频率相同的载波同时开始振荡这两个频率同时达到正最大值同时达到零值同时达到负最大值此时它们就处于“同相”状态如果一个达到正最大值时另一个达到负最大值则称为“反相”。

把信号振荡一次一周作为360度。

如果一个波比另一个波相差半个周期两个波的相位差180度也就是反相。

当传输数字信号时“1”码控制发0度相位“0”码控制发180度相位。

三、实验环境
PC机,Windows2000,office2000,Matlab6.5以上版本软件。

四、实验内容、步骤
实验内容
已知消息信号为一个长度为8的二进制序列;载波频率为
800
c
f Hz
,采样频率为
4KHz。

编程实现一种调制、传输、滤波和解调过程。

实验步骤
根据参数产生消息信号s和载波信号。

调用函数randint生成随机序列。

编程实现调制过程。

调用函数y=fskmod(s,M,FREQ_SEP,NSAMP)完成频率调制,y=pskmod(s,M) 完成相位调制,或者。

调用函数modulate完成信号调制。

编程实现信号的传输过程。

产生白噪声noise,并将其加到调制信号序列。

或者调用函
数awgn 完成。

编程实现信号的解调。

x=fskdemod(y,M, FREQ_SEP ,NSAMP) 完成FSK 信号的解调,x=pskdemod(y,M) 完成PSK 调制信号的解调。

或者调用demodulate 完成解调。

计算误码率。

调用函数symerr 完成误码率计算。

五、实验过程、数据记录、分析及结论
FSK 调制
频率差值设200HZ ,如下图:
对信号序列和FSK 调制信号做傅里叶变换后右图
通过AWGN 函数加入高斯白噪声,信噪比为20dB 。

加噪声后的波形及频谱如下,解调后的输出为右图。

加入噪声后的波形
frequency
m a g t i t u d e
加入噪声后的频谱
000000000
frequency
m a g t i t u d e
FSK 调制信号频谱
psk 调制
下图是2-psk 的实验结果,其中fs=4000Hz,fc=800Hz 序列及调制波形如左图,调制信号的频谱图如右图。

加入信噪比为10dB 的噪声后,信号及频谱的波形为左图,解调后的输出如右图。

x 10
4
频谱图如下:
x 10
4
加噪声后的PSK 信号波形
加噪声后的PSK 信号频谱波形
六、讨论
在初次使用fskmod这个函数的时候,画出的图形没有明显看出频率差异,以为是出错了,之后经过看fskmod的程序才发现,他是将频率调制到正负两个相同大小的频率上,所以画图看不出频率差异。

之后经过调整,将-M/2~M/2改成0~M/2,解决了这个问题。

要注意的是,还需要将fskdemod的程序也做相应更改,否则解调会出错。

相关文档
最新文档