AnyMath 文档

IFFT

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

模块类型: SubSystem

库中的路径:

/Signal Operations/Transforms/IFFT

资料描述

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

块使用两种可能的FFT实现之一。 您可以根据库选择实现。 FFTW,或基于算法的实现 FFTW. 有关详细信息,请参阅算法

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

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

港口

输入

# IN_1 — 的输入信号
向量资料 | 矩阵| 多维数组

Details

用于计算FFT的输入信号是矢量、矩阵或多维阵列的形式。

块从多维输入信号的第一次测量计算FFT。

数据类型

漂浮物16, 漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

复数支持

是的

输出

# OUT_1 — 输入信号的FFT
向量资料 | 矩阵 | 多维数组

Details

从多维输入数组的第一维计算的FFT,作为向量、矩阵或多维数组返回。

-我在录音 -th输出通道 等于 -第一点 -点离散傅立叶逆变换(ODFT) -第输入通道:

π
数据类型

漂浮物16, 漂浮物32, 漂浮64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64

复数支持

是的

参数

参数

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

Details

FFT的实现:

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

  • Radix-2 -浮点数据的按位处理的实现。 尺寸 输入矩阵大小 它必须等于二的幂。 要处理其他输入数据大小,请使用块 *垫子*将这些维度对齐或截断为2的幂,或者,如果可能的话,选择一个实现 FFTW.

Radix-2 | FFTW

默认值

Radix-2

程序使用名称

FFTImplementation

可调谐

可计算

# 输入为倒序位模式 — 以位相反的顺序输入

Details

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

座 *IFFT*以位相反的顺序计算其输入。 块输入数据的线性排序 *IFFT*需要额外的反向位转换操作。 在许多情况下,您可以提高块速度。 *IFFT*通过检查*输入位反转顺序*复选框。

依赖关系

若要使用此参数,请为参数设置 *FFT 实现*价值 Radix-2.

默认值

false (关掉)

程序使用名称

BitRevOrder

可调谐

可计算

# 输出除以FFT长度 — 将输出除以FFT的长度

Details

如果选择此选项,则块将FFT的输出除以FFT的长度。 当您希望FFT的输出保持在与输入相同的幅度范围时,此选项非常有用。

默认值

true (已开启)

程序使用名称

Normalize

可调谐

可计算

# 根据输入维度继承FFT长度 — 从输入维度继承FFT的长度

Details

选中此框以从输入维度继承FFT的长度。

依赖关系

如果未选择此选项,则该参数可用于设置长度。 FFT 长度.

默认值

true (已开启)

程序使用名称

InheritFFTLength

可调谐

可计算

# FFT 长度 — FFT长度

Details

将FFT的长度指定为整数 .

如果为参数 *FFT 实现*值已设置 Radix-2 或者*Input in bit-reversed order*复选框被选中,此值必须等于2。

依赖关系

要使用此选项,请取消选中该框。 根据输入维度继承FFT长度.

默认值

64

程序使用名称

FFTLength

可调谐

可计算

# 当 FFT 长度小于输入长度时,打包输入数据 — 输入数据的卷积或截断

Details

根据FFT的长度选择卷积或截断输入数据。 如果选择此选项,则当FFT的长度小于输入的长度时,在FFT操作之前发生模卷积。 如果取消选中此框,则在FFT操作之前将输入数据截断为FFT的长度。

依赖关系

要使用此选项,请取消选中该框。 根据输入维度继承FFT长度.

默认值

true (已开启)

程序使用名称

WrapInput

可调谐

可计算

算法

FFTW实现

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

Radix-2实施

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

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

*蝴蝶行动; *双信号算法; *半长算法; *Radix-2时间稀释算法(DIT); *基数-2频率抽取算法(DIF)。

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

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

综合

线性的

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

综合

位-反向

基数-2DIF

材料

线性的

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

材料

位-反向

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

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

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

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

π

哪里

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

  • .

该块将这些值存储在表中,并在模拟期间检索它们。 浮点条目的数量为 .

文学作品

  1. Orfanidis,S.J._介绍信号处理。_Upper Saddle River,NJ:Prentice Hall,1996,p.497.

  2. Proakis,John G.和Dimitris G.Manolakis。 数字信号处理_,第3版。 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页。