EngeeComms.OFDMModulatorBaseband
使用 OFDM 方法进行调制。
资料库 |
|
块 |
说明
系统对象 EngeeComms.OFDMModulatorBaseband 使用正交频分复用(OFDM)方法在频域对信号进行调制。输出是 OFDM 调制信号的基本表示。
更多信息,请参阅。正交频分复用。 输出为 OFDM 调制信号的基本表示。
要使用 OFDM 对信号进行调制,请按照以下步骤操作:
-
创建一个
EngeeComms.OFDMModulatorBaseband
对象并设置其属性。 -
使用参数调用该对象,就像调用函数一样。要了解有关系统对象如何工作的更多信息,请参阅Engee 系统对象 。
语法
创建
-
ofdmMod = EngeeComms.OFDMModulatorBaseband()
创建一个具有 default 属性值的 OFDM 调制器。示例
ofdmMod = EngeeComms.OFDMModulatorBaseband()
-
ofdmMod = EngeeComms.OFDMModulatorBaseband(Name=Value)
创建一个 OFDM 调制器,将每个指定属性 Name(名称)设置为指定的 价值观(值)。您可以以任意顺序(Name1
=Value1
,…,NameN
=ValueN
)指定其他参数作为名值对(name-value pair)。例如
ofdmMod = EngeeComms.OFDMModulatorBaseband(Windowing=true, NumGuardBandCarriers=[4; 2])
参数
输入参数
X -
输入宽带信号
数组
Details
输入宽带信号,指定为一个数组 至 至 。
-
- 是数据的子载波数。
-
- 是 NumSymbols 属性定义的符号数。
-
- 是 NumTransmitAntennnas 属性定义的接收天线数。
Типы данных |
|
飞行员 -
飞行员信号
数组
Details
以数组形式指定的先导信号 至 至 。
-
- 每个符号中的先导子载波数,由
size(
PilotCarrierIndices,1)
定义。 -
- 由 NumSymbols 属性定义的符号数。
-
- 是 NumTransmitAntennnas 属性定义的发射天线数。
Типы данных |
|
输出参数
Y -
OFDM 调制宽带输出信号
矩阵
Details
以矩阵形式返回的 OFDM 调制宽带信号 , ,数据类型与输入信号相同。
-
- 过采样因子由 OversamplingFactor 属性定义。
-
= + ( * ).
-
- 所有字符的循环前缀长度。
-
- 循环前缀的长度,由 CyclicPrefixLength 属性定义。
-
如果 CyclicPrefixLength 是标量, 。
-
如果 CyclicPrefixLength 是字符串向量, 。
-
-
- 由 FFTLength 参数定义的子载波数。
-
- 符号数,由 NumSymbols 参数定义。
-
- 发射天线数,由 NumTransmitAntennnas 参数定义。
Типы данных |
|
属性
FFTLength -
FFT 点数
64(默认值) | `正整数
Details
以正整数标量指定的快速傅立叶变换(FFT)点数。FFT 的长度必须是 ,且与子载波数相当。
NumGuardBandCarriers -.
分配给左右护带的子载波数
[6;5](默认)` |"2乘1的数字向量
Details
分配给左侧和右侧保护带的子载波数,以 2×1 整数矢量形式给出。
左侧和右侧保护带的子载波数 应在 范围内,其中 是由 FFTLength 属性确定的 OFDM 信号中子载波的总数。
InsertDCNull -
排除或包含零频率子载波
false`或`0(默认)
|`true`或`1
Details
选择此复选框可删除零频副载波。直流零频子载波位于频带中心,有一个索引值:
-
, 如果 的值为偶数。
-
如果 的值为奇数,则为 , 。
- 是由 FFTLength 属性定义的 OFDM 信号中子载波的总数。
先导输入端口 -
先导子载波输入
false`或`0(默认)
|`true`或`1
Details
使用参数输入先导子载波,以数字或逻辑值 0
(false
) 或 1
(true
)表示。
-
false
(0
) - 输入数据参数 X 可能包含嵌入的先导子载波信息,但块不会分配先导子载波索引。 -
true
(1
) - 该模块将 PilotCarrierIndices 属性指定的子载波分配给 pilot 输入参数中的先导调制信号。
PilotCarrierIndices — 先导副载波位置指数
[12;26;40;54](默认)
|列向量
|矩阵
|`三维数组
Details
以列矢量、矩阵或数组形式指定的先导子载波位置索引,其整数元素值范围为
,
其中
-
- 是 OFDM 信号中子载波的总数,由 *FFT 长度 * 参数定义。
-
以及 - 由 Number of guard bands 参数值定义的左右保护带。
先导载波索引 可为每个符号和所有发射天线分配相同或不同的子载波 。
-
如果每个符号和发射天线的先导索引相同,则 的维数为 1。
-
如果每个符号的先导指数不同,则参数的维度为 乘以 。
-
如果接收信号在多个发射天线上分配一个符号,则参数的维数为 by 1 to 。
-
如果符号数和发射天线数不同,则参数的维数为 至 至 。
为尽量减少向多个发射天线发射信号之间的干扰,所有天线的每个符号的先导指数应互不相同。 |
依赖关系
要使用此属性,请将 PilotInputPort 属性设置为 1
。
CyclicPrefixLength -.
循环前缀长度
16(默认值) | 正整数 | 向量字符串
Details
每个 OFDM 字符的循环前缀长度,指定为正整数标量或包含 OFDM 字符元素个数的字符串矢量。当指定循环前缀长度为
-
标量"--通过所有天线的所有符号的循环前缀长度相同。
-
矢量字符串"--不同符号的循环前缀长度可能不同,但不同天线的循环前缀长度不会不同。
视窗 -
在 OFDM 符号之间应用增加余弦的窗口函数
false "或 "0(默认)"|"true "或 "1
Details
启用 OFDM 字符间余弦增大的窗口函数,设置为数字或逻辑 0
(false
) 或 1
(true
)。
为降低频谱蔓延造成的带外子载波功率,可使用窗口功能。
WindowLength -
增加余弦的窗口函数长度
1(默认值) | `正整数
Details
以正整数标量形式指定余弦增大窗口函数的长度。
该值必须小于或等于 CyclicPrefixLength 属性中指定的最小循环前缀长度。例如,在循环前缀长度为 12
、14
、16
和 18`的四字符配置中,WindowLength 必须小于或等于 `12
。
依赖关系
要使用此属性,请将 Windowing 属性设置为 true
。
OversamplingFactor -
超采样因子
1(默认值)
|`正整数
Details
以正标量指定的超采样因子。超采样因子必须满足这些限制条件:
-
OversamplingFactor 与 FFTLength 的乘积必须是整数。
-
OversamplingFactor 与 CyclicPrefixLength 的乘积必须是整数。
如果 OversamplingFactor 被指定为无理数,则应指定一个分数值。例如,给定 FFTLength 12 和 OversamplingFactor 4/3 ,它们的乘积就是整数 16 。但是,当设置 OversamplingFactor 时,将`4/3`舍入为`1,333`,会导致非整数乘积为`15,9960`,从而引起错误。
|
NumSymbols -
OFDM 字符数
1(默认值)` | `正整数
Details
时频网格中的 OFDM 字符数,指定为正整数标量。
NumTransmitAntennnas -
发射天线数
1(默认)` | `正整数
Details
用于传输 OFDM 调制信号的发射天线数设置为正整数标量, 64
。
可选
算法
*正交频分多路复用技术
OFDM 属于多载波调制方案。由于在运行过程中可同时传输多个载波,因此噪声对 OFDM 的影响程度与单频调制相同。
OFDM 通过将传输带宽分解为多个连续的单独调制子载波,将高速数据流划分为低速数据子流。这组平行、正交的子载波传输数据流,占用的带宽几乎与宽带信道相同。通过使用窄的正交子载波,OFDM 信号可免受频率选择性信道的干扰,并消除邻近子载波的干扰。由于数据速率较低的子流的符号持续时间长于信道延迟差,因此减少了符号间干扰(ISI)。
该图显示了正交子载波在 OFDM 波形中的频域表示。
发射机每次对 N 个符号进行反快速傅立叶变换 (IFFT)。通常,IFFT 的输出是 N 个正交正弦波之和:
,
其中
-
- 数据符号、
-
- OFDM 符号时间。
数据符号 Xk 通常比较复杂,可以来自任何数字调制字母表(如 QPSK、16-QAM、64-QAM 等)。
离散傅里叶变换实现将 IFFT 输出归一化为 。 |
子载波间隔为 [Δf = 1/T],确保每个符号周期内子载波是正交的:
OFDM 调制器由一个串并联变换器和一组 N 个复调器组成,每个复调器分别对应一个 OFDM 子载波。
副载波分配、保护带和保护间隔
单个 OFDM 子载波被分配为数据、先导或空子载波。
如图所示,子载波被标记为数据、直流、先导或保护带子载波。
-
数据子载波传输用户数据。
-
先导子载波用于信道评估。
-
零频子载波不传输任何数据。非数据子载波提供中心子载波零频率,并作为 OFDM 资源块之间的缓冲器。
-
零频子载波是频带的中心,索引为
如果 的值为偶数,则零频副载波为频带中心,索引为
如果 是奇数。
- 是 OFDM 信号中子载波的总数。
-
保护带在相邻频段的相邻信号之间起缓冲作用,以减少频谱泄漏造成的干扰。
-
零频率子载波允许针对特定标准(如各种 802.11 格式、LTE、WiMAX 或定制分配)对保护带和零子载波位置进行建模。零子载波的位置可通过分配一个零子载波索引向量来定义。
与保护带类似,保护间隔通过减少符号间干扰来保护 OFDM 传输信号的完整性。
保护间隔的目的与保护带类似。您可以建立保护间隔模型,在 OFDM 符号之间提供时间间隔。在信号通过时间分散信道后,保护间隔有助于保持符号间的正交性。使用循环前缀创建守护间隔。插入循环前缀可将最后一个 OFDM 复制为 OFDM 符号的第一部分。
只要时间频散不超过循环前缀的持续时间,OFDM 就能从插入循环前缀中受益。
插入循环前缀会导致用户数据吞吐量的部分减少,因为循环前缀占用了本可用于数据传输的带宽。
*增加余弦的 OFDM 窗口函数。
增加余弦的 OFDM 窗口函数采用了 [3] 中描述的技术,通过在一个符号的最后一个采样和下一个符号的第一个采样之间建立平滑过渡来限制频谱蔓延。
虽然循环前缀在时域中创建了一个保护期以保持正交性,但一个 OFDM 符号很少以与前一个 OFDM 符号末尾相同的振幅和相位开始,这会导致频谱蔓延,从而使信号带宽因互调失真而扩大。为了限制这种频谱蔓延,可以使用循环后缀和增加余弦的窗口函数,在一个符号的最后一个采样和下一个符号的第一个采样之间建立平滑过渡。
要创建循环后缀,操作方法是将给定符号的第一个采样 ) 添加到该符号的末尾。但是,为了符合 IEEE® 802.11g 等标准,该操作不能任意延长符号。相反,循环后缀必须在时间上重叠,并与下一个符号的循环前缀有效相加。该操作将两个数学上相反的窗口函数应用于这一重叠段。第一个增大余弦的窗口函数应用于符号 k 的循环后缀,并在其生命周期内从 1 递减到 0。第二个增加余弦的窗口函数应用于符号 k+1 的循环前缀,并在其生命周期内从 0 增加到 1。这一过程实现了从一个符号到下一个符号的平滑过渡。
在时域中,增加余弦的窗口函数 可以表示为:
、
其中
-
- OFDM 符号持续时间,包括保护间隔。 -
- 窗口函数的持续时间。
循环后缀长度通过设置窗口函数长度来调整,后缀长度设置在 1 和最小循环前缀长度之间。虽然开窗功能提高了频谱恢复能力,但其代价是,为实现符号间平滑转换,需要改变保护带采样值,从而减少了保护带的冗余度,降低了对多径衰落的抗干扰能力。
这些数字显示了增加余弦后窗口函数的应用情况。
文献
-
Dahlman, E., S. Parkvall, and J. Skold."4G LTE/LTE-Advanced for Mobile Broadband." London: Elsevier Ltd., 2011.
-
Andrews, J. G., A. Ghosh, and R. Muhamed."Fundamentals of WiMAX." Upper Saddle River, NJ: Prentice Hall, 2007.
-
Agilent Technologies, Inc., "OFDM Raised Cosine Windowing," https://helpfiles.keysight.com/csg/n7617/Content/Main/ofdm_raised_cosine_windowing.htm.
-
Montreuil, L., R. Prodan, and T. Kolze.Kolze."OFDM TX 符号整形 802.3bn",https://www.ieee802.org/3/bn/public/jan13/montreuil_01a_0113.pdf。Broadcom, 2013.
-
IEEE 标准 802.16-2017。"第 16 部分:宽带无线接入系统的空中接口",2018 年 3 月。