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() 直接对原始绘图数据所在的内存块进行操作,提升数据更新的速度。主界面如下:
https://img-blog-young.oss-cn-qingdao.aliyuncs.com/img/202305281519231.png!cnblogs_watermark
2. 时域波形图
测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。波形显示时做了贝塞尔平滑处理。
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528183051457-197744483.gif
3. 幅度谱
测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528183208953-731332126.gif
4. 功率谱
测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528183235332-407605155.gif
5. 二次方谱
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528183653620-1041581970.gif
6. 四次方谱
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528183706511-1244626651.gif
7. 八次方谱
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528183719596-802467299.gif
8. 瞬时包络
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528183736382-1274607234.gif
9. 瞬时频率
测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528183754286-541281933.gif
10. 瞬时相位
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528183811644-1316712704.gif
11. 非线性瞬时相位
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528183823880-245210102.gif
12. 瞬时幅度直方图
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528183836950-1347823258.gif
13. 瞬时频率直方图
测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528183851421-1759137775.gif
14. 瞬时相位直方图
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528183907702-2107375946.gif
15. 眼图
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,基带信号,文件大小 64 MB。
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528183920978-1144474207.gif
16. 星座图
测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528183934680-179745395.gif
17. 语谱图
测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。从计算到显示总耗时不超过 1 秒。
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528183948253-1767668141.gif
18. 瀑布图
测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。谱线为实时计算。由于 GIF 上传大小限制为 5 MB,录制为 GIF 时做了质量损失。
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528184006041-1994942870.gif
https://img2023.cnblogs.com/blog/2893515/202305/2893515-20230528184027084-68143146.gif
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]