IT评测·应用市场-qidao123.com
标题:
QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图
[打印本页]
作者:
怀念夏天
时间:
2023-5-28 19:06
标题:
QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图
说明
最近在学中频信号处理的一些东西,顺便用 QT 写了一个小工具,可以显示信号的时域波形图、幅度谱、功率谱、二次方谱、四次方谱、八次方谱、瞬时包络、瞬时频率、瞬时相位、非线性瞬时相位、瞬时幅度直方图、瞬时频率直方图、瞬时相位直方图、眼图、星座图、语谱图、瀑布图。
目录
说明
1. 实现思路
2. 时域波形图
3. 幅度谱
4. 功率谱
5. 二次方谱
6. 四次方谱
7. 八次方谱
8. 瞬时包络
9. 瞬时频率
10. 瞬时相位
11. 非线性瞬时相位
12. 瞬时幅度直方图
13. 瞬时频率直方图
14. 瞬时相位直方图
15. 眼图
16. 星座图
17. 语谱图
18. 瀑布图
1. 实现思路
工具为纯 C++ 开发,包括频谱计算以及图像可视化。这里简述下实现思路,使用到了以下第三方库:
QCustomPlot 绘图库
。
FFTW 傅氏变换库
。
FreeGlut 工具包
。
频谱计算部分,通过调用 FFTW 的 C++ 接口,同时开启 OpenMP 多核支持,可以获得很快的计算速度,比 MATLAB 还快,工具中的
所有频谱都是在点击按钮时现算的
。在我的电脑上(8 核 Intel i7-6700HQ CPU @ 2.60GHz),实测对 33554432 长度(2 的 25 次方)的双精度浮点数组进行傅里叶变换,两种方式的耗时如下:
MATLAB 的 fft 函数耗时 629 毫秒。
C++ 调用 FFTW 接口并开启 OpenMP 多核支持,耗时 390 毫秒。
图像可视化部分,使用 QCustomPlot 完成图像绘制,并结合 FreeGlut 工具开启 OpenGL 支持,绘图质量及响应速度也得到了较好的提升,大数据显示并进行交互时不会出现卡顿。为了进一步提升速度,还修改了 QCustomPlot 的部分源码,将数据更新接口暴露出来,使用 memcpy() 直接对原始绘图数据所在的内存块进行操作,提升数据更新的速度。主界面如下:
2. 时域波形图
测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。波形显示时做了贝塞尔平滑处理。
3. 幅度谱
测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。
4. 功率谱
测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。
5. 二次方谱
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
6. 四次方谱
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
7. 八次方谱
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
8. 瞬时包络
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
9. 瞬时频率
测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。
10. 瞬时相位
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
11. 非线性瞬时相位
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
12. 瞬时幅度直方图
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
13. 瞬时频率直方图
测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。
14. 瞬时相位直方图
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
15. 眼图
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,基带信号,文件大小 64 MB。
16. 星座图
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
17. 语谱图
测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。从计算到显示总耗时不超过 1 秒。
18. 瀑布图
测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。谱线为实时计算。由于 GIF 上传大小限制为 5 MB,录制为 GIF 时做了质量损失。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4