pytorch 实现多维FFT, 即fftn
文章目录
前言
根据官方文档, pytorch 中已经有多维fft的实现,不过要先 import torch.fft
代码示例1
import torch.fft as fft
# 实现一维fft
fft.fft(input, n=None, dim=-1, norm=None)
# 实现n维fft
fft.fftn(input, s=None, dim=None, norm=None)
input: (张量类型)输入张量
n: (int 类型) 信号长度 或 size
dim: 做ft的维度
norm: 归一化的模式,可选”forward”,“backward”(默认值),“ortho”
代码示例2:
>>> import torch.fft
>>> x = torch.rand(10, 10, dtype=torch.complex64)
>>> fftn = torch.fft.fftn(t)
ifft 和ifftn 方法类似
注意,这里的fft和fftn 对应的结果 零频位置是在第一个数的位置,这个和matlab 的fft 是一样的
官方参考文档链接