首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图 ...
返回列表
发新帖
QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图
[复制链接]
发表于 2023-5-28 19:06:47
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
说明
最近在学中频信号处理的一些东西,顺便用 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 时做了质量损失。
回复
使用道具
举报
返回列表
浏览过的版块
人工智能
linux
程序人生
公有云
DevOps与敏捷开发
IOS
物联网
MES
数据仓库与分析
怀念夏天
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表