繁体   English   中英

信号处理数据到实时绘图(C++ 中的 FFT 和 GNUPLOT)

[英]Signal Processing Data to Live Plotting(FFT and GNUPLOT in c++)

我正在处理一个项目,我从 0 到 255 获取数据,如果此数据符合特定条件,无论它是否遵循特定字符串,它都会使用Gnuplot直接绘图,否则它只会存储在 data.txt 文件中。

我面临的问题:

  1. 我绘制的图形不平滑,而是锯齿状。 我想通过使用FFTW3或类似的程序处理数据来平滑数据。 我需要这样做,以便我可以分析数据以供进一步参考。

  2. 我阅读了快速傅立叶变换,但不确定如何将傅立叶应用于我收到的数字串。

请帮助我使用我应该使用的代码。

结论:

我以连续数字串的形式获取数据,我需要有效地平滑这些数据并将其绘制在实时图中。

快速傅立叶对您的应用来说是一种矫枉过正,您只需要对样本进行低通滤波以减少噪声。

我假设您的样本输入具有恒定速率,因此:

1)确定您感兴趣的最大频率。(您的样本的频谱图或傅立叶图可能有助于在这里识别它,使用数学软件(octave,matlab,numpy等))。

2) 设计一个中断频率高于目标最大值的数字低通滤波器(处理所有样本,而不仅仅是您想要打印的样本)。

3)打印你想要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM