实时绘图的信号处理数据(c++中的FFT和GNUPLOT)
Signal Processing Data to Live Plotting(FFT and GNUPLOT in c++)
我正在处理一个项目,在该项目中,我获得从0到255的数据。如果该数据符合某些条件,无论它是否遵循某个字符串,它都是使用Gnuplot
直接绘制的,否则它只会存储在data.txt文件中。
我面临的问题:
-
我画的图不是平滑的,而是锯齿状的。我想使用
FFTW3
或某些程序对数据进行平滑处理就像那样。我需要这样做,以便进一步分析数据参考 -
我读过关于快速傅立叶变换的文章,我不确定如何将傅立叶应用于我收到的一串数字。
请帮我制定我应该使用的代码。
结论:
我以连续的数字串的形式获得数据,我需要有效地将其平滑并绘制在实时图中。
快速傅立叶对您的应用程序来说是一种过度处理,您只需要对样本进行低通滤波即可降低噪声。
我假设你的样本输入有一个恒定的速率,所以:
1) 识别你感兴趣的最大频率。(你的样本的频谱图或傅立叶图可能有助于识别它,使用数学软件(倍频程、matlab、numpy等))。
2) 设计一个中断频率高于目标最大值的数字低通滤波器(处理所有样本,而不仅仅是要打印的样本)。
3) 打印您想要的。
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- .cpp和.h文件中的模板专用化声明
- 反向给定链表中的K节点
- 正在查找文档以获得PS4平台的C++中的设备信息
- enum是C++中的宏变量还是整数变量
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 将字符串存储在c++中的稳定内存中
- 文本文件中的单词链表
- 递归函数计算序列中的平方和(并输出过程)
- 如何从C++中的依赖类型中获得它所依赖的类型
- C++中的"inline"关键字
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 用C++中的一个变量定义一个常量
- 1D中的非均匀FFT正向和反向测试
- 如何使用c++中的ipp库从信号中进行fft
- 实时绘图的信号处理数据(c++中的FFT和GNUPLOT)
- 递归fft计算中的分段错误
- FFT 算法中的一个错误
- 如何从Tizen上的实时FFT中获得最准确的音频数据?