Engee 文档

IFFT

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

类型: 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.

复数支持

参数

Parameters

# 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