课程设计(论文)-基于MATLAB的信号调制与解调.doc_第1页
课程设计(论文)-基于MATLAB的信号调制与解调.doc_第2页
课程设计(论文)-基于MATLAB的信号调制与解调.doc_第3页
课程设计(论文)-基于MATLAB的信号调制与解调.doc_第4页
课程设计(论文)-基于MATLAB的信号调制与解调.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

课程设计任务书课程设计任务书 学生姓名:学生姓名: 专业班级:专业班级: 指导教师:指导教师: 工作单位:工作单位: 题题 目目: : 基于基于 matlabmatlab 的信号调制与解调的信号调制与解调 初始条件:初始条件: 1.matlab 应用软件; 2.信号处理的相关知识,线性代数基础知识,希尔伯特变换; 3.信号的常规幅度调制,单边带幅度调制以及双边带调制。 要求完成的主要任务要求完成的主要任务: : 设计任务设计任务 1 1:应用 matlab 求解基本的高等应用数学问题。 设计任务设计任务 2 2:已知某消息信号,以双边幅度调制(dsb- else ttt tt tm 0 3/23/2 3/01 )( 00 0 am)方式调制载波,所得到的已调制信号记为,设,)2cos()(tftc c )(tust15 . 0 0 。hzfc250 (1)试比较消息信号与已调信号,并绘制它们的频谱。 (2)对(1)中的 dsb-am 调制信号进行相干解调,并绘出信号的时频域曲线。 (3)对(1)中的信号进行单边带幅度调制(ssb-am),绘制信号的时频域曲线。 (4)对(1)中的信号进行常规幅度调制(am),给定调制指数,绘制信号的时频域8 . 0a 曲线。 设计要求:设计要求: 1.设计的程序有较强的可行性,能够很好地反映出 matlab 强大的运算功能和工程实用性;掌 握 matlab 在数学和工程上的应用技术,学习实际可用的应用程序的编写; 2.撰写出具有较强实用性、应用性的 matlab 论文。 时间安排:时间安排: 第 17 周:安排任务,分组,资料准备; 第 17-18 周:设计仿真,撰写报告; 第 19 周:完成设计,提交报告,答辩。 指导教师签名:指导教师签名: 年年 月月 日日 系主任(或责任教师)签名:系主任(或责任教师)签名: 年年 月月 日日 目录 摘要1 abstract .2 1 绪论3 1.1 mtlab软件简介.3 1.2 matlab语言的特点和开发环境.3 2 高等应用数学问题的matlab求解4 2.1 高等数学常见的函数基本计算4 2.2 线性代数常见的矩阵基本计算6 2.3 高等数学常见的多项式基本计算10 3 基于matlab的信号调制与解调13 3.1 常规双边带调制与解调及相干解调13 3.2 抑制载波的双边带调幅与解调16 3.3 单边带调制与解调17 3.4 基于matlab的信号调制与解调19 4 小结与体会25 5 主要参考文献26 武汉理工大学matlab课程设计说明书 1 摘摘 要要 matlab 的名称源自 matrix laboratory ,它是一种科学计算软件,专门以矩阵的形式处理数 据,其含义是矩阵实验室(matrix laboratory) ,进行数值计算的基本单位是复数数组(或称阵列) ,由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处 理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便。matlab 已经发 展成为多学科、多种工作平台的功能强大的大型软件。 matlab 将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地 应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作。 matlab 是一个交互式的系统,它的基本运算单元是不需指定维数的矩阵,按照 ieee 的数值计 算标准(能正确处理无穷数 inf(infinity)、无定义数 nan(not-a-number)及其运算)进行计 算系统提供了大量的矩阵及其它运算函数,可以方便地进行一些很复杂的计算,而且运算效率极 高matlab 命令和数学中的符号、公式非常接近,可读性强,容易掌握,还可利用它所提供的编 程语言进行编程完成特定的工作。 关键字: matlab 矩阵 编程 调制与解调 武汉理工大学matlab课程设计说明书 2 abstractabstract the name of the matlab from matrix laboratory, it is a kind of scientific calculation software, specialized in matrix form of processing data, its meaning is matrix laboratory ( matrix laboratory ), the numerical calculation is the basic unit of the plurality of array ( array ), because it does not need to define the dimensions of the array, and gives a matrix function, special matrix special library function, so that in solving such as signal processing, modeling, system identification, control, optimization and other fields when the problem is simple, efficient, convenient. matlab has become a multidisciplinary, multi-platform work of the powerful large-scale software. matlab high performance numerical computation and visualization are integrated together, and provides a large number of built-in functions, thus being widely applied in scientific calculation, control system, information processing and other areas of analysis, simulation and design work. matlab is an interactive system, its basic operation unit is not required to specify dimension matrix, according to the ieee numerical calculation standard ( can deal with infinite number inf ( infinity ), nan ( not-a-number ) defined number and its operation ) were calculated. the system provides a large number of matrix operations and other functions, can be easily for some very complex calculations, and the operation efficiency is very high . matlab command and mathematics symbol, formula is very close, readability is strong, easy to master, can also use it to provide a programming language programming to complete certain work. keyword: matlab matrix programming modulation and demodulation 武汉理工大学matlab课程设计说明书 3 1 绪论 1.1 matlab 软件简介 matlab 是美国 mathworks 公司生产的一个为科学和工程计算专门设计的交互式大型软件,是 一个可以完成各种精确计算和数据处理的、可视化的、强大的计算工具。它集图示和精确计算于一 身,在应用数学、物理、化工、机电工程、医药、金融和其他需要进行复杂数值计算的领域得到了 广泛应用。 matlab 拥有了更丰富的数据类型和结构,更好的面向对象的快速精美的图形界面,更多的数 学和数据分析资源,matlab 工具也达到了 25 个,几乎涵盖了整个科学技术运算领域。在大部分大 学里,应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系 统仿真等课程的教材都把 matlab 作为必不可少的内容。 1.2 matlab 的语言特点和开发环境 matlab 作为一种科学计算的高级语言之所以受欢迎,就是因为它有丰富的函数资源和工具箱 资源,编程人员可以根据自己的需要选择函数,而无需再去编写大量繁琐的程序代码,从而减轻了 编程人员的工作负担。被称为第四代编程语言的 matlab 最大的特点就是简洁开放的程序代码和直 观实用的开发环境。具体地说 matlab 主要有以下特点:(1)库函数资源丰富;(2)语言精炼, 代码灵活;(3)运算符多而灵活;(4)面向对象,控制功能优良;(5)程序设计自由;(6)图 形功能强大;(7)程序的兼容性好;(8)源代码开放;(9)具有丰富的工具箱。这些特点使得 matlab 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模 和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 matlab 函数集)扩展了 matlab 环境,以解决这些应用领域内特定类型的问题。 武汉理工大学matlab课程设计说明书 4 2 高等应用数学问题的 matlab 求解 2.1 高等数学常见的函数基本计算 2.1.1 极限的计算 极限问题的解析解可分为单变量函数的极限和多变量函数的极限。极限问题在 matlab 符号运 算工具箱中可以使用 limit()函数直接求出,该函数的调用格式为: limit(f,x,a),limit(f,a),limit(f)或者是 limit(f,x,a,right),limit(f,x,a,left); 多元函数也可以同样用 matlab 中的 limit()函数直接求解。 求数列(1+1/2+1/3+.+1/n-ln(n+1))的极限,举例编程如下: syms n k; a=limit(symsum(1/k,1,n)-log(n+1),inf) double(a) 运行结果: ans = 0.5772 2.1.2 微分的计算 如果函数和自变量都已知,且均为符号变量,则可以用 diff()函数解出给定函数的各阶导 数。diff()函数的调用格式:y = diff(x),y = diff(x,n),y = diff(x,n,dim) 举例编程如下: syms x f=sin(2*x*x+x); g=diff(f,x) 运行结果: g = cos(2*x2+x)*(4*x+1) 2.1.3 积分的计算 积分函数 int 格式: integerstates = int(hm.states) 举例编程如下: syms x y=3*x*x; g=int(y) 运行结果: g = x3 2.1.4 级数的计算 符号运算工具箱中提供的 symsum()可以用于已知通项的有穷或无穷级数的和。该函数的调 用格式为: r = symsum(s),r = symsum(s,v), 武汉理工大学matlab课程设计说明书 5 r = symsum(s,a,b),r = symsum(s,v,a,b) 举例编程如下: syms x k n s1=1/(k+1); s2=symsum(s1,1,9) 运行结果: s2 = 4861/2520 2.1.5 求解代数方程 一般多项式方程的根可以为实数,也可以为复数。matlab 符号运算工具箱中给出的 solve() 函数对多项式类方程是十分有效的。该函数的定义格式: g = solve(eq), g = solve(eq,var),g = solve(eq1,eq2,.,eqn), g = solve(eq1,eq2,.,eqn,var1,var2,.,varn) 举例编程如下: syms x 运行结果: x = -1/6*(514+3*29901(1/2)(1/3)+17/6/(514+3*29901(1/2)(1/3)-1/6 1/12*(514+3*29901(1/2)(1/3)-17/12/(514+3*29901(1/2)(1/3)-1/6+1/2*i*3(1/2)*( -1/6*(514+3*29901(1/2)(1/3)-17/6/(514+3*29901(1/2)(1/3) 1/12*(514+3*29901(1/2)(1/3)-17/12/(514+3*29901(1/2)(1/3)-1/6- 1/2*i*3(1/2)*( -1/6*(514+3*29901(1/2)(1/3)-17/6/(514+3*29901(1/2)(1/3) 2.1.6 求解常微分方程 matlab 语言的符号运算工具箱提供了一个线性常系数微分方程求解的实用函数 dsolve() ,该 函数允许用字符串的形式描述微分方程及初值、边界条件,最终将得出微分方程的解析解。该函数 的调用格式为: r = dsolve(eq1,eq2,.,cond1,cond2,., v), r = dsolve(eq1,eq2,.,cond1,cond2,.,v) 举例编程如下: syms y f=dsolve(d2y=2+dy,y(0)=1,dy(0)=0) solve(f) 运行结果: f = 2*exp(t)-2*t-1 武汉理工大学matlab课程设计说明书 6 2.2 线性代数常见的矩阵基本计算 2.2.1 矩阵的最大值 计算矩阵的最大值在 matlab 中调用函数:ind2sub();该函数的格式为: i,j = ind2sub(siz,ind),i1,i2,i3,.,in = ind2sub(siz,ind) 举例编程如下: clear;clc; a=6 8 1;3 7 12;9 4 21 c,i=max(a(:) m,n=ind2sub(size(a),i) 运行结果: c = 21 i = 9 m = 3 n = 3 2.2.2 矩阵的最小值 调用函数 find 格式: indices = find(x),indices = find(x, k),indices = find(x, k, first),indices = find(x, k, last) 举例编程如下: a=3 6 7;12 4 16;8 2 9 m=min(a) mm=min(m) row,column=find(a=mm) 运行结果: m = 3 2 7 mm = 2 row = 3 colum = 2 2.2.3 矩阵的均值 调用函数 mean 格式: m = mean(a),m = mean(a,dim) 举例编程如下: a=6 17 5;12 9 14;3 6 15; mean(a) 武汉理工大学matlab课程设计说明书 7 运行结果: ans = 7.0000 10.6667 11.3333 2.2.4 矩阵的方差 调用函数 var 格式:v = var(x),v = var(x,1),v = var(x,w),v = var(x,w,dim) 举例编程如下: a=6 17 5;12 9 14;3 6 15; b=var(a) c=var(a(:) 运行结果: b = 21.0000 32.3333 30.3333 c = 25 2.2.5 矩阵的转置 调用函数 conj 格式:zc = conj(z) 举例编程如下: a=6 17 5;12 9 14;3 6 15; conj(a) 运行结果: ans = 6 12 3 17 9 6 5 14 15 2.2.6 矩阵的逆 调用函数 inv 格式:y = inv(x) 举例编程如下: a=6 17 5; 12 9 14;3 6 15; inv(a) 运行结果: ans = -0.0281 0.1240 -0.1063 0.0760 -0.0413 0.0132 -0.0248 -0.0083 0.0826 2.2.7 矩阵的行列式 调用函数 det 格式:d = det(x) 举例编程如下: a=1 2 3;2 1 3;3 1 2 det(a) 运行结果: 武汉理工大学matlab课程设计说明书 8 ans = 6 2.2.8 矩阵特征值的计算 调用函数 eig 格式: d = eig(a),d = eig(a,b),v,d = eig(a),v,d = eig(a,nobalance) v,d = eig(a,b),v,d = eig(a,b,flag) 举例编程如下: a=sym(2 1 0;1 3 1;0 1 2) v,deig(a) 运行结果: v = 1, -1, 1 2, 0, -1 1, 1, 1 d = 4, 0, 0 0, 2, 0 0, 0, 1 2.2.9 矩阵的相乘 举例编程如下: a=1 3 5;2 4 6;7 8 9 b=1 2 3;4 5 6;7 8 9 a*b 运行结果: ans = 48 57 66 60 72 84 102 126 150 2.2.10 矩阵右除和左除 矩阵右除举例编程如下: (列相等) a=1 2 3;4 5 6;7 8 9 b=10 20 30;40 50 60;70 80 90 a/b%右除 运行结果: y = 3.6667 -0.6667 -6.6667 3.6667 -3.5000 2.0000 矩阵左除举例编程如下: a=1 2 3;4 5 6; 武汉理工大学matlab课程设计说明书 9 d=1 4 7;8 5 2;3 6 0; x=da(行相等) 运行结果: x = -0.0370 0 0.5185 1.0000 -0.1481 0 2.2.11 矩阵的幂运算 举例编程如下: a=1 2 3;4 5 6; 7 8 9 b=4 ab 运行结果: ans = 7560 9288 11016 17118 21033 24948 26676 32778 38880 武汉理工大学matlab课程设计说明书 10 2 2.3 高等数学常见的多项式的基本运算 2.3.1 多项式加减 举例编程如下: p=1 6 12 8 7 q=9 5 15 7 3 m=p+q n=p-q 运行结果: m = 10 11 27 15 10 n = -8 1 -3 1 4 2.3.2 多项式乘除运算 举例编程如下: p=1 6 12 8 7 q=9 5 15 7 3 m=conv(p,q) s,r=deconv(p,q) 运行结果: m = 9 59 153 229 328 257 197 73 21 s = 0.1111 r = 0 5.4444 10.3333 7.2222 6.6667 2.3.3 多项式的求导 调用函数 polyder 格式:k = polyder(p),k = polyder(a,b),q,d = polyder(b,a) 举例编程如下: p=1 6 12 8 7 p=polyder(p) 运行结果: p = 4 18 24 8 2.3.4 多项式的求根 调用函数 roots 格式:r = roots(c) 举例编程如下: p=1 6 12 8 7 x=roots(p) 运行结果: 武汉理工大学matlab课程设计说明书 11 x = -2.7975 + 1.0613i -2.7975 - 1.0613i -0.2025 + 0.8608i -0.2025 - 0.8608i 2.3.5 多项式的求值运算 调用函数 polyval 格式:y = polyval(p,x),y = polyval(p,x,mu),y,delta = polyval(p,x,s),y,delta = polyval(p,x,s,mu) 举例编程如下: p=1 6 12 8 7 x=5 y=polyval(p,x) 运行结果: y = 1722 2.3.6 多项式的部分分式展开 调用函数 residue 格式:r,p,k = residue(b,a),b,a = residue(r,p,k) 举例编程如下: num=1 11 39 52 26 den=1 10 35 50 24 r,p,k=residue(num,den) 运行结果: r = 1.0000 2.5000 -3.0000 0.5000 p = -4.0000 -3.0000 -2.0000 -1.0000 k = 1 则得: 2.3.7 多项式的拟合 调用函数 polyfit 格式: p = polyfit(x,y,n),p,s = polyfit(x,y,n),p,s,mu = polyfit(x,y,n) 举例编程如下: p=1 6 12 8 7 q=9 5 15 7 3 n=polyfit(x,y,3) 运行结果: n = 武汉理工大学matlab课程设计说明书 12 13.7760 0 0 0 2.3.8 插值运算 调用函数 interp1 格式: yi = interp1(x,y,xi),yi = interp1(y,xi),yi = interp1(x,y,xi,method), yi = interp1(x,y,xi,method,extrap),yi = interp1(x,y,xi,method,extrapval) pp = interp1(x,y,method,pp) 举例编程如下: x=1 3 5 7 9 y=2 4 6 8 10 p=interp1(x,y,5.5) %用线性差插值求 5.5 时,y 的值赋给 p 运行结果: p = 6.5000 武汉理工大学matlab课程设计说明书 13 3 基于 matlab 的信号调制与解调 3 3.1 常规双边带调制与解调及相干解调 3.1.1 常规双边带调制原理 幅度调制是用调制信号去控制高频正弦载波的幅度,使其按调制信号的规律变化的过程。常规 双边带调制信号简称调幅(am) 。 若假设滤波器为全通网络(1) ,调制信号叠加直流后再与载波相乘,则输出的信 号就是常规双边带调幅(am), am 调制器模型下图所示。 图 3.1 幅度调制器的一般模型 am 信号的时域和频域表达式为: s 式中为外加的直流分量, 可以是确知信号也可以是随机信号,但通常认为其平均值为 0,即。 am 信号的典型波形和频谱下图所示,图中假定调制信号的上限频率为。显然,调制信 号的带宽为。 图 3.2 am 信号的波形和频谱 (1) (2) 武汉理工大学matlab课程设计说明书 14 3.1.2 常规双边带的解调原理 调制过程的逆过程叫做解调。am 信号的解调是把接收到的已调信号还原为调制信号。 包络检波器输出的信号中,通常含有频率为的波纹,可由 lpf 滤除。 图 3.3 串联型包络检波器电路及其输出波形 由的波形可见,am 信号波形的包络与输入基带信号成正比,故可以用包络检波的方 法恢复原始调制信号。包络检波器一般由半波或全波整流器和低通滤波器组成如上图所示。 由图 3.3 可见,am 信号波形的包络与输入基带信号成正比,故用包络检波的方法很容易恢 复原始调制信号。 但为了保证包络检波时不发生失真,必须满足ao|m(t)|max,否则将出现过 调幅现象而带来失真。 包络检波属于非相干解调,其特点是:解调效率高,解调器输出近似为相干解调的 2 倍;解调 电路简单,特别是接收端不需要与发送端同频同相位的载波信号,大大降低实现难度。故几乎所有 的调幅(am)式接收机都采用这种电路。 3.1.3 相干解调的原理 由 am 信号的频谱可知,如果将已调信号的频谱搬回到原点位置,即可得到原始的调制信号频 谱,从而恢复出原始信号。解调中的频谱搬移同样可用调制时的相乘运算来实现。相干解调的原理 框图如下图所示: 图 3.4 相干解调的模型框图 将已调信号乘上一个与调制器同频同相的载波,得 由上式可知,只要用一个低通滤波器,就可以将第 1 项与第 2 项分离,无失真的恢复出原始的 调制信号:m0(t)=ao+m(t)/2。 相干解调的关键是必须产生一个与调制器同频同相位的载波。 如果同频同相位的条件得不到满足,则会破坏原始信号的恢复。am 信号的频谱sam(t)是由载频分量 和上、下两个边带组成。上边带的频谱与原调制信号的频谱结构相同,下边带是上边带的镜像。显 然,无论是上边带还是下边带,都含有原调制信号的完整信息。故 am 信号是带有载波的双边带信 (3) 武汉理工大学matlab课程设计说明书 15 号,它的带宽为基带信号带宽的两倍,即 bam=2bm=2fh 式中,bm=fh为调制信号m(t)的带宽,fh为调制信号的最高频率。 综上所述,可以看出,采用常规双边带幅度调制传输信息的好处是解调电路简单,可采用包络 检波法。缺点是调制效率低,载波分量不携带信息,但却占据了大部分功率,白白浪费掉。如果抑 制载波分量的传送,则可演变出另一种调制方式,即抑制载波的双边带调幅。 (4) 武汉理工大学matlab课程设计说明书 16 3.2 抑制载波的双边带调幅与解调 3.2.1 双边带幅度调制的基本原理 在幅度调制的一般模型中,若假设滤波器为全通网络(1) ,调制信号中无直流分量, 则输出的已调信号就是无载波分量的双边带调制信号或称抑制载波双边带(dsb-sc)调制信号,简 称双边带(dsb)信号。 dsb 调制器模型下图所示。 图 3.5 dsb 调制器模型 可见 dsb 信号实质上就是基带信号与载波直接相乘,其时域和频域表示式分别为 3.2.2 dsb 信号的解调 dsb 信号只能采用相干解调,其模型与 am 信号相干解调时完全相同,如图 4 所示。此时,乘 法器输出 经低通滤波器滤除高次项,得 即无失真地恢复出原始电信号。 抑制载波的双边带幅度调制的好处是,节省了载波发射功率,调制效率高;调制电路简单,仅 用一个乘法器就可实现。缺点是占用频带宽度比较宽,为基带信号的 2 倍。 (6) (5) (7) (8) 武汉理工大学matlab课程设计说明书 17 3 3.3 单边带调制与解调 由于 dsb 信号的上、下两个边带是完全对称的,皆携带了调制信号的全部信息,因此,从信息 传输的角度来考虑,仅传输其中一个边带就够了。这就又演变出另一种新的调制方式单边带调 制(ssb) 。 3.3.1 ssb 信号的产生 产生 ssb 信号的方法很多,其中最基本的方法有滤波法和相移法。 (1)滤波法形成 ssb 信号 用滤波法实现单边带调制的原理如下图所示,图中的为单边带滤波器。产生 ssb 信号 最直观方法的是,将设计成具有理想高通特性或理想低通特性的单边带滤波 器,从而只让所需的一个边带通过,而滤除另一个边带。产生上边带信号时即为, 产生下边带信号时即为。 图 3.6 ssb 信号的滤波法产生 显然,ssb 信号的频谱可表示为 用滤波法形成 ssb 信号,原理框图简洁、直观,但存在的一个重要问题是单边带滤波器不易制 作。这是因为,理想特性的滤波器是不可能做到的,实际滤波器从通带到阻带总有一个过渡带。滤 波器的实现难度与过渡带相对于载频的归一化值有关,过渡带的归一化值愈小,分割上、下边带就 愈难实现。而一般调制信号都具有丰富的低频成分,经过调制后得到的 dsb 信号的上、下边带之间 的间隔很窄,要想通过一个边带而滤除另一个,要求单边带滤波器在 附近具有陡峭的截止特性 即很小的过渡带,这就使得滤波器的设计与制作很困难,有时甚至难以实现。 (2) 用相移法形成 ssb 信号 可以证明,ssb 信号的时域表示式为 式中, “”对应上边带信号, “+”对应下边带信号;表示把的所有频率成分均相移 ,称是的希尔伯特变换。 根据上式可得到用相移法形成 ssb 信号的一般模型,如下图所示。图中,为希尔伯特滤 波器,它实质上是一个宽带相移网络,对中的任意频率分量均相移。 (9) (10 ) 武汉理工大学matlab课程设计说明书 18 图 3.7 相移法形成 ssb 信号的模型 3.3.2 ssb 信号的解调 ssb 信号调制原理图如下,可以看出,ssb 信号的包络不再与调制信号成正比,因此 ssb 信号的解调也不能采用简单的包络检波,需采用相干解调法解调。 图 3.8 ssb 信号的相干解调 此时,乘法器输出 经低通滤波后的解调输出为 因而可得到无失真的调制信号。 综上所述,单边带幅度调制的好处是,节省了载波发射功率,调制效率高;频带宽度只有双边 带的一半,频带利用率提高一倍。缺点是单边带滤波器实现难度大。 (11 ) (12 ) 武汉理工大学matlab课程设计说明书 19 3.4 基于 matlab 的信号调制与解调 3.4.1 消息信号与已调信号的频谱 (1)消息信号及其频谱 在对信号进行调制以前,先对信号进行变换,对于这样的分段函数可以用阶跃函数表示,即原 信号可以表示为 m(t)= -3 * +2* (t0=0.15s))(t)3/0(tt )t0/3*2-t ( 其中阶跃函数的 matlab 表示为: function f=heaviside(t) f=(t0); 则根据 matlab 的相关知识可以设计出有关消息信号的程序: t0 = 0.15; %信号持续时间 ts = 0.0001; %信号采样间隔 fc = 250; %载波信号 t = -1:0.0001:1; %时间矢量 f=-500:499/1000*fc; mt=heaviside(t)-3*heaviside(t-t0/3)+2*heaviside(t-2*t0/3);%消息信号 c=cos(2*pi*fc*t); %载波信号 figure(1) %显示图片 subplot(4,2,1) %消息信号时域显示 plot(t,mt) axis(-0.05 0.15 -3 3) %横纵坐标标度 title(原始信号);grid %信号频谱 x1=fft(mt); subplot(4,2,2); plot(f,abs(x1(1:1000); axis(-0.1 0.1 -100 1500); title(原始信号的频谱); 运行结果如下: 图 3.9 消息信号波形 武汉理工大学matlab课程设计说明书 20 图 3.10 消息信号频谱 (2)双边幅度调制(dsb-am)已调信号及其频谱 根据调制原理有: ut = mt.*cos(2*pi*250*t); %频率为 250hz 的载波调制 subplot(4,2,3); plot(t,ut); axis(-0.05 0.15 -3 3); title(已调信号);grid %已调信号的频谱 x2=fft(ut); subplot(4,2,4); plot(f,abs(x2(1:1000); axis(-0.1 0.1 -100 1200); title(已调信号的频谱); grid 运行结果如下: 图 3.11 dsb-am 已调信号 图 3.12 dsb-am 已调信号频谱 武汉理工大学matlab课程设计说明书 21 3.4.2 dsb-am 调制信号的相干解调 结合相干解调原理可以写出如下程序: %同步解调 ft = ut.*cos(2*pi*250*t); h=heaviside(f+fc)-heaviside(f-fc); %低通滤波器(截止频率为 fc) k=ft.*h; subplot(4,2,5); plot(t,k); axis(-0.2 0.2 -3 3); title(解调信号);grid %解调信号的频谱 x3=fft(k); subplot(4,2,6); plot(f,abs(x3(1:1000); axis(-0.05 0.05 -100 1200); title(解调信号的频谱);grid 运行结果如下: 图 3.13 dsb-am 的相干解调信号 图 3.14 dsb-am 的相干解调信号频谱 3.4.3 单边带幅度调制(ssb-am) 根据单边带幅度调制的原理可以运用如下的程序进行信号的调制: t0 = 0.15; %信号持续时间 ts = 0.0001; %信号采样间隔 fc = 250; %载波信号 fs = 1/ts; %采样频率 t = -0.1:ts:t0; %时间矢量 武汉理工大学matlab课程设计说明书 22 %消息信号 mt=heaviside(t)-3*heaviside(t-t0/3)+2*heaviside(t-2*t0/3); figure %消息信号 subplot(3,2,1 2); %消息信号时域显示 plot(t,mt) title(原始信号) axis(-0.05 0.15 -3 3) n = length(mt); %采样点数 c = cos(2*pi*fc*t); s = sin(2*pi*fc*t); mth = hilbert(mt,n); %mt 的希尔伯特变换 snu = (1/2)*mt.*c -(1/2)*mth.*s; %上边带信号 subplot(3,2,3); plot(real(snu),axis(9500 11500 -4 4),title(usb 信号); snl = (1/2)*mt.*c + (1/2)*mth.*s; %下边带信号 subplot(3,2,4); plot(real(snl),axis(9500 11500 -4 4),title(lsb 信号); k1=fft(snu); subplot(3,2,5); plot(f,abs(k1(1:1000); axis(-0.2 0.2 -100 1200); title(消息信号的频谱);grid k2=fft(snl); subplot(3,2,6); plot(f,abs(k2(1:1000); axis(-0.2 0.2 -100 1200); title(消息信号的频谱);grid 运行结果如下: 图

温馨提示

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

评论

0/150

提交评论