主要内容

comm.OFDMModulator

使用OFDM调制信号的方法

描述

OFDMModulator对象调节信号使用正交频分调制方法。输出是一个基带调制信号的表示。

使用OFDM调制信号:

  1. 创建comm.OFDMModulator对象并设置其属性。

  2. 调用对象的参数,就好像它是一个函数。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

例子

hMod= comm.OFDMModulator创建一个OFDM调制器系统对象™。

例子

hMod= comm.OFDMModulator (的名字,价值)指定属性使用一个名称-值对的参数。在报价附上每个属性的名字。例如,comm.OFDMModulator (NumSymbols, 8)指定了八个OFDM符号的时频网格。

例子

hMod= comm.OFDMModulator (hDemod)设置OFDM调制器系统对象属性基于指定的OFDM解调器系统对象comm.OFDMDemodulator

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

数量的快速傅里叶变换(FFT)点,指定为一个正整数。FFT的长度,NFFT必须大于或等于8,相当于副载波的数量。

数据类型:

数量的副载波分配给左、右后卫乐队,指定为一个整数双元素列向量。副载波的数量必须在[0,NFFT/ 2⌋−1]。这个向量的形式(NleftG,NrightG),NleftGNrightG分别指定左和右后卫乐队。

数据类型:

选择插入直流零,指定为一个数字或逻辑0()或1(真正的)。直流副载波频带的中心,该指数的值:

  • (FFTLength/ 2)+ 1时FFTLength甚至

  • (FFTLength+ 1)/ 2FFTLength是奇数

选项指定驾驶员输入,指定为一个数字或逻辑0()或1(真正的)。如果此属性1(真正的),您可以指定单个飞行员传输的副载波。如果此属性0()、驾驶员信息被认为是嵌入在输入数据。

飞行员副载波指标,指定为一个列向量。如果PilotCarrierIndices属性设置为1(真正的),您可以指定驾驶员副载波的指标。你可以将指标分配给相同或不同的副载波为每个符号。同样,导频指数跨多个发射天线可以不同。根据所需的水平的控制指标分配,不同的维度属性。有效的试点范围指数下降

( N leftG + 1 , N FFT / 2 ] ( N FFT / 2 + 2 , N FFT N rightG ] ,

索引值不能超过副载波的数量。当飞行员指标是相同的每一个符号和传输天线,属性维度N飞行员1。飞行员指数不同符号时,属性维度N飞行员——- - - - - -N信谊。如果你只传输一个符号,但多个发射天线,属性维度N飞行员-by-1-by -Nt,在那里Nt是发射天线的数量。如果指数不同符号和发射天线的数量,属性维度N飞行员——- - - - - -N信谊——- - - - - -Nt。如果发射天线的数量大于1,确保每个符号的指标必须跨天线相互不同的干扰降到最低。

要启用这个特性,设置PilotInputPort财产1(真正的)。

循环前缀的长度,指定为一个正整数。如果你指定一个标量,前缀长度是相同的所有符号通过天线。如果你指定一个行向量的长度N信谊、前缀长度可以不同符号但通过所有天线是相同的。

数据类型:

选择应用提出了OFDM符号之间的余弦窗口,指定为真正的。窗口过程的OFDM符号是乘以一个余弦窗传输之前更快地降低带外副载波的力量。窗口减少频谱再生。

的长度提出了余弦窗口中,指定为一个积极的标量。这个值必须小于或等于最小循环前缀长度。例如,在配置四个符号与循环前缀长度12日,14日,16日和18日,窗口的长度必须小于等于12。

要启用这个特性,设置窗口财产1(真正的)。

OFDM符号的时频网格数量,指定为一个正整数。

发射天线的数量,用于传输的OFDM调制信号,指定为一个正整数。

使用

描述

波形= hMod (insignal)适用于OFDM调制的基带信号并返回指定调制OFDM基带信号。

波形= hMod (数据,飞行员)分配控制信号,飞行员到指定的副载波频率PilotCarrierIndices属性值的hMod系统对象。使这个语法设置PilotCarrierIndices财产真正的

输入参数

全部展开

输入基带信号,指定为一个矩阵或三维数组的数值。输入的基带信号必须大小Nf——- - - - - -N信谊——- - - - - -Nt在哪里Nf是副载波频率的数量扣除警卫队乐队和直流零。

数据类型:
复数的支持:金宝app是的

输入数据,指定为一个矩阵或三维数组。输入必须是一个数字的大小Nd——- - - - - -N信谊——- - - - - -Nt在哪里Nd在每个符号数据副载波的数量。更多的信息Nd计算,看到了吗PilotCarrierIndices财产。

数据类型:
复数的支持:金宝app是的

控制信号,指定为一个三维数组的数值。飞行员必须大小的信号N飞行员——- - - - - -N信谊×nt

数据类型:
复数的支持:金宝app是的

输出参数

全部展开

OFDM基带调制信号,作为一个二维数组返回。如果CyclicPrefixLength房地产是一个标量,输出波形的大小((NFFT+ CPlen)⁎N信谊)×nt。否则,大小(NFFT⁎N信谊+∑(CPlen)×nt

数据类型:
复数的支持:金宝app是的

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

信息 为OFDM调制器提供尺寸信息
showResourceMapping 显示创建的副载波OFDM符号的映射OFDM调制器系统对象
一步 运行系统对象算法
释放 释放资源,并允许修改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

创建和显示一个OFDM调制器系统对象™使用默认属性值。

hMod = comm.OFDMModulator
hMod = comm.OFDMModulator属性:FFTLength: 64 NumGuardBandCarriers: [2 x1双]InsertDCNull:假PilotInputPort:假CyclicPrefixLength: 16个窗口:假NumSymbols: 1 NumTransmitAntennas: 1

修改数量的副载波和符号。

hMod。FFTLength = 128; hMod.NumSymbols = 2;

验证数量的副载波和符号的数量改变。

disp (hMod)
comm.OFDMModulator属性:FFTLength: 128 NumGuardBandCarriers: [2 x1双]InsertDCNull:假PilotInputPort:假CyclicPrefixLength: 16个窗口:假NumSymbols: 2 NumTransmitAntennas: 1

使用showResourceMapping目标函数的映射数据,飞行员和空副载波在时频空间。

showResourceMapping (hMod)

图所有Tx天线OFDM子载波映射包含一个坐标轴对象。坐标轴对象与标题所有Tx天线OFDM子载波映射包含一个类型的对象的形象。

创建一个OFDM解调器系统对象™使用默认属性值。然后,指定试点指标一个符号和两个传输天线。

设置PilotCarrierIndices解调器的属性影响发射天线的数量在OFDM调制器时使用的解调器创建调制器。解调器接收天线的数量是不相关的和发射天线的数量。

ofdmDemod = comm.OFDMDemodulator;ofdmDemod。PilotOutputPort = true;ofdmDemod。PilotCarrierIndices =猫(3 [12;26日;40;54]、[13;27个;41; 55]);

利用OFDM解调器构造OFDM调制器。

ofdmMod = comm.OFDMModulator (ofdmDemod);

显示的属性OFDM modulatorand解调器,验证适用的属性匹配。

disp (ofdmMod)
comm.OFDMModulator属性:FFTLength: 64 NumGuardBandCarriers: [2 x1双]InsertDCNull:假PilotInputPort:真正的PilotCarrierIndices: [4 x1x2双]CyclicPrefixLength: 16个窗口:假NumSymbols: 1 NumTransmitAntennas: 2
disp (ofdmDemod)
comm.OFDMDemodulator属性:FFTLength: 64 NumGuardBandCarriers: [2 x1双]RemoveDCCarrier:假PilotOutputPort:真正的PilotCarrierIndices: [4 x1x2双]CyclicPrefixLength: 16 NumSymbols: 1 NumReceiveAntennas: 1

showResourceMapping方法显示时频资源映射为每个传输天线。

构造一个OFDM调制器。

mod = comm.OFDMModulator;

应用showResourceMapping方法。

showResourceMapping (mod)

图所有Tx天线OFDM子载波映射包含一个坐标轴对象。坐标轴对象与标题所有Tx天线OFDM子载波映射包含一个类型的对象的形象。

插入一个直流零。

mod.InsertDCNull = true;

显示添加直流零后的资源映射。

showResourceMapping (mod)

图所有Tx天线OFDM子载波映射包含一个坐标轴对象。坐标轴对象与标题所有Tx天线OFDM子载波映射包含一个类型的对象的形象。

创建一个OFDM调制器和指定驾驶员的副载波索引信号。指定每个符号的指数和传输天线。当发射天线的数量大于1,设置不同的试验指标之间的每个符号天线。

创建一个OFDM调制器系统对象,指定两个符号和插入一个直流零。

mod = comm.OFDMModulator (“FFTLength”,128,“NumSymbols”2,“InsertDCNull”,真正的);

使飞行员输入端口,这样你可以指定驾驶员指数。

mod.PilotInputPort = true;

符号指定相同的试验指标。

mod.PilotCarrierIndices = [12;56;89;100);

可视化飞行员的位置信号和OFDM时频网格使用nullshowResourceMapping对象的功能。

showResourceMapping (mod)

图所有Tx天线OFDM子载波映射包含一个坐标轴对象。坐标轴对象与标题所有Tx天线OFDM子载波映射包含一个类型的对象的形象。

为第二个指定不同的指标符号连接第二列的试验指标PilotCarrierIndices财产。

mod.PilotCarrierIndices =猫(2 mod.PilotCarrierIndices[17;61;94;105));

验证试验副载波指数两个符号之间的不同。

showResourceMapping (mod)

图所有Tx天线OFDM子载波映射包含一个坐标轴对象。坐标轴对象与标题所有Tx天线OFDM子载波映射包含2图像类型的对象,线。

发射天线的数量增加到两个。

mod.NumTransmitAntennas = 2;

指定试验指标的两个传输天线。提供指标为多个天线同时最小化干扰天线,设置PilotCarrierIndices房地产作为一个三维数组,每个符号的指数不同的天线。

mod.PilotCarrierIndices =猫(3 [20;50;70;110年],[15;60;75;105));

显示的资源映射两个传输天线。灰色的线表示插入定制的null。null是由对象从不同天线飞行员符号间的干扰减至最小。

showResourceMapping (mod)

图OFDM子载波映射为Tx天线1包含一个坐标轴对象。坐标轴对象与标题为Tx天线OFDM子载波映射1包含一个图像类型的对象。

图OFDM子载波映射为Tx天线2包含一个坐标轴对象。坐标轴对象2标题为Tx天线OFDM子载波映射包含一个图像类型的对象。

指定循环前缀的长度为每个OFDM符号。

创建一个OFDM调制器,指定五符号,四左三右保护带副载波,每个OFDM符号和循环前缀长度。

mod = comm.OFDMModulator (“NumGuardBandCarriers”(4);3),“NumSymbols”5,“CyclicPrefixLength”[12 10 14 11 13]);

显示OFDM调制器的特性,验证循环前缀长度的变化在符号。

disp (mod)
comm.OFDMModulator属性:FFTLength: 64 NumGuardBandCarriers: [2 x1双]InsertDCNull:假PilotInputPort:假CyclicPrefixLength:[12 10 14 11 13]窗口:假NumSymbols: 5 NumTransmitAntennas: 1

通过使用获得OFDM调制器的数据维度信息对象的功能。

构造一个OFDM调制器系统对象™与指定的试验指标,插入直流零,并指定两个传输天线。

hMod = comm.OFDMModulator (“NumGuardBandCarriers”(4);3),“PilotInputPort”,真的,“PilotCarrierIndices”猫([12;26日;40;54),[11;25;39;53]),“InsertDCNull”,真的,“NumTransmitAntennas”2);

使用信息目标函数调制器输入数据,飞行员输入数据和输出数据的大小。

信息(hMod)
ans =结构体字段:DataInputSize: [48 1 2] PilotInputSize: [4 1 2] OutputSize: 80 [2]

链路级别生成OFDM调制符号用于模拟。

构造一个OFDM调制器直流零插入,七保护带副载波,和两个符号为每个符号有不同的试验指标。

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

确定输入数据,飞行员,和输出数据的维度。

modDim = info (mod);

OFDM调制器产生随机数据符号。结构变量,modDim的数量,确定数据符号。

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

创建一个控制信号,有正确的维度。

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

应用OFDM调制数据和试验信号。

modData =步骤(mod, dataIn pilotIn);

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

解调= comm.OFDMDemodulator (mod);

解调的OFDM信号和输出数据和试验信号。

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

确认,在一个严格的公差,输入数据和飞行员符号匹配输出数据和飞行员符号。

isSame = (max (abs ([dataIn (:)——dataOut (:);pilotIn (:)——pilotOut(:)))) < 1平台以及)
isSame =逻辑1

更多关于

全部展开