MATLAB实现通信系统仿真实例

合集下载

matlab 通信仿真案例

matlab 通信仿真案例

matlab 通信仿真案例
在MATLAB中,通信仿真是一个常见的应用领域,可以用于模拟
和分析数字通信系统的性能。

下面我将从多个角度介绍几个常见的
通信仿真案例。

1. OFDM系统仿真,OFDM(正交频分复用)是一种常见的多载
波调制技术,用于高速数据传输。

你可以使用MATLAB来建立一个基
本的OFDM系统仿真模型,包括信道估计、均衡和解调等模块。

通过
仿真可以分析系统在不同信噪比下的误码率性能,优化系统参数以
及算法设计。

2. 无线通信系统仿真,你可以使用MATLAB建立一个简单的无
线通信系统仿真模型,包括传输信道建模、调制解调、信道编码、
多天线技术等。

通过仿真可以评估系统的覆盖范围、传输速率、抗
干扰能力等性能指标。

3. MIMO系统仿真,MIMO(多输入多输出)技术在无线通信中
得到了广泛应用。

你可以使用MATLAB建立一个MIMO系统仿真模型,包括空间多路复用、信道估计、预编码等。

通过仿真可以分析系统
的信道容量、波束赋形技术对系统性能的影响等。

4. LTE系统仿真,LTE(长期演进)是目前移动通信领域的主流技术之一。

你可以使用MATLAB建立一个LTE系统仿真模型,包括物理层信号处理、上下行链路传输、信道编码解码等。

通过仿真可以评估系统的覆盖范围、传输速率、干扰抑制能力等性能指标。

以上是一些常见的通信仿真案例,通过MATLAB你可以方便地建立仿真模型,分析系统性能,并优化系统设计。

希望这些案例能够帮助到你。

基于MATLAB的MIMO-OFDM通信系统的仿真

基于MATLAB的MIMO-OFDM通信系统的仿真

基于MATLAB的MIMO-OFDM通信系统的仿真0 引言5G技术的逐步普及,使得我们对海量数据的存储交换,以及数据传输速率、质量提出了更高的要求。

信号的准确传播显得越发重要,随之而来的是对信道模型稳定性、抗噪声性能以及低误码率的要求。

本次研究通过构建结合空间分集和空间复用技术的MIMO信道,引入OFDM 技术搭建MIMO-OFDM 系统,在添加保护间隔的基础上探究其在降低误码率以及稳定性等方面的优异性能。

1 概述正交频分复用(Orthogonal Frequency Division Multiplexing,OFDM)技术通过将信道分成数个互相正交的子信道,再将高速传输的数据信号转换成并行的低速子数据流进行传输。

该技术充分利用信道的宽度从而大幅度提升频谱效率达到节省频谱资源的目的。

作为多载波调制技术之一的OFDM 技术目前已经在4G 中得到了广泛的应用,5G 技术作为新一代的无线通信技术,对其提出了更高的信道分布和抗干扰要求。

多输入多输出(Multi Input Multi Output,MIMO)技术通过在发射端口的发射机和接收端口的接收机处设计不同数量的天线在不增加频谱资源的基础上通过并行传输提升信道容量和传输空间。

常见的单天线发射和接收信号传输系统容量小、效率低且若出现任意码间干扰,整条链路都会被舍弃。

为了改善和提高系统性能,有学者提出了天线分集以及大规模集成天线的想法。

IEEE 806 16 系列是以MIMO-OFDM 为核心,其目前在欧洲的数字音频广播,北美洲的高速无线局域网系统等快速通信中得到了广泛应用。

多媒体和数据是现代通信的主要业务,所以快速化、智能化、准确化是市场向我们提出的高要求。

随着第五代移动通信5G 技术的快速发展,MIM-OFDM 技术已经开始得到更广泛的应用。

本次研究的MIMO-OFDM 系统模型是5G的关键技术,所以对其深入分析和学习,对于当下无线接入技术的发展有着重要的意义。

matlab通信仿真实例

matlab通信仿真实例

matlab通信仿真实例通信仿真在工程领域中具有广泛的应用,MATLAB作为一种强大的数学建模工具,能够帮助工程师进行通信系统的仿真设计和分析。

在本文中,我们将通过一个具体的MATLAB通信仿真实例来展示如何使用MATLAB进行通信系统的建模和仿真。

首先,我们需要定义一个简单的通信系统,假设我们要设计一个基于QPSK调制的数字通信系统。

我们可以按照以下步骤进行仿真实例的设计:1. 生成随机比特序列:首先我们需要生成一组随机的比特序列作为发送端的输入。

我们可以使用MATLAB的randi函数来生成随机的二进制比特序列。

2. QPSK调制:接下来,我们需要将生成的二进制比特序列进行QPSK调制,将比特序列映射到QPSK星座图上的相应点。

我们可以使用MATLAB的qammod 函数来进行QPSK调制。

3. 添加高斯噪声:在通信信道中,往往会存在各种噪声的干扰,为了模拟通信信道的实际情况,我们需要在信号上添加高斯噪声。

我们可以使用MATLAB的awgn函数来添加高斯噪声。

4. QPSK解调:接收端接收到信号后,需要进行QPSK解调,将接收到的信号映射回比特序列。

我们可以使用MATLAB的qamdemod函数来进行QPSK解调。

5. 比特误码率计算:最后,我们可以计算仿真的比特误码率(BER),用来评估通信系统的性能。

我们可以通过比较发送端和接收端的比特序列来计算比特误码率。

通过以上步骤,我们就可以完成一个基于QPSK调制的数字通信系统的MATLAB仿真实例。

在实际的通信系统设计中,我们可以根据具体的需求和系统参数进行更加复杂的仿真设计,例如考虑信道编码、信道估计等因素,以更加准确地评估通信系统的性能。

MATLAB的强大数学建模和仿真功能,为工程师提供了一个非常有用的工具,可以帮助他们设计和分析各种通信系统。

通过不断的实践和学习,工程师可以更加熟练地运用MATLAB进行通信系统的仿真设计,为通信系统的性能优化提供有力的支持。

MATLAB实现通信系统仿真实例

MATLAB实现通信系统仿真实例

补充内容:模拟调制系统的MATLAB 仿真1。

抽样定理为了用实验的手段对连续信号分析,需要先对信号进行抽样(时间上的离散化),把连续数据转变为离散数据分析。

抽样(时间离散化)是模拟信号数字化的第一步.Nyquist 抽样定律:要无失真地恢复出抽样前的信号,要求抽样频率要大于等于两倍基带信号带宽.抽样定理建立了模拟信号和离散信号之间的关系,在Matlab 中对模拟信号的实验仿真都是通过先抽样,转变成离散信号,然后用该离散信号近似替代原来的模拟信号进行分析的。

【例1】用图形表示DSB 调制波形)4cos()2cos(t t y ππ= 及其包络线。

clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz )fs=100*fh ;%%一般选取的抽样频率要远大于基带信号频率,即抽样时间间隔要尽可能短. ts=1/fs ;%%根据抽样时间间隔进行抽样,并计算出信号和包络t=(0:ts:pi/2)';%抽样时间间隔要足够小,要满足抽样定理.envelop=cos (2*pi *t);%%DSB 信号包络y=cos(2*pi *t).*cos(4*pi *t );%已调信号%画出已调信号包络线plot (t ,envelop ,'r :','LineWidth',3);hold onplot(t ,-envelop,'r:’,’LineWidth',3);%画出已调信号波形plot(t ,y,’b','LineWidth ’,3);axis([0,pi/2,-1,1])%hold off%xlabel ('t ’);%写出图例【例2】用图形表示DSB 调制波形)6cos()2cos(t t y ππ= 及其包络线。

clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz )fs=100*fh;%抽样时间间隔要足够小,要满足抽样定理。

基于Matlab 下的通信系统仿真

基于Matlab 下的通信系统仿真

IX
.-.. .. ..- /--.. ./.... .
2.程序或仿真模型 2.1 设计思想(流程图)
上图中,假如连续时间信号是一个带限信号,其频率是 - m ~ m ,抽样脉冲为理想单位 冲激串,其数学表达式为、
由图可见,模拟信号 X(t)经抽样后,得到已知抽样信号 Xs(t);
X
.-.. .. ..- /--.. ./.... .
中包含的有效内容,也即信息(Information) 。消息是具体的、表面的,而信息是抽象的、 本质的,且消息中包含的信息的多少可以用信息量来度量。 通信系统就是传递信息所需
要的一切技术设备和传输媒质的总和,包括信息源、发送设备、信道、接收设备和信宿(受 信者) ,它的一般模型如图 3-1。
1 模拟通信系统模型和数字通信系统模型 1.1 模拟通信系统模型 在模拟通信系统中,信源(信息源,也称发终端)的作用是把
I
.-.. .. ..- /--.. ./.... .
上述的实际抽样过程中,很容易用简单的数学公式来描述,设连续时间信号用 X(t)表示,抽 样周期为 Ts ,抽样频率为 Ws ,则以抽样信号的数学表达式为
I
.-.. .. ..- /--.. ./.... .
Matlab 原理
设计项目
基于 Matlab 下的通信系统仿真(信号的抽样) 基于 Simulink 下的通信系统仿真(信号的抽样)
姓名:许美茹 学号:1467119128 学院:信工院通信一班
II
.-.. .. ..- /--.. ./.... .
号称为模拟信号。在用户线上传输模拟信号的通信方式称为“模拟通信”。 数字信号与模拟信号不同,它是一种离散的、脉冲有无的组合形式,是负载数字信息的信 号。电报信号就属于数字信号。现在最常见的数字信号是幅度取值只有两种(用 0 和 1 代表) 的波形,称为“二进制信号”。“数字通信”是指用数字信号作为载体来传输信息,或者用数字 信号对载波进行数字调制后再传输的通信方式。 数字通信与模拟通信相比具有明显的优 点:首先是抗干扰能力强。数字通信中的信息是包含在脉冲的有无之中的,只要噪声绝对 值不超过某一门限值,接收端便可判别脉冲的有无,以保证通信的可靠性。其次是远距离 传输仍能保证质量。因为数字通信是采用再生中继方式,能够消除噪音,再生的数字信号 和原来的数字信号一样,可继续传输下去,这样通信质量便不受距离的影响,可高质量地 进行远距离通信。此外,它还便于采用大规模集成电路,便于实现加密处理,便于实现通 信网的计算机管理等优点。 实现数字通信,必须使发送端发出的模拟信号变为数字信号, 这个过程称为“模数变换”。模拟信号数字化最基本的方法有三个过程,第一步是“抽样”,就 是对连续的模拟信号进行离散化处理,通常是以相等的时间间隔来抽取模拟信号的样值。 第二步是“量化”,将模拟信号样值变换到最接近的数字值。因抽样后的样值在时间上虽是离 散的,但在幅度上仍是连续的,量化过程就是把幅度上连续的抽样也变为离散的。第三步 是“编码”,就是把量化后的样值信号用一组二进制数字代码来表示,最终完成模拟信号的数 字化。数字信号送入数字网进行传输。接收端则是一个还原过程,把收到的数字信号变为 模拟信号,即“数据摸变换”,从而再现声音或图像。 如果发送端发出的信号本来就是数字 信号,则用不着进行模数变换过程,数字信号可直接进入数字网进行传输。 区别在于调

matlab通信仿真实例

matlab通信仿真实例

matlab通信仿真实例在Matlab中进行通信系统的仿真,可以涉及到多种不同的通信技术和协议,包括调制解调、信道编码、多址接入等。

以下以OFDM系统为例,介绍Matlab 中通信仿真的实例。

OFDM(正交频分复用)是一种常用于现代通信系统中的技术,它将高速数据流分割成多个较低速的子流,并将每个子流分配到不同的子载波上。

优点是能够抵抗多径效应和频率选择性衰落,并提供高数据速率。

首先,我们需要创建一个包含OFDM系统参数的结构体。

例如:ofdmParam.M = 16; % 子载波数量ofdmParam.K = 4; % 用于混合多路复用的用户数量ofdmParam.N = ofdmParam.M * ofdmParam.K; % 总子载波数量ofdmParam.CP = 16; % 循环前缀长度接下来,我们可以生成用于OFDM仿真的数据流。

例如,我们可以使用随机整数生成器生成一系列整数,并将其转换为复数形式的调制符号:data = randi([0, ofdmParam.M-1], 1, ofdmParam.N);dataMod = qammod(data, ofdmParam.M);然后,我们可以创建一个包含OFDM信号的函数。

在OFDM系统中,生成的数据符号将分配到不同的子载波上,然后在时域中通过插入循环前缀进行叠加:function[ofdmSignal] = createOFDMSignal(dataMod, ofdmParam) ofdmSignal = [];for k = 0:ofdmParam.K-1% 提取相应的数据符号,并进行IFFTofdmData =ifft(dataMod(k*ofdmParam.M+1:(k+1)*ofdmParam.M));% 添加循环前缀ofdmDataWithCP = [ofdmData(end-ofdmParam.CP+1:end), ofdmData];% 将OFDM符号添加到OFDM信号中ofdmSignal = [ofdmSignal, ofdmDataWithCP];endend将OFDM信号传输到信道中,我们可以使用加性高斯白噪声(AWGN)信道模型来模拟实际通信环境:EbNo = 10; % 信噪比snr =10*log10(ofdmParam.N*ofdmParam.M/(ofdmParam.N*ofdmParam.M+1 )*(10^(EbNo/10)));ofdmSignalNoisy = awgn(ofdmSignal, snr, 'measured');最后,我们可以对接收到的OFDM信号进行解调和信号恢复。

MATLAB通信系统仿真实验报告

MATLAB通信系统仿真实验报告

MATLAB通信系统仿真实验报告(2014-2015 学年第2 学期)实验一、MATLAB的基本使用与数学运算目的:学习MATLAB的基本操作,实现简单的数学运算程序。

内容:1、要求在闭区间[0,2π]上产生具有10个等间距采样点的一维数组。

试用两种不同的指令实现。

2、用M文件建立大矩阵x:[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.91.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.92.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.93.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9]3、已知A=[5,6;7,8],B=[9,10;11,12],用MATLAB分别计算A+B、A*B、A.B、A^3、A.^3、A/B、A\B。

4、任意建立矩阵A,然后找出在[10,20]区间的元素位置。

程序代码及运行结果:1.(1)程序代码:方法1: a = 0:2*pi/10:2*pi方法2: a1 = inspace(0,2*pi,10)(2)运行结果如图1-1所示:图 1- 12.(1)程序代码:x=[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9;1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9;2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9;3.1,3.2,3.3,3.4,3.5,3.6,3.7,3.8,3.9]运行结果如图1-2所示:图 1-23.(1)程序代码:A=[5,6;7,8];B=[9,10;11,12];C=A+BD=A*BE=A.*BF=A^3G=A.^3H=A/BI=A\B(2)运行结果:C =14 1618 20D =111 122151 166E =45 6077 96F =881 10261197 1394G =125 216343 512H =3.0000 -2.00002.0000 -1.0000I =-3.0000 -4.00004.00005.00004.(1)程序代码:>>A=[4,15,-45,10,6;56,0,17,-45,0] B=find(A>=10&A<=20)(2)运行结果:A=4 15 -45 10 656 0 17 -45 0B=367总结:通过本次实验学习MATLAB的基本操作,实现简单的数学运算程序。

MATLAB通信系统仿真实验报告

MATLAB通信系统仿真实验报告

MATLAB通信系统仿真实验报告实验一、MATLAB的基本使用与数学运算目的:学习MATLAB的基本操作,实现简单的数学运算程序。

内容:1-1 要求在闭区间[0,2π]上产生具有10个等间距采样点的一维数组。

试用两种不同的指令实现。

运行代码:x=[0:2*pi/9:2*pi]运行结果:1-2 用M文件建立大矩阵xx=[ 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.91.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.92.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.93.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9]代码:x=[ 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.91.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.92.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.93.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9]m_mat运行结果:1-3已知A=[5,6;7,8],B=[9,10;11,12],试用MATLAB分别计算A+B,A*B,A.*B,A^3,A.^3,A/B,A\B.代码:A=[5 6;7 8] B=[9 10;11 12] x1=A+B X2=A-B X3=A*B X4=A.*B X5=A^3 X6=A.^3 X7=A/B X8=A\B运行结果:1-4任意建立矩阵A,然后找出在[10,20]区间的元素位置。

程序代码及运行结果:代码:A=[12 52 22 14 17;11 10 24 03 0;55 23 15 86 5 ] c=A>=10&A<=20运行结果:1-5 总结:实验过程中,因为对软件太过生疏遇到了些许困难,不过最后通过查书与同学交流都解决了。

例如第二题中,将文件保存在了D盘,而导致频频出错,最后发现必须保存在MATLAB文件之下才可以。

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

补充内容:模拟调制系统的MATLAB 仿真1.抽样定理为了用实验的手段对连续信号分析,需要先对信号进行抽样(时间上的离散化),把连续数据转变为离散数据分析。

抽样(时间离散化)是模拟信号数字化的第一步。

Nyquist 抽样定律:要无失真地恢复出抽样前的信号,要求抽样频率要大于等于两倍基带信号带宽。

抽样定理建立了模拟信号和离散信号之间的关系,在Matlab 中对模拟信号的实验仿真都是通过先抽样,转变成离散信号,然后用该离散信号近似替代原来的模拟信号进行分析的。

【例1】用图形表示DSB 调制波形)4cos()2cos(t t y ππ= 及其包络线。

clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=100*fh;%%一般选取的抽样频率要远大于基带信号频率,即抽样时间间隔要尽可能短。

ts=1/fs;%%根据抽样时间间隔进行抽样,并计算出信号和包络t=(0:ts:pi/2)';%抽样时间间隔要足够小,要满足抽样定理。

envelop=cos(2*pi*t);%%DSB 信号包络y=cos(2*pi*t).*cos(4*pi*t);%已调信号%画出已调信号包络线plot(t,envelop,'r:','LineWidth',3);hold onplot(t,-envelop,'r:','LineWidth',3);%画出已调信号波形plot(t,y,'b','LineWidth',3);axis([0,pi/2,-1,1])%hold off%xlabel('t');%写出图例【例2】用图形表示DSB 调制波形)6cos()2cos(t t y ππ= 及其包络线。

clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=100*fh;%抽样时间间隔要足够小,要满足抽样定理。

ts=1/fs;%%根据抽样时间间隔进行抽样t=(0:ts:pi/2);envelop=cos(2*pi*t);%%DSB 信号包络y=cos(2*pi*t).*cos(6*pi*t);%已调信号%画出已调信号包络线plot(t,envelop,'r:','LineWidth',3);hold onplot(t,-envelop,'r:','LineWidth',3);%画出已调信号波形plot(t,y,'b','LineWidth',3);axis([0,pi/2,-1,1]);注意观察:过零点“反相”现象。

2.信号的频谱和功率)()(f F t f −−−→←傅立叶变换【例3】画出DSB 信号)10cos()2cos(t t y ππ=的频谱并计算已调信号的功率。

clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=20*fh;ts=1/fs;%%根据抽样时间间隔进行抽样t=(0:ts:2*pi);%抽样时间间隔要足够小,要满足抽样定理。

y=cos(2*pi*t).*cos(10*pi*t);%已调信号%计算已调信号的傅立叶变化n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum=fft(y,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum)-1)]-fs/2;%FFT 频率向量%计算信号功率p=(norm(y)^2)/length(y)%画出已调信号频谱plot(f,fftshift(abs(spectrum)),'b','LineWidth',3);xlabel('frequency/Hz');title('Magnitude-spectrum of y');p =0.25203.AWGN 的产生及功率谱密度已知AWGN 信道中噪声的比特信噪比为10dB ,信号功率0.25W ,求噪声功率并画出噪声的时域波形。

clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=40*fh;ts=1/fs;t=(0:ts:2*pi);%根据抽样间隔生成抽样时间%生成AWGN 噪声序列snr=10;%信噪比10dBsnr_lin=10^(snr/10);%分贝信噪比转换为线性信噪比noise_power=p_DSB/snr_linnoise_std=sqrt(noise_power);noise=randn(1,length(y))*noise_std;plot(t,noise,'LineWidth',2)noise_power =4.DSB 调制解调【例4】画出基带信号)2cos()(t t m π=和DSB 信号)10cos()2cos(t t y ππ=的频谱并计算基带信号和已调信号的功功率。

clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=40*fh;ts=1/fs;%%根据抽样时间间隔进行抽样t=(0:ts:pi);%抽样时间间隔要足够小,要满足抽样定理。

m=cos(2*pi*t);%基带信号y=m.*cos(10*pi*t);%已调信号%计算基带信号的傅立叶变换n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_baseband=fft(m,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_baseband)-1)]-fs/2;%FFT频率向量%计算已调信号的频谱n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_DSB=fft(y,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_DSB)-1)]-fs/2;%FFT频率向量%计算信号功率p_baseband=(norm(m)^2)/length(m)p_DSB=(norm(y)^2)/length(y)%画出已调信号频谱subplot(2,1,1);plot(f,fftshift(abs(spectrum_baseband)),'b','LineWidth',3); xlabel('frequency/Hz');title('Magnitude-spectrum of baseband'); subplot(2,1,2);plot(f,fftshift(abs(spectrum_DSB)),'b','LineWidth',3);xlabel('frequency/Hz');title('Magnitude-spectrum of DSB');p_baseband =0.5145p_DSB =clfsnr=10;%信噪比10dBsnr_lin=10^(snr/10);%分贝信噪比转换为线性信噪比noise_power=p_DSB/snr_lin;noise_std=sqrt(noise_power);noise=randn(1,length(y))*noise_std;signal_in_channel=y+noise;subplot(2,1,1);plot(t,signal_in_channel,'b')xlabel('t');ylabel('DSB signal plus noise');axis([0,pi,-1,1]); subplot(2,1,2);plot(t,y,'r');xlabel('t');ylabel('DSB signal');5.AM 调制解调【例4】画出基带信号)2cos()(t t m π=和AM 信号)10cos()1)2(cos(t t y ππ+=以及载波)10cos()(t t s π=的频谱并计算基带信号和已调信号的功率。

并比较该AM 信号与例题3中的DSB 信号的时域波形。

clf%%计算抽样时间间隔fh=1;%%调制信号带宽(Hz)fs=20*fh;ts=1/fs;%%根据抽样时间间隔进行抽样t=(0:ts:pi);%抽样时间间隔要足够小,要满足抽样定理。

m=cos(2*pi*t);c=cos(10*pi*t);y=(1+m).*c;%已调信号%计算基带信号的傅立叶变换n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_baseband=fft(m,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_baseband)-1)]-fs/2;%FFT 频率向量%计算载波功率n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_carrier=fft(c,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_baseband)-1)]-fs/2;%FFT 频率向量%计算已调信号的频谱n=2^nextpow2(length(t));%傅立叶变换的序列长度spectrum_AM=fft(y,n);df=fs/n;%频率分辨率f=[0:df:df*(length(spectrum_AM)-1)]-fs/2;%FFT 频率向量%计算信号功率p_baseband=(norm(m)^2)/length(m)p_AM=(norm(y)^2)/length(y)p_carrier=(norm(c)^2)/length(c)%画出已调信号频谱subplot(3,1,1);plot(f,fftshift(abs(spectrum_baseband)),'b','LineWidth',3);xlabel('frequency/Hz');title('Magnitude-spectrum of baseband');subplot(3,1,2);plot(f,fftshift(abs(spectrum_AM)),'b','LineWidth',3);xlabel('frequency/Hz');title('Magnitude-spectrum of AM');subplot(3,1,3);plot(f,fftshift(abs(spectrum_carrier)),'b','LineWidth',3); xlabel('frequency/Hz');title('Magnitude-spectrum of carrier'); p_baseband =0.5168p_AM =0.8297p_carrier =clfDSB=m.*c;%DSB信号envelop_DSB=m;%包络envelop_AM=1+m;subplot(2,1,1);plot(t,DSB,'b')hold onplot(t,envelop_DSB,'r:');plot(t,-envelop_DSB,'r:');hold offxlabel('t');ylabel('DSB signal');subplot(2,1,2);plot(t,y,'b');hold on;plot(t,envelop_AM,'r:');plot(t,-envelop_AM,'r:');hold offxlabel('t');ylabel('AM signal');。

相关文档
最新文档