本文简要介绍 python 语言中 scipy.fft.hfftn
的用法。
用法:
scipy.fft.hfftn(x, s=None, axes=None, norm=None, overwrite_x=False, workers=None, *, plan=None)#
计算 Hermitian 对称复数输入的 N-D FFT,即具有实频谱的信号。
此函数通过快速傅里叶变换 (FFT) 计算 M-D 数组中任意数量轴上的 Hermitian 对称复数输入的 N-D 离散傅里叶变换。换句话说,
ihfftn(hfftn(x, s)) == x
在数值精度范围内。 (s
这里是x.shape
和s[-1] = x.shape[-1] * 2 - 1
,这是必要的,原因与x.shape
对irfft
是必需的相同。)- x: array_like
输入数组。
- s: 整数序列,可选
输出的形状(每个变换轴的长度)(
s[0]
指轴 0,s[1]
到轴 1 等)。s也是沿该轴使用的输入点数,最后一个轴除外,其中s[-1]//2+1
使用输入点。沿着任何轴,如果形状由s小于输入的,输入被裁剪。如果它更大,则用零填充输入。如果s如果未给出,则使用沿轴指定的轴的输入形状。除了最后一个轴被认为是2*(m-1)
其中m
是输入沿该轴的长度。- axes: 整数序列,可选
计算逆 FFT 的轴。如果未给出,则使用最后一个 len(s) 个轴,如果也未指定 s,则使用所有轴。
- norm: {“backward”, “ortho”, “forward”},可选
标准化模式(参见
fft
)。默认为“backward”。- overwrite_x: 布尔型,可选
如果为真,则内容x可以销毁;默认为假。看scipy.fft.fft更多细节。
- workers: 整数,可选
用于并行计算的最大工作线程数。如果为负,则该值从
os.cpu_count()
环绕。有关详细信息,请参阅fft
。- plan: 对象,可选
此参数保留用于传递下游 FFT 供应商提供的预先计算的计划。它目前未在 SciPy 中使用。
- out: ndarray
截断或补零的输入,沿由轴,或通过组合s或者x,如上面的参数部分所述。每个变换轴的长度由对应的元素给出s,或者除了最后一个轴之外的每个轴的输入长度,如果s没有给出。在最终转换的轴中,输出的长度是s没有给出是
2*(m-1)
其中m
是输入的最终变换轴的长度。要在最终轴上获得奇数个输出点,s必须指定。
- ValueError
如果 s 和轴有不同的长度。
- IndexError
如果轴的某个元素大于 x 的轴数。
参数 ::
返回 ::
抛出 ::
注意:
对于一维信号
x
具有实频谱,它必须满足 Hermitian 属性:x[i] == np.conj(x[-i]) for all i
通过依次反映每个轴,这可以推广到更高的维度:
x[i, j, k, ...] == np.conj(x[-i, -j, -k, ...]) for all i, j, k, ...
这不应与 Hermitian 矩阵相混淆,后者的转置是它自己的共轭:
x[i, j] == np.conj(x[j, i]) for all i, j
s 的默认值假定最终转换轴上的输出长度为偶数。在执行最终复数到实数的变换时,厄米对称性要求沿该轴的最后一个虚数分量必须为 0,因此它被忽略。为了避免丢失信息,必须给出真实输入的正确长度。
例子:
>>> import scipy.fft >>> import numpy as np >>> x = np.ones((3, 2, 2)) >>> scipy.fft.hfftn(x) array([[[12., 0.], [ 0., 0.]], [[ 0., 0.], [ 0., 0.]], [[ 0., 0.], [ 0., 0.]]])
相关用法
- Python SciPy fft.hfft用法及代码示例
- Python SciPy fft.idctn用法及代码示例
- Python SciPy fft.next_fast_len用法及代码示例
- Python SciPy fft.fft2用法及代码示例
- Python SciPy fft.fftn用法及代码示例
- Python SciPy fft.ifft2用法及代码示例
- Python SciPy fft.ifftn用法及代码示例
- Python SciPy fft.ihfftn用法及代码示例
- Python SciPy fft.rfftfreq用法及代码示例
- Python SciPy fft.dctn用法及代码示例
- Python SciPy fft.rfft用法及代码示例
- Python SciPy fft.fftfreq用法及代码示例
- Python SciPy fft.fht用法及代码示例
- Python SciPy fft.dct用法及代码示例
- Python SciPy fft.idstn用法及代码示例
- Python SciPy fft.rfftn用法及代码示例
- Python SciPy fft.set_global_backend用法及代码示例
- Python SciPy fft.ifftshift用法及代码示例
- Python SciPy fft.ihfft用法及代码示例
- Python SciPy fft.irfftn用法及代码示例
- Python SciPy fft.set_backend用法及代码示例
- Python SciPy fft.idct用法及代码示例
- Python SciPy fft.fft用法及代码示例
- Python SciPy fft.get_workers用法及代码示例
- Python SciPy fft.irfft用法及代码示例
注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.fft.hfftn。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。