gpt4 book ai didi

c++ - 使用 Matlab 对大数据 (16gB) 进行 FFT

转载 作者:太空狗 更新时间:2023-10-29 21:20:20 25 4
gpt4 key购买 nike

我正在尝试计算从大约 16 gB 大小的文本文件导入的大量数据的快速傅里叶变换。我试图想出一种在 matlab 中计算其 fft 的方法,但由于我的计算机内存 (8gB),它给我一个内存不足的错误。我尝试使用 memmap、textscan,但无法申请获取组合数据的 FFT。

谁能指导我如何进行傅立叶变换?我还试图在远程服务器上使用 C++ 代码进行傅立叶变换(使用定义),但执行起来需要很长时间。谁能告诉我应该如何处理这些大数据?

最佳答案

这取决于您需要的 FFT 分辨率。如果您只需要 1024 个点的 FFT,那么您可以将数据整形为或按顺序将其读取为 N x 1024 block 。获得这种格式后,您就可以将每个 FFT 结果的输出添加到 1024 点复数累加器。

如果您在 FFT 之后需要相同的分辨率,那么您需要更多的内存,或者一个特殊的 fft 例程,它不包含在 Matlab 中(但我不确定它在数学上是否可行通过缓冲小块进行部分 FFT 以获得完整分辨率)。

关于c++ - 使用 Matlab 对大数据 (16gB) 进行 FFT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24781733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com