Engee 文档

EngeeComms.OFDMDemodulatorBaseband

使用 OFDM 方法进行解调。

资料库

EngeeComms

OFDM 解调器

说明

系统对象 EngeeComms.OFDMDemodulatorBaseband 在时域使用正交频分复用(OFDM)方法解调输入信号,并根据 OFDM 参数输出子载波。

更多信息,请参阅OFDM 调制器 。输出是系统对象输入信号的宽带表示EngeeComms.OFDMModulatorBaseband

解调 OFDM 信号的步骤如下:

  1. 创建一个 EngeeComms.OFDMDemodulatorBaseband 对象并设置其属性。

  2. 使用参数调用该对象,就像调用函数一样。要了解有关系统对象如何工作的更多信息,请参阅Engee 系统对象

语法

创建

  • ofdmDemod = EngeeComms.OFDMDemodulatorBasband() 创建一个 OFDM 解调器,使用频分正交解调方法解调输入信号,并使用 default 属性值。

    示例

    ofdmDemod = EngeeComms.OFDMDemodulatorBaseband()
  • ofdmDemod = EngeeComms.OFDMDemodulatorBaseband(Name=Value) 创建一个 OFDM 解调器,将每个指定属性 Name(名称)设置为指定的 价值观(值)。您可以以任意顺序(Name1=Value1,…​,NameN=ValueN)指定其他参数作为名值对(name-value pair)。

    例如

    ofdmDemod = EngeeComms.OFDMDemodulatorBaseband(FFTLength=64)

利用率

  • Y = ofdmDemod(X)` 使用 OFDM 方法解调时域输入信号,并返回解调后的 OFDM 基带信号。

  • [Y,pilot] = ofdmDemod(X) 将先导信号分割为 PilotCarrierIndices 属性值中指定的子载波。要使用此语法,请将 PilotOutputPort 属性设置为 true

参数

输入参数

X - OFDM 调制宽带输入信号
矩阵

Details

以矩阵形式指定的 OFDM 调制宽带信号

  • - 由 OversamplingFactor 属性定义的过采样因子。

  • - 所有符号的循环前缀长度。

    • - 由 CyclicPrefixLength 属性定义的循环前缀长度。

    • 如果 CyclicPrefixLength 是标量,

    • 如果 CyclicPrefixLength 是字符串向量,

  • - 由 FFTLength 参数定义的子载波数。

  • - 符号数,由 NumberOfOFDMSymbols 参数定义。

  • - 接收天线数,由 NumberOfReceiveAntennas 参数定义。

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool 支持复数::是

输出参数

Y - 解调输出信号
矩阵

Details

解调输出信号以矩阵或数组形式返回 ,数据类型与输入信号相同。如果 1,输出信号将还原为矩阵。

  • - 数据子载波数。

  • - 由 NumSymbols. 属性定义的符号数。

  • - 接收天线数,由 NumReceiveAntennas 属性定义。

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool 支持复数::是

飞行员 - 飞行员信号
3D array | 4D array

Details

返回与输入信号数据类型相同的先导信号。定义为

  • PilotCarrierIndices 属性为矢量或矩阵时,大小为 的三维数组。

  • PilotCarrierIndices 属性为三维数组时,大小为 的四维数组。

其中 * - 每个符号中的先导子载波数,由 size(PilotCarrierIndices,1) 定义。 * - 符号数,由 NumSymbols 属性定义。 * - 接收天线数,由 NumReceiveAntennas 属性定义。 * - 发射天线数。

依赖关系

要使用此参数,请将 PilotOutputPort 属性设置为 "true"。

属性

FFTLength - FFT 点数
64(默认值) | `正整数

Details

以正整数标量指定的快速傅立叶变换(FFT)点数。FFT 长度必须为 ,且与子载波数相当。

NumGuardBandCarriers -. 分配给左右护带的子载波数
[6;5](默认)` |"2乘1的数字向量

Details

分配给左侧和右侧保护带的子载波数,以 2×1 整数矢量形式给出。

左侧和右侧保护带的子载波数 应在 范围内,其中 是由 FFTLength 属性确定的 OFDM 信号中子载波的总数。

RemoveDCCarrier - 排除或包含零频率子载波
false0(默认) | `true 或 `1

Details

删除直流零频副载波的选项,指定为数字或逻辑 0 (false) 或 1 (true)。零频子载波位于频带中心,有一个索引值:

  • , 如果 的值为偶数。

  • 如果 的值为奇数,则为 , 。

- 是由 FFTLength 属性定义的 OFDM 信号中子载波的总数。

PilotOutputPort — 先导子载波输出
false`或`0(默认) |`true`或`1

Details

先导副载波输出选项,指定为数字或逻辑 "0"("false")或 "1"("true")。

  • 0 (false) - 可能存在先导信息,但仍嵌入输出中。

  • 1 (true) - 该块将 PilotSubcarrierIndices 属性指定的子载波从输出数据中分离出来,并输出 pilot 参数中的解调先导信号。

PilotCarrierIndices — 先导副载波位置指数
[12;26;40;54](默认) |列向量 |矩阵 |`三维数组

Details

以列矢量、矩阵或 3D 阵列形式指定的先导子载波位置索引,其元素值为整数,范围为

,

其中

  • - 是 OFDM 信号中子载波的总数,由 FFTLength 属性定义。

  • 是左右护带,由 NumberOfGuardBands 属性值定义。

先导载波索引 可为每个符号和所有发射天线分配相同或不同的子载波

  • 如果每个符号和发射天线的先导索引相同,则 的维数为 1。

  • 如果每个符号的先导指数不同,则参数的维度为 乘以

  • 如果接收信号在多个发射天线上分配一个符号,则参数的维数为 by 1 to

  • 如果符号数和发射天线数不同,则参数的维数为

为尽量减少向多个发射天线发射信号之间的干扰,所有天线的每个符号的先导指数应互不相同。

依赖关系

要使用此属性,请将 PilotOutputPort 属性设置为 "1"。

CyclicPrefixLength -. 循环前缀长度
16(默认值) | 正整数 | 向量字符串

Details

每个 OFDM 字符的循环前缀长度,指定为正整数标量或包含 OFDM 字符元素个数的字符串矢量。当指定循环前缀长度为

  • 标量"--通过所有天线的所有符号的循环前缀长度相同。

  • 矢量字符串"--不同符号的循环前缀长度可能不同,但不同天线的循环前缀长度不会不同。

OversamplingFactor - 超采样因子
1(默认值) |`正整数

Details

指定为正标量的超采样因子。超采样因子必须满足这些限制条件:

  • OversamplingFactorFFTLength 的乘积必须是整数。

  • OversamplingFactorCyclicPrefixLength 的乘积必须是整数。

如果 OversamplingFactor 被指定为无理数,则应指定一个分数值。例如,给定 FFTLength 12OversamplingFactor 4/3,它们的乘积就是整数 16。但是,当设置 OversamplingFactor 时,将`4/3`舍入为`1,333`,会导致非整数乘积为`15,9960`,从而引起错误。
Типы данных

Float64

NumSymbols - OFDM 字符数
1(默认值)` | `正整数

Details

时频网格中的 OFDM 字符数,指定为正整数标量。

NumReceiveAntennas — 接收天线数
1(默认) |`正整数

Details

接收 OFDM 调制信号的接收天线数是一个小于等于 64 的正整数标量。

方法

所有系统对象通用

step!: 启动系统对象的运行算法 release!: 允许更改系统对象属性的值 reset!: 重置系统对象的内部状态

可选

算法

* OFDM 解调

正交频分复用(OFDM)方法通过 FFT 运算对 OFDM 输入信号进行解调,从而产生 N 个并行数据流。

如图所示,OFDM 解调器由一组 N 个相关器组成,每个 OFDM 子载波分配一个相关器。相关器组之后是并行到串行的转换。

ofdm demodulator 1

副载波分配、保护带和保护间隔

单个 OFDM 子载波被分配为数据、先导或空子载波。

如图所示,子载波被标记为数据、直流、先导或保护带子载波。

ofdm demodulator 2

  • 数据子载波携带用户数据。

  • 先导子载波用于信道评估。

  • 零频子载波不传输任何数据。非数据子载波提供零频中心子载波,作为 OFDM 资源块之间的缓冲。

    • 零频子载波是频带的中心,索引为

      如果 的值是偶数,则零频副载波是频带的中心。

      如果 为奇数。

      - 是 OFDM 信号中子载波的总数。

    • 保护带在相邻频段的相邻信号之间起缓冲作用,以减少频谱泄漏造成的干扰。

零频率子载波允许针对特定标准(如不同的 802.11 格式、LTE、WiMAX 或定制分配)对保护带和零子载波位置进行建模。零子载波的位置可通过分配一个零子载波索引向量来定义。

与保护带类似,保护间隔通过减少符号间干扰来保护 OFDM 传输信号的完整性。

保护间隔的目的与保护带类似。您可以建立保护间隔模型,在 OFDM 符号之间提供时间间隔。在信号通过时间分散信道后,保护间隔有助于保持符号间的正交性。使用循环前缀创建守护间隔。插入循环前缀可将最后一个 OFDM 复制为 OFDM 符号的第一部分。

ofdm demodulator 3

只要时间频散不超过循环前缀的持续时间,OFDM 就能从插入循环前缀中受益。

插入循环前缀会导致用户数据吞吐量的部分减少,因为循环前缀占用了本可用于数据传输的带宽。

文献

  1. Dahlman, E., S. Parkvall, and J. Skold."4G LTE/LTE-Advanced for Mobile Broadband." London: Elsevier Ltd., 2011.

  2. Andrews, J. G., A. Ghosh, and R. Muhamed."WiMAX 基础。Upper Saddle River,_" NJ: Prentice Hall, 2007.

  3. IEEE 标准 802.16-2017。"第 16 部分:宽带无线接入系统的空中接口。_" 2018 年 3 月。