fftn
N 维快速傅里叶变换
说明
示例
您可以使用 fftn 函数计算多维数组中每个维度的一维快速傅里叶变换。
创建一个三维信号 X。X 的大小为 20×20×20。
x = (1:20)'; y = 1:20; z = reshape(1:20,[1 1 20]); X = cos(2*pi*0.01*x) + sin(2*pi*0.02*y) + cos(2*pi*0.03*z);
计算该信号的三维傅里叶变换,这也是一个 20×20×20 数组。
Y = fftn(X);
用零填充 X 以计算 32×32×32 变换。
m = nextpow2(20); Y = fftn(X,[2^m 2^m 2^m]); size(Y)
ans = 1×3
32 32 32
输入参数
输入数组,指定为矩阵或多维数组。如果 X 的类型为 single,则 fftn 本身以单精度进行计算,Y 的类型也是 single。否则,Y 以 double 类型返回。
数据类型: double | single | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical
复数支持: 是
变换维度的长度,指定为由正整数组成的向量。sz 的元素对应于 X 的相应维度的变换长度。length(sz) 必须至少为 ndims(X)。
数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical
详细信息
N 维数组 X 的离散傅里叶变换 Y 定义为
每个维度的长度为 mk,其中 k = 1,2,...,N,而 是复单位根,其中 i 是虚数单位。
扩展功能
用法说明和限制:
sz参量必须具有固定大小。对于 MEX 输出,MATLAB® Coder™ 使用 MATLAB 用于 FFT 算法的库。对于独立的 C/C++ 代码,默认情况下,代码生成器生成用于 FFT 算法的代码,而不是生成 FFT 库调用。要生成对安装的特定 FFTW 库的调用,请提供 FFT 库回调类。有关 FFT 库回调类的详细信息,请参阅
coder.fftw.StandaloneFFTW3Interface(MATLAB Coder)。对于 MATLAB Function 模块的仿真,仿真软件使用 MATLAB 用于 FFT 算法的库。对于 C/C++ 代码生成,默认情况下,代码生成器生成用于 FFT 算法的代码,而不是生成 FFT 库调用。要生成对安装的特定 FFTW 库的调用,请提供 FFT 库回调类。有关 FFT 库回调类的详细信息,请参阅
coder.fftw.StandaloneFFTW3Interface(MATLAB Coder)。使用代码替换库 (CRL),您可以生成在 ARM® Cortex®-A 处理器(带 Neon 扩展)上运行的优化代码。要生成此优化代码,您必须安装 Embedded Coder® Support Package for ARM Cortex-A Processors (Embedded Coder)。为 ARM Cortex-A 生成的代码使用 Ne10 库。有关详细信息,请参阅 Ne10 Conditions for MATLAB Functions to Support ARM Cortex-A Processors (Embedded Coder)。
使用代码替换库 (CRL),您可以生成在 ARM Cortex-M 处理器上运行的优化代码。要生成此优化代码,您必须安装 Embedded Coder Support Package for ARM Cortex-M Processors (Embedded Coder)。为 ARM Cortex-M 生成的代码使用 CMSIS 库。有关详细信息,请参阅 CMSIS Conditions for MATLAB Functions to Support ARM Cortex-M Processors (Embedded Coder)。
用法说明和限制:
sz参量必须具有固定大小。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
fftn 函数支持 GPU 数组输入,但有以下用法说明和限制:
即使所有虚部都为零,输出
Y也始终为复数。
有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)