pytorch 笔记:torch.fft
创始人
2024-05-29 11:50:55

1 FFT

进行一个维度的快速傅里叶变换

torch.fft.fft(input, n=None, dim=- 1, norm=None, *, out=None)

1.1 主要参数

input输入,需要傅里叶变换的tensor
n

需要变换的tensor的长度,默认是input的长度

  • 如果比input长度大,那么补0
  • 如果比input长度小,那么截取
dim哪一个维度进行快速傅里叶变换
norm
  • ‘forward’:用1/n 正则化
  • ‘backward’:无需正则化
  • ‘ortho’:使用1/sqrt(n)正则化

1.2 举例

import torcha=torch.Tensor([0,1,2,3,4])
torch.fft.fft(a)
'''
tensor([10.0000+0.0000j, -2.5000+3.4410j, -2.5000+0.8123j, -2.5000-0.8123j,-2.5000-3.4410j])
'''

2 iFFT

逆正则化

torch.fft.ifft(input, n=None, dim=- 1, norm=None, *, out=None) 

2.1 主要参数

input输入,需要傅里叶变换的tensor
n

需要变换的tensor的长度,默认是input的长度

  • 如果比input长度大,那么补0
  • 如果比input长度小,那么截取
dim哪一个维度进行快速傅里叶变换
norm
  • ‘forward’:用1/n 正则化
  • ‘backward’:无需正则化
  • ‘ortho’:使用1/sqrt(n)正则化

2.2 举例

import torcha=torch.Tensor([[0,1,2,3],[3,4,6,7]])
torch.fft.ifft(torch.fft.fft(a))
'''
tensor([[0.+0.j, 1.+0.j, 2.+0.j, 3.+0.j],[3.+0.j, 4.+0.j, 6.+0.j, 7.+0.j]])
'''

3 rFFt

将FFT结果中虚数部分为负,且有对应共轭的那一部分去除,减少存储量

torch.fft.rfft(input, n=None, dim=- 1, norm=None, *, out=None) 

3.1  主要参数

input输入,需要傅里叶变换的tensor
n

需要变换的tensor的长度,默认是input的长度

  • 如果比input长度大,那么补0
  • 如果比input长度小,那么截取
dim哪一个维度进行快速傅里叶变换
norm
  • ‘forward’:用1/n 正则化
  • ‘backward’:无需正则化
  • ‘ortho’:使用1/sqrt(n)正则化

3.2 举例(和FFT的对比) 

import torcha=torch.Tensor([[0,1,2,3],[3,4,6,7]])
torch.fft.fft(a)
'''
tensor([[ 6.+0.j, -2.+2.j, -2.+0.j, -2.-2.j],[20.+0.j, -3.+3.j, -2.+0.j, -3.-3.j]])
'''torch.fft.rfft(a)
'''
tensor([[ 6.+0.j, -2.+2.j, -2.+0.j],[20.+0.j, -3.+3.j, -2.+0.j]])
'''

4 irfft

rfft的逆运算

import torcha=torch.Tensor([[0,1,2,3],[3,4,6,7]])
torch.fft.irfft(torch.fft.rfft(a))
'''
tensor([[0., 1., 2., 3.],[3., 4., 6., 7.]])
'''

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...