Engee 文档

IFFT

输入信号的反向快速傅立叶变换(OBFT)。

blockType: SubSystem

图书馆路径:

/Signal Operations/Transforms/IFFT

资料描述

IFFT 从多维输入数组的第一维计算快速傅里叶逆变换(OBFT), .

块使用两种可能的FFT实现之一。 您可以选择基于`FFTW`库的实现,也可以选择基于`Radix-2`算法的实现。

当输入信号长度为, ,长于OBF的长度, 可以观察到输出信号幅度的增加。 这是由于这样的事实,该块 IFFT 使用数据复位模长度 以保存所有可用的输入样本。

为了避免振幅的这种增加,可以截断输入样本的长度。 到OBF的长度 . 为此,请在模型中放置一个块 Pad 块之前 IFFT .

港口

输入

# 端口_1 — 输入信号
向量` | 矩阵` | 多维数组

Details

用于 OPF 计算的向量、矩阵或多维数组输入信号。

设备通过对多维输入信号的第一次测量来计算 OPF。

数据类型

Float16 | Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64.

复数支持

输出

# 端口_1 — 输入信号的 OPF
向量"|"矩阵"|"多维数组

Details

以向量、矩阵或多维数组形式返回的输出信号。

OPF 由多维输入数组的第一维计算得出。

-th 输出通道的第-个条目 等于 -th 输入通道的 -point -point 逆离散傅立叶变换 (ODPF):

π
数据类型

| Float16 | Float32 | Float64 | Int8 | Int16 | Int32 | Int64 | UInt8 | UInt16 | UInt32 | UInt64.

复数支持

参数

主组

# FFT implementation — FFT 实现
Radix-2 | FFTW

Details

FFT 实现:

  • FFTW - 支持任意长度的输入信号。

  • Radix-2 - 实现浮点数据的位处理。尺寸为 的输入矩阵的维数 必须等于 2 的幂次。若要处理其他输入数据维数,请使用块Pad ,将这些维数扁平化或截断为 2 的幂次,或者在可能的情况下,选择 FFTW 实现。

Radix-2 | FFTW

默认值

Radix-2

程序使用名称

FFTImplementation

可调谐

可计算

# Input is in bit-reversed order — 位反转输入

Details

指定输入通道元素相对于输出通道元素的顺序。选中此复选框时,输入通道项将以相对于输出序列顺序的位反转顺序显示。取消选中时,输入通道项将以相对于输出序列顺序的线性顺序显示。

IFFT 块以位反序计算其输入。IFFT 块输入数据的线性排序需要额外的位反转操作。在许多情况下,可以通过选中 以位反序输入 复选框来提高 IFFT 块的速度。

依赖关系

要使用此选项,请将 FFT 实现 参数设置为 "Radix-2"。

默认值

false (关掉)

程序使用名称

BitRevOrder

可调谐

可计算

# Divide output by FFT length — 将输出除以 FFT 长度

Details

选择该选项后,设备将按 FFT 长度对 OPF 输出进行除法。如果希望 OPF 输出保持在与输入相同的振幅范围内,该选项非常有用。

默认值

true (已开启)

程序使用名称

Normalize

可调谐

可计算

# Inherit FFT length from input dimensions — 从输入维度继承 FFT 长度

Details

选择此复选框可从输入尺寸继承 FFT 长度。

依赖关系

如果未选择此复选框,则 FFT 长度 参数可用于指定长度。

默认值

true (已开启)

程序使用名称

InheritFFTLength

可调谐

可计算

# FFT length — FFT 长度

Details

以整数形式指定 FFT 长度,

如果 FFT 实现 参数设置为 "Radix-2 "或 以位反序输入 复选框被选中,该值必须为 2。

依赖关系

要使用此参数,请取消选中 从输入尺寸继承 FFT 长度

默认值

64

程序使用名称

FFTLength

可调谐

可计算

# Wrap input data when FFT length is shorter than input length — 卷积或截断输入数据

Details

根据 FFT 长度选择对输入数据进行卷积还是截断。如果选中,当 FFT 长度小于输入长度时,将在 FFT 操作前执行模卷积。如果未选中,则在 FFT 操作前将输入数据截断至 FFT 长度。

依赖关系

要使用此选项,请清除 从输入尺寸继承 FFT 长度 复选框。

默认值

true (已开启)

程序使用名称

WrapInput

可调谐

可计算

算法

FFTW实现

"FFTW"实现提供了优化的FFT计算,包括支持等于和不等于2的幂的变换长度,如仿真中。 输入数据类型必须是浮点型。

Radix-2实施

Radix-2实现支持位反向处理,并允许块生成C代码。 尺寸 输入矩阵大小 它必须等于二的幂。 要处理其他输入数据大小,请使用块 Pad 将这些维度补充或截断为二的幂。

当选择基数-2时,该块实现以下一种或多种算法:

  • 蝴蝶行动

  • 双信号算法

  • 半长算法

  • 时间稀释算法(DIT)Radix-2

  • 频率抽取算法(DIF)Radix-2

实数和复数信号的Radix-2算法

输入数据的复杂性 输出数据的顺序 用于计算FFT的算法

综合

线性的

位反转运算和Radix-2DIT算法

综合

位-反向

基数-2DIF

材料

线性的

位反转和基数-2DIT操作结合半长和双信号算法

材料

位-反向

Radix-2DIF与半长和双信号算法相结合

FFT算法的效率可以通过在计算DFT之前从实序列形成复数序列来针对实输入信号提高。 如果可用 使用实输入通道,FFT模块通过将双信号算法应用于第一个通道来生成这些复杂序列。 输入通道,并将半长算法应用于最后一个奇数通道。

三角函数值表的基数-2优化

在某些情况下,基数-2块算法计算twiddle因子的所有可能的三角函数值

π ,

哪里

  • -两个值中的较大值: ,

  • .

该块将这些值存储在表中,并在模拟期间检索它们。 浮点表中的记录数如下表所示:

表中n点FFT的条目数

带浮点

文学作品

  1. Orfanidis,S.J."Introduction To Signal Processing."Upper Saddle River,NJ:Prentice Hall,1996,p.497。

  2. Proakis,John G.和Dimitris G.Manolakis。 "Digital Signal Processing,3rd ed。"Upper Saddle River,NJ:Prentice Hall,1996。

  3. FFTW(https://www.fftw.org)

  4. Frigo,M.And S.G.Johnson,"FFTW:An Adaptive Software Architecture for THE FFT,"Proceedings Of The International Conference on Acoustics,Speech,and Signal Processing,Vol. 3,1998,第1381-1384页。

请参阅

  1. FFT