numpy.fft.rfft

fft.rfft(a, n=None, axis=- 1, norm=None)[源代码]

计算实际输入的一维离散傅立叶变换。

这个函数计算一维 n -通过一种称为快速傅立叶变换(FFT)的高效算法,对实值阵列进行点离散傅立叶变换(DFT)。

参数
aarray_like

输入数组

n可选的

要使用的输入中沿转换轴的点数。如果 n 小于输入的长度时,将剪切输入。如果它更大,输入将用零填充。如果 n 未给定,输入沿指定轴的长度 axis 使用。

axis可选的

计算自由流速度的轴。如果没有给出,则使用最后一个轴。

norm{“向后”,“正交”,“向前”},可选

1.10.0 新版功能.

标准化模式(参见 numpy.fft ). 默认为“向后”。指示前向/后向变换对的哪个方向被缩放以及使用什么规格化因子。

1.20.0 新版功能: 添加了“向后”、“向前”值。

返回
out复合中子

截断的或零填充的输入,沿所指示的轴转换 axis 或者最后一个如果 axis 未指定。如果 n 是偶数,转换轴的长度是 (n/2)+1 .如果 n 是奇数,长度是 (n+1)/2 .

加薪
IndexError

如果 axis 不是有效的轴 a .

参见

numpy.fft

用于定义DFT和使用的约定。

irfft

rfft .

fft

一般(复杂)输入的一维FFT。

fftn

这个 n -尺寸fft。

rfftn

这个 n -实际输入的尺寸FFT。

笔记

当计算纯实输入的DFT时,输出是厄米对称的,即负频率项只是相应的正频率项的复共轭,因此负频率项是多余的。此函数不计算负频率项,因此输出转换轴的长度为 n//2 + 1 .

什么时候? A = rfft(a) fs是采样频率, A[0] 包含零频率项0*fs,这是由于厄米特对称性而真实存在的。

如果 n 偶数, A[-1] 包含表示正奈奎斯特频率和负奈奎斯特频率(+fs/2和-fs/2)的术语,并且必须是纯实数。如果 n 为奇数,fs/2处无术语; A[-1] 包含最大的正频率(fs/2*(n-1)/n),一般情况下比较复杂。

如果输入 a 包含一个虚拟部分,它被静默丢弃。

实例

>>> np.fft.fft([0, 1, 0, 0])
array([ 1.+0.j,  0.-1.j, -1.+0.j,  0.+1.j]) # may vary
>>> np.fft.rfft([0, 1, 0, 0])
array([ 1.+0.j,  0.-1.j, -1.+0.j]) # may vary

注意最后一个元素 fft 对于实际输入,输出是第二个元素的复数共轭。为了 rfft 该对称性仅用于计算非负频率项。