pytorch 实现多维FFT

  • Post author:
  • Post category:其他


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 是一样的


官方参考文档链接