文档

comm.OFDMDemodulator系统对象

采用OFDM方法解调

描述

OFDMDemodulator对象解调采用正交频分解调方法。输出是调制信号的基带表示,它被输入到OFDMModulator伴星。

解调OFDM信号:

  1. 定义并设置OFDM解调器对象。看到建设

  2. 调用一步的性质来解调信号comm.OFDMDemodulator.的行为一步特定于工具箱中的每个对象。

请注意

从R2016b开始,而不是使用一步方法来执行由System对象™定义的操作,您可以调用带有参数的对象,就像调用函数一样。例如,y =步骤(obj, x)而且y = obj (x)执行相同操作。

建设

H = comm.OFDMDemodulator创建一个解调器系统对象,H,该方法采用正交频分解调方法对输入信号进行解调。

H = comm.OFDMDemodulator (的名字价值创建一个OFDM解调器对象,H,每个指定的属性设置为指定的值。可以以任意顺序指定附加的名称-值对参数,如(Name1Value1、……).

H = comm.OFDMDemodulator (hMod)创建一个OFDM解调器对象,H,其属性由相应的OFDM调制器对象确定,hMod

属性

FFTLength

FFT的长度,NFFT,相当于调制过程中使用的子载波数量。FFTLength必须≥8。

指定子载波数。默认值是64

NumGuardBandCarriers

分配给左右保护频带的保护频带子载波数。

在[0]中指定左右子载波数为非负整数,NFFT/21你指定了左边,NleftG对了,NrightG,在2 × 1的列向量中独立的保护带。默认值为[6;5]

RemoveDCCarrier

一个逻辑变量,当真正的,强制移除DC子载波。默认值为

PilotOutputPort

一个逻辑属性,该属性控制是否分离导频信号并使其在附加输出端口上可用。中指定的导频子载波索引确定每个导频输出符号的位置PilotCarrierIndices财产。当为假时,导频符号可能存在,但嵌入到数据中。默认值为

PilotCarrierIndices

如果PilotOutputPort属性是真正的,输出位于所指定的指标处的单独导频信号PilotCarrierIndices财产。如果指标是二维阵列,则每个符号跨所有发射天线的导频载波是相同的。如果有多个发射天线(这个信息解调器不知道),来自不同发射天线的导频可能会相互干扰。为了避免这种情况,可以将导频载波指标指定为一个三维阵列,对天线上的每个符号使用不同的导频指标。这避免了来自不同发射天线的导频之间的干扰,因为在每个符号的基础上,每个发射天线都有不同的导频载波,并且OFDM调制器在适当的位置创建自定义空值。第三维度的大小PilotCarrierIndices属性给出发射天线数。

CyclicPrefixLength

循环前缀长度属性指定OFDM循环前缀的长度。如果指定一个标量,则前缀长度对于通过所有天线的所有符号都是相同的。如果你指定一个长度的行向量N信谊,前缀长度可以在符号之间变化,但在所有天线中保持相同的长度。默认值为16

NumSymbols

此属性指定符号的数量,N信谊.指定N信谊作为正整数。默认值为1

NumReceiveAntennnas

这个特性决定了天线的数量,NR,用于接收OFDM调制信号。指定NR作为正整数。默认值为1

方法

信息 提供OFDM方法的尺寸信息
重置 的重置状态OFDMDemodulator系统对象
showResourceMapping 显示由OFDM解调器创建的OFDM符号的子载波映射系统对象
一步 采用OFDM方法解调
通用于所有系统对象
释放

允许系统对象属性值更改

例子

全部展开

构造一个具有默认属性的OFDM解调器系统对象™。修改一些属性。

构建OFDM解调器。

解调= comm.OFDMDemodulator
demod = com . ofdmmodulator with properties: FFTLength: 64 NumGuardBandCarriers: [2x1 double] RemoveDCCarrier: false PilotOutputPort: false CyclicPrefixLength: 16 NumSymbols: 1 numreceivebroadcasts: 1

修改子载波数和符号数。

解调。FFTLength = 128; demod.NumSymbols = 2;

验证子载波数和符号数是否改变。

解调
demod = com . ofdmmodulator with properties: FFTLength: 128 NumGuardBandCarriers: [2x1 double] RemoveDCCarrier: false PilotOutputPort: false CyclicPrefixLength: 16 NumSymbols: 2 numreceivebroadcasts: 1

从现有的OFDM调制器系统对象中创建一个OFDM解调器系统对象™。

使用默认参数构造一个OFDM调制器。

mod = comm.OFDMModulator (“NumTransmitAntennas”4);

从调制器构造相应的OFDM解调器,国防部

解调= comm.OFDMDemodulator (mod);

显示调制器的属性,并验证它们与解调器的属性相匹配。

国防部
mod = com . ofdmmodulator with properties: FFTLength: 64 NumGuardBandCarriers: [2x1 double] InsertDCNull: false PilotInputPort: false CyclicPrefixLength: 16 Windowing: false NumSymbols: 1 numtransmitantenings: 4
解调
demod = com . ofdmmodulator with properties: FFTLength: 64 NumGuardBandCarriers: [2x1 double] RemoveDCCarrier: false PilotOutputPort: false CyclicPrefixLength: 16 NumSymbols: 1 numreceivebroadcasts: 1

需要注意的是,发射天线的数量与接收天线的数量无关。

showResourceMapping方法给出了每个发射天线的时频资源映射。

构造一个OFDM解调器。

解调= comm.OFDMDemodulator;

应用showResourceMapping方法。

showResourceMapping(解调)

拆卸直流子载波。

解调。RemoveDCCarrier = true;

显示移除直流子载波后的资源映射。

showResourceMapping(解调)

构造一个OFDM调制器,其中插入一个直流空载波,七个保护带子载波和两个符号,每个符号有不同的导频指标。

mod = comm.OFDMModulator (“NumGuardBandCarriers”(4); 3),...“PilotInputPort”,真的,“PilotCarrierIndices”猫([12;26日;40;54),...[11;27个;39;55]),“NumSymbols”2,“InsertDCNull”,真正的);

确定输入数据、导频和输出数据尺寸。

modDim = info (mod)
modDim =结构体字段:DataInputSize: [52 2] PilotInputSize: [4 2] OutputSize: [160 1]

为OFDM调制器生成随机数据符号。通过使用结构变量确定数据符号的数量,modDim

dataIn =复杂(randn (modDim.DataInputSize) randn (modDim.DataInputSize));

创建一个具有正确尺寸的导频信号。

pilotIn =复杂(兰特(modDim.PilotInputSize),兰德(modDim.PilotInputSize));

对数据和导频信号应用OFDM调制。

modSig =步骤(mod, dataIn pilotIn);

使用OFDM调制器对象创建相应的OFDM解调器。

解调= comm.OFDMDemodulator (mod);

OFDM信号解调,输出数据信号和导频信号。

[dataOut, pilotOut] =(解调,modSig)步;

验证输入数据和导频符号是否与输出数据和导频符号匹配。

isSame = (max(abs([dataIn(:) - datout (:);...pilotIn(:) - pilot (:))) < 1e-10)
isSame =逻辑1

算法

正交频分调制(OFDM)解调器系统对象通过使用FFT操作来解调OFDM输入信号N并行数据流。

图中显示的是OFDM解调器。它由一组N每个OFDM子载波分配一个相关器,然后进行并行到串行转换。

保护带和间隔

有三种类型的OFDM子载波:数据、导频和空。数据子载波用于传输数据,导频子载波用于信道估计。空子载波上没有传输,这些子载波用于提供直流空,以及在OFDM资源块之间提供缓冲区。这些缓冲称为保护带,其目的是防止符号间干扰。根据不同的标准,null和保护带的分配也不同,例如,802.11n不同于LTE。因此,OFDM调制器对象允许用户根据需要分配子载波索引。

类似于保护带的概念,OFDM调制器对象支持保护间隔,在OFDM符号之间提供时间分离,以便信号不会由于时间色散通道而失去正交性。万博1manbetx只要保护间隔大于延迟扩散,每个符号都不会干扰其他符号。保护间隔是通过使用循环前缀来创建的,在循环前缀中,OFDM符号的最后一部分被复制并插入作为OFDM符号的第一部分。只要时间分散的跨度不超过循环前缀的持续时间,就可以保持循环前缀插入的好处。OFDM调制器对象允许设置循环前缀长度。使用循环前缀的缺点是增加了开销。

选定的参考书目

[1] Dahlman, E. S. Parkvall和J. Skold. 4G LTE/LTE-先进移动宽带。伦敦:Elsevier Ltd., 2011。

[2] Andrews, J. G., A. Ghosh,和R. Muhamed, WiMAX基础,Upper Saddle River,新泽西州:Prentice Hall, 2007。

[3] i.e.e.e, " IEEE标准802.16TM-2009年。”

扩展功能

介绍了R2014a

这个话题有帮助吗?