原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.fft.hfft.html
校对:(虚位以待)
numpy.fft.
hfft
(a, n=None, axis=-1, norm=None)[source]计算具有厄密对称(实际频谱)的信号的FFT。
参数: | a:array_like
n:int,可选
axis:int,可选
norm:{None,“ortho”},可选
|
---|---|
返回: | out:ndarray
|
上升: | IndexError
|
笔记
hfft
/ ihfft
是类似于rfft
/ irfft
的对,但是对于相反的情况: Hermitian在时域中的对称性,并且在频域中是真实的。所以这里是hfft
,如果它是奇数,你必须提供结果的长度:ihfft(hfft(a), len a)) == a
。
例子
>>> signal = np.array([1, 2, 3, 4, 3, 2])
>>> np.fft.fft(signal)
array([ 15.+0.j, -4.+0.j, 0.+0.j, -1.-0.j, 0.+0.j, -4.+0.j])
>>> np.fft.hfft(signal[:4]) # Input first half of signal
array([ 15., -4., 0., -1., 0., -4.])
>>> np.fft.hfft(signal, 6) # Input entire signal and truncate
array([ 15., -4., 0., -1., 0., -4.])
>>> signal = np.array([[1, 1.j], [-1.j, 2]])
>>> np.conj(signal.T) - signal # check Hermitian symmetry
array([[ 0.-0.j, 0.+0.j],
[ 0.+0.j, 0.-0.j]])
>>> freq_spectrum = np.fft.hfft(signal)
>>> freq_spectrum
array([[ 1., 1.],
[ 2., -2.]])