MATLAB 帮助中心
N 维快速傅里叶变换
Y = fftn(X)
Y = fftn(X,sz)
Y = fftn(X) 使用快速傅里叶变换算法返回 N 维数组的多维傅里叶变换。N 维变换等于沿 X 的每个维度计算一维变换。输出 Y 的大小与 X 相同。
X
Y
示例
Y = fftn(X,sz) 将在进行变换之前根据向量 sz 的元素截断 X 或用尾随零填充 X。sz 的每个元素定义对应变换维度的长度。例如,如果 X 是一个 5×5×5 数组,Y = fftn(X,[8 8 8]) 将用零填充每个维度,从而得到 8×8×8 变换 Y。
sz
Y = fftn(X,[8 8 8])
全部折叠
您可以使用 fftn 函数计算多维数组中每个维度的一维快速傅里叶变换。
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 类型返回。
single
double
数据类型: double | single | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical 复数支持: 是
int8
int16
int32
uint8
uint16
uint32
logical
变换维度的长度,指定为由正整数组成的向量。sz 的元素对应于 X 的相应维度的变换长度。length(sz) 必须至少为 ndims(X)。
length(sz)
ndims(X)
数据类型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical
N 维数组 X 的离散傅里叶变换 Y 定义为
Yp1,p2,...,pN=∑j1=0m1−1ωm1p1j1∑j2=0m2−1ωm2p2j2...∑jNmN−1ωmNpNjNXj1,j2,...,jN.
每个维度的长度为 mk,其中 k = 1,2,...,N,而 ωmk=e−2πi/mk 是复单位根,其中 i 是虚数单位。
全部展开
用法说明和限制:
sz 参量必须具有固定大小。
对于 MEX 输出,MATLAB® Coder™ 使用 MATLAB 用于 FFT 算法的库。对于独立的 C/C++ 代码,默认情况下,代码生成器生成用于 FFT 算法的代码,而不是生成 FFT 库调用。要生成对安装的特定 FFTW 库的调用,请提供 FFT 库回调类。有关 FFT 库回调类的详细信息,请参阅 coder.fftw.StandaloneFFTW3Interface (MATLAB Coder)。
coder.fftw.StandaloneFFTW3Interface
对于 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)。
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
fftn 函数支持 GPU 数组输入,但有以下用法说明和限制:
即使所有虚部都为零,输出 Y 也始终为复数。
有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
在 R2006a 之前推出
fft | fft2 | fftw | ifftn
fft
fft2
fftw
ifftn
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 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处