1、 目录摘要1Abstract 21 绪论3 1.1 MTLAB软件简介.3 1.2 MATLAB语言的特点和开发环境.32 高等应用数学问题的MATLAB求解.4 2.1 高等数学常见的函数基本计算4 2.2 线性代数常见的矩阵基本计算6 2.3 高等数学常见的多项式基本计算103 基于MATLAB的信号调制与解调13 3.1 常规双边带调制与解调及相干解调13 3.2 抑制载波的双边带调幅与解调16 3.3 单边带调制与解调17 3.4 基于MATLAB的信号调制与解调194 小结与体会255 主要参考文献26武汉理工大学MATLAB课程设计说明书摘 要MATLAB 的名称源自 Matrix
2、 Laboratory ,它是一种科学计算软件,专门以矩阵的形式处理数据,其含义是矩阵实验室(MATRIX LABORATORY),进行数值计算的基本单位是复数数组(或称阵列),由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便。MATLAB已经发展成为多学科、多种工作平台的功能强大的大型软件。MATLAB 将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作。Matlab是一个交互式的系统,它的基本运算单元
3、是不需指定维数的矩阵,按照IEEE的数值计算标准(能正确处理无穷数Inf(Infinity)、无定义数NaN(not-a-number)及其运算)进行计算系统提供了大量的矩阵及其它运算函数,可以方便地进行一些很复杂的计算,而且运算效率极高Matlab命令和数学中的符号、公式非常接近,可读性强,容易掌握,还可利用它所提供的编程语言进行编程完成特定的工作。关键字: MATLAB 矩阵 编程 调制与解调 AbstractThe name of the MATLAB from Matrix Laboratory, it is a kind of scientific calculation softw
4、are, 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 spe
5、cial 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
6、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
7、 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
8、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
9、 certain work.Keyword: MATLAB matrix programming modulation and demodulation1 绪论1.1 MATLAB软件简介MATLAB是美国MathWorks公司生产的一个为科学和工程计算专门设计的交互式大型软件,是一个可以完成各种精确计算和数据处理的、可视化的、强大的计算工具。它集图示和精确计算于一身,在应用数学、物理、化工、机电工程、医药、金融和其他需要进行复杂数值计算的领域得到了广泛应用。MATLAB拥有了更丰富的数据类型和结构,更好的面向对象的快速精美的图形界面,更多的数学和数据分析资源,MATLAB工具也达到了25个,
10、几乎涵盖了整个科学技术运算领域。在大部分大学里,应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教材都把MATLAB作为必不可少的内容。1.2 MATLAB的语言特点和开发环境MATLAB作为一种科学计算的高级语言之所以受欢迎,就是因为它有丰富的函数资源和工具箱资源,编程人员可以根据自己的需要选择函数,而无需再去编写大量繁琐的程序代码,从而减轻了编程人员的工作负担。被称为第四代编程语言的MATLAB最大的特点就是简洁开放的程序代码和直观实用的开发环境。具体地说MATLAB主要有以下特点:(1)库函数资源丰富;(2)语言精炼,代码灵活;(3)运算符多
11、而灵活;(4)面向对象,控制功能优良;(5)程序设计自由;(6)图形功能强大;(7)程序的兼容性好;(8)源代码开放;(9)具有丰富的工具箱。这些特点使得MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。2高等应用数学问题的MATLAB求解2.1 高等数学常见的函数基本计算2.1.1极限的计算极限问题的解析解可分为单变量函数的极限和多变量函数的极限。极限问题在MATLAB符号运算工具箱中可以使用limi
12、t()函数直接求出,该函数的调用格式为: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.57722.1.2 微分的计算如果函数和自变量都已知,且均为符号变量,则可以用diff()函数解出给定函数的各阶导数。diff()函数的调
13、用格式:Y = diff(X),Y = diff(X,n),Y = diff(X,n,dim)举例编程如下:syms xf=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 xy=3*x*x;g=int(y)运行结果:g = x32.1.4 级数的计算符号运算工具箱中提供的symsum()可以用于已知通项的有穷或无穷级数的和。该函数的调用格式为: r = symsum(s),r = symsum(s,v),r =
14、symsum(s,a,b),r = symsum(s,v,a,b)举例编程如下:syms x k ns1=1/(k+1);s2=symsum(s1,1,9)运行结果:s2 = 4861/25202.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 =
15、 -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/
16、(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 yf=dsolve(D2y=2+Dy,y(0)=1,Dy(0)=0)solve(f)运行结果:f = 2*exp(t)-2*t-12.2 线性代数常见的矩阵基本
17、计算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 21C,I=max(A(:)m,n=ind2sub(size(A),I) 运行结果:C =21I = 9m = 3n = 32.2.2 矩阵的最小值调用函数find格式: indices = find(X),indices = find(X, k),indices = find(X, k, first),in
18、dices = find(X, k, last)举例编程如下:A=3 6 7;12 4 16;8 2 9m=min(A)mm=min(m)row,column=find(A=mm) 运行结果:m = 3 2 7mm = 2row = 3colum = 22.2.3 矩阵的均值调用函数mean格式: M = mean(A),M = mean(A,dim)举例编程如下:a=6 17 5;12 9 14;3 6 15;mean(a)运行结果:ans = 7.0000 10.6667 11.33332.2.4 矩阵的方差调用函数var格式:V = var(X),V = var(X,1),V = var
19、(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.3333C = 252.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 152.2.6 矩阵的逆调用函数inv格式:Y = inv(X)举例编程如下:A=6 17 5; 12 9 14;3 6 15;inv(A)运行结果:ans = -0.0281
20、0.1240 -0.1063 0.0760 -0.0413 0.0132 -0.0248 -0.0083 0.08262.2.7 矩阵的行列式调用函数det格式:d = det(X)举例编程如下:a=1 2 3;2 1 3;3 1 2det(a)运行结果:ans = 62.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 =
21、 1, -1, 1 2, 0, -1 1, 1, 1D = 4, 0, 0 0, 2, 0 0, 0, 1 2.2.9 矩阵的相乘举例编程如下:A=1 3 5;2 4 6;7 8 9B=1 2 3;4 5 6;7 8 9A*B运行结果:ans = 48 57 66 60 72 84 102 126 1502.2.10 矩阵右除和左除矩阵右除举例编程如下:(列相等)A=1 2 3;4 5 6;7 8 9B=10 20 30;40 50 60;70 80 90A/B%右除运行结果:Y = 3.6667 -0.6667 -6.6667 3.6667 -3.5000 2.0000矩阵左除举例编程如下:
22、A=1 2 3;4 5 6;D=1 4 7;8 5 2;3 6 0;X=DA(行相等)运行结果:X = -0.0370 0 0.5185 1.0000 -0.1481 02.2.11 矩阵的幂运算举例编程如下:A=1 2 3;4 5 6; 7 8 9B=4AB运行结果:ans = 7560 9288 11016 17118 21033 24948 26676 32778 388802.3 高等数学常见的多项式的基本运算2.3.1 多项式加减举例编程如下:p=1 6 12 8 7q=9 5 15 7 3m=p+qn=p-q运行结果:m = 10 11 27 15 10n = -8 1 -3 1
23、42.3.2 多项式乘除运算举例编程如下:p=1 6 12 8 7q=9 5 15 7 3M=conv(p,q)s,r=deconv(p,q)运行结果:M = 9 59 153 229 328 257 197 73 21s = 0.1111r = 0 5.4444 10.3333 7.2222 6.66672.3.3 多项式的求导调用函数polyder格式:k = polyder(p),k = polyder(a,b),q,d = polyder(b,a)举例编程如下:p=1 6 12 8 7P=polyder(p)运行结果:p = 4 18 24 82.3.4 多项式的求根调用函数roots
24、格式:r = roots(c)举例编程如下:p=1 6 12 8 7x=roots(p)运行结果:x = -2.7975 + 1.0613i -2.7975 - 1.0613i -0.2025 + 0.8608i -0.2025 - 0.8608i2.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 7x=5y=polyval(p,x)运行结果:y = 17222.3.6 多项式的
25、部分分式展开调用函数residue格式:r,p,k = residue(b,a),b,a = residue(r,p,k)举例编程如下:num=1 11 39 52 26den=1 10 35 50 24r,p,k=residue(num,den)运行结果:r = 1.0000 2.5000 -3.0000 0.5000p = -4.0000 -3.0000 -2.0000 -1.0000k = 1则得:2.3.7 多项式的拟合调用函数polyfit格式: p = polyfit(x,y,n),p,S = polyfit(x,y,n),p,S,mu = polyfit(x,y,n)举例编程如下
26、:p=1 6 12 8 7q=9 5 15 7 3n=polyfit(x,y,3)运行结果:n = 13.7760 0 0 02.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 9y=2 4 6 8 10p=interp1(x,y,5
27、.5) %用线性差插值求5.5时,y的值赋给p运行结果:p = 6.5000 3 基于MATLAB的信号调制与解调3.1常规双边带调制与解调及相干解调3.1.1常规双边带调制原理幅度调制是用调制信号去控制高频正弦载波的幅度,使其按调制信号的规律变化的过程。常规双边带调制信号简称调幅(AM)。若假设滤波器为全通网络(1),调制信号叠加直流后再与载波相乘,则输出的信号就是常规双边带调幅(AM), AM调制器模型下图所示。图3.1 幅度调制器的一般模型AM信号的时域和频域表达式为:(1) s (2)式中为外加的直流分量, 可以是确知信号也可以是随机信号,但通常认为其平均值为0,即。AM信号的典型波形
28、和频谱下图所示,图中假定调制信号的上限频率为。显然,调制信号的带宽为。图3.2 AM信号的波形和频谱3.1.2 常规双边带的解调原理调制过程的逆过程叫做解调。AM信号的解调是把接收到的已调信号还原为调制信号。包络检波器输出的信号中,通常含有频率为的波纹,可由LPF滤除。图3.3 串联型包络检波器电路及其输出波形由的波形可见,AM信号波形的包络与输入基带信号成正比,故可以用包络检波的方法恢复原始调制信号。包络检波器一般由半波或全波整流器和低通滤波器组成如上图所示。由图3.3可见,AM信号波形的包络与输入基带信号成正比,故用包络检波的方法很容易恢复原始调制信号。 但为了保证包络检波时不发生失真,必
29、须满足Ao|m(t)|max,否则将出现过调幅现象而带来失真。包络检波属于非相干解调,其特点是:解调效率高,解调器输出近似为相干解调的2倍;解调电路简单,特别是接收端不需要与发送端同频同相位的载波信号,大大降低实现难度。故几乎所有的调幅(AM)式接收机都采用这种电路。3.1.3相干解调的原理由AM信号的频谱可知,如果将已调信号的频谱搬回到原点位置,即可得到原始的调制信号频谱,从而恢复出原始信号。解调中的频谱搬移同样可用调制时的相乘运算来实现。相干解调的原理框图如下图所示:图3.4 相干解调的模型框图将已调信号乘上一个与调制器同频同相的载波,得 (3)由上式可知,只要用一个低通滤波器,就可以将第
30、1项与第2项分离,无失真的恢复出原始的调制信号:m0(t)=Ao+m(t)/2。 相干解调的关键是必须产生一个与调制器同频同相位的载波。如果同频同相位的条件得不到满足,则会破坏原始信号的恢复。AM信号的频谱SAM(t)是由载频分量和上、下两个边带组成。上边带的频谱与原调制信号的频谱结构相同,下边带是上边带的镜像。显然,无论是上边带还是下边带,都含有原调制信号的完整信息。故AM信号是带有载波的双边带信号,它的带宽为基带信号带宽的两倍,即(4)BAM=2Bm=2fH式中,Bm=fH为调制信号m(t)的带宽,fH为调制信号的最高频率。综上所述,可以看出,采用常规双边带幅度调制传输信息的好处是解调电路
31、简单,可采用包络检波法。缺点是调制效率低,载波分量不携带信息,但却占据了大部分功率,白白浪费掉。如果抑制载波分量的传送,则可演变出另一种调制方式,即抑制载波的双边带调幅。3.2 抑制载波的双边带调幅与解调3.2.1 双边带幅度调制的基本原理在幅度调制的一般模型中,若假设滤波器为全通网络(1),调制信号中无直流分量,则输出的已调信号就是无载波分量的双边带调制信号或称抑制载波双边带(DSB-SC)调制信号,简称双边带(DSB)信号。DSB调制器模型下图所示。图3.5 DSB调制器模型可见DSB信号实质上就是基带信号与载波直接相乘,其时域和频域表示式分别为(5)(6)3.2.2 DSB信号的解调DS
32、B信号只能采用相干解调,其模型与AM信号相干解调时完全相同,如图4所示。此时,乘法器输出(7)经低通滤波器滤除高次项,得(8)即无失真地恢复出原始电信号。抑制载波的双边带幅度调制的好处是,节省了载波发射功率,调制效率高;调制电路简单,仅用一个乘法器就可实现。缺点是占用频带宽度比较宽,为基带信号的2倍。3.3 单边带调制与解调由于DSB信号的上、下两个边带是完全对称的,皆携带了调制信号的全部信息,因此,从信息传输的角度来考虑,仅传输其中一个边带就够了。这就又演变出另一种新的调制方式单边带调制(SSB)。3.3.1 SSB信号的产生产生SSB信号的方法很多,其中最基本的方法有滤波法和相移法。 (1
33、)滤波法形成SSB信号用滤波法实现单边带调制的原理如下图所示,图中的为单边带滤波器。产生SSB信号最直观方法的是,将设计成具有理想高通特性或理想低通特性的单边带滤波器,从而只让所需的一个边带通过,而滤除另一个边带。产生上边带信号时即为,产生下边带信号时即为。图 3.6 SSB信号的滤波法产生显然,SSB信号的频谱可表示为(9)用滤波法形成SSB信号,原理框图简洁、直观,但存在的一个重要问题是单边带滤波器不易制作。这是因为,理想特性的滤波器是不可能做到的,实际滤波器从通带到阻带总有一个过渡带。滤波器的实现难度与过渡带相对于载频的归一化值有关,过渡带的归一化值愈小,分割上、下边带就愈难实现。而一般
34、调制信号都具有丰富的低频成分,经过调制后得到的DSB信号的上、下边带之间的间隔很窄,要想通过一个边带而滤除另一个,要求单边带滤波器在附近具有陡峭的截止特性即很小的过渡带,这就使得滤波器的设计与制作很困难,有时甚至难以实现。(2) 用相移法形成SSB信号可以证明,SSB信号的时域表示式为(10)式中,“”对应上边带信号,“+”对应下边带信号;表示把的所有频率成分均相移,称是的希尔伯特变换。根据上式可得到用相移法形成SSB信号的一般模型,如下图所示。图中,为希尔伯特滤波器,它实质上是一个宽带相移网络,对中的任意频率分量均相移。图 3.7 相移法形成SSB信号的模型3.3.2 SSB信号的解调SSB
35、信号调制原理图如下,可以看出,SSB信号的包络不再与调制信号成正比,因此SSB信号的解调也不能采用简单的包络检波,需采用相干解调法解调。图3.8 SSB信号的相干解调此时,乘法器输出(11)经低通滤波后的解调输出为(12)因而可得到无失真的调制信号。综上所述,单边带幅度调制的好处是,节省了载波发射功率,调制效率高;频带宽度只有双边带的一半,频带利用率提高一倍。缺点是单边带滤波器实现难度大。3.4 基于MATLAB的信号调制与解调3.4.1消息信号与已调信号的频谱(1)消息信号及其频谱在对信号进行调制以前,先对信号进行变换,对于这样的分段函数可以用阶跃函数表示,即原信号可以表示为m(t)= -3
36、 * +2* (t0=0.15s)其中阶跃函数的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
37、,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 消息信号波形图3.10 消息信号频谱(2)双边幅度调制(DSB-AM)已调信号及其频谱根据调制原理有: ut = mt.*cos(2*pi*250*t); %频率为250Hz的载波调制subplot(4,2,3);plot(t,ut);axis(-0
38、.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已调信号频谱3.4.2 DSB-AM调制信号的相干解调结合相干解调原理可以写出如下程序:%同步解调ft = ut.*cos(2*pi*250*t); h=Heaviside(f+fc)-Heaviside(f-fc); %低通滤波器(截止频率为fc)k=ft.*h
39、;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;
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922