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

时间:2016-05-05 09:01:11

标签: c++ plot gnuplot signal-processing fft

我正在开发一个项目,我从0到255获取数据,如果此数据符合某些条件,是否遵循某个字符串,它是使用Gnuplot直接绘图,否则它只是存储在一个data.txt文件。

我面临的问题:

  1. 我正在绘制的图表不是很平滑但是是锯齿状的。我想要 通过使用FFTW3或某些程序处理数据来平滑数据 像那样。我需要这样做,以便我可以进一步分析数据 参考

  2. 我读到了快速傅里叶变换,我不知道如何将傅立叶应用于我收到的数字串。

  3. 请帮我处理我应该使用的代码。

    结论:

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

1 个答案:

答案 0 :(得分:1)

快速傅立叶对您的应用来说太过分了,您只需要对样品进行低通滤波以降低噪音。

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

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

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

3)打印你想要的那些。