我有一个长度为 1024 的数组x(存储为 16 位整数,例如np.int16在 numpy/python 中命名),即x 的大小为 1024*2 = 2048 字节。
(备注:x 来自一个音频 .wav 文件,存储为 16 位整数,因为它很常见。但也很常见将其解释为浮点数组,其值在中:) x = x * 1.0 / 2^16 _
当我接受fft(x)时,由于输入是真实的,因此存在一些对称性,我只需要存储数组fft(x)的一半,这通常也称为rfft(x):真正的 fft。
这意味着,通过取
fft,我将 1024 个实数转换为 512 个复数(即可以再次被视为 1024 个实数):从数学的角度来看,我们拥有相同数量的数据:1024 real coefficients -- rfft --> 1024 real coefficients
但从编程的角度来看,是否可以无损*且不压缩地存储1024 个类型元素(使用 2048 字节)fft的数组,最大 2048 字节?int16
fft如果不是,存储这样一个数组所需的最小字节数是多少?
备注 (*) : 无损我的意思是原始x可以稍后恢复