QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图

这篇具有很好参考价值的文章主要介绍了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() 直接对原始绘图数据所在的内存块进行操作,提升数据更新的速度。主界面如下:

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图


2. 时域波形图

测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。波形显示时做了贝塞尔平滑处理。

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图


3. 幅度谱

测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图


4. 功率谱

测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图


5. 二次方谱

测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图


6. 四次方谱

测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图


7. 八次方谱

测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图


8. 瞬时包络

测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图


9. 瞬时频率

测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图


10. 瞬时相位

测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图


11. 非线性瞬时相位

测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图


12. 瞬时幅度直方图

测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图


13. 瞬时频率直方图

测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图


14. 瞬时相位直方图

测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图


15. 眼图

测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,基带信号,文件大小 64 MB。

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图


16. 星座图

测试信号:8PSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,载波频率 71104 Hz,文件大小 64 MB。

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图


17. 语谱图

测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。从计算到显示总耗时不超过 1 秒。

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图


18. 瀑布图

测试信号:2FSK 调制,调制速率 8888 Baud/s,采样率 284416 Hz,信号频率 62216 Hz 与 79992Hz,文件大小 64 MB。谱线为实时计算。由于 GIF 上传大小限制为 5 MB,录制为 GIF 时做了质量损失。

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图

QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图文章来源地址https://www.toymoban.com/news/detail-462334.html

到了这里,关于QT 绘制波形图、频谱图、瀑布图、星座图、眼图、语图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • WebGL笔记:使用鼠标绘制多个线条应用及绘制动感线性星座及修复Mac系统下的渲染缺陷问题

    使用鼠标绘制多个线条 多个线条,肯定不是一笔画过的,而是多次画的线条 既然是多线,那就需要有个容器来管理它们 1 )建立容器对象 建立一个 lineBox 对象,作为承载多边形的容器 属性 gl webgl上下文对象 children 子级 方法 add() 添加子对象 updateVertices() 更新子对象的顶点数

    2024年02月08日
    浏览(35)
  • matplotlib绘制动态瀑布图

    绘制瀑布图思路:遍历指定文件目录下所有的csv文件,每读一个文件,取文件前20行数据进行保存,如果超过规定的行数300行,将最旧的数据删除,仅保留300行数据进行展示。 网上找的大部分绘制瀑布图的代码,均无法呈现动态效果。不是动态的效果还能称为瀑布图吗?(疑问

    2024年01月18日
    浏览(46)
  • 使用python绘制音频的时频图、频谱图和MFCC特征图

    时频图如上 频图图 完整的mfcc

    2024年02月13日
    浏览(47)
  • 开源波形图绘制工具WaveDromGen

    芯片前端设计经常要描述接口波形行为,传统的绘图工具,如TimeGen,Viso都是收费的,而开源工具WaveDrom需要记住繁琐的编码符号,并且,编码方式对画一些复杂接口时序来说,也是极不友好的,如何更快更方便且免费的画接口波形呢? WaveDromGen使用python3编写,是一款功能强

    2024年02月16日
    浏览(38)
  • 184_Python 在 Excel 和 Power BI 绘制堆积瀑布图

    在 2023 年 8 月 22 日 微软 Excel 官方宣布:在 Excel 原生内置的支持了 Python。博客原文 笔者第一时间就更新到了 Excel 的预览版,通过了漫长等待分发,现在可以体验了,先来看看效果。 在 Excel 公式选项卡下 Python 菜单 原来的 Excel 公示栏,左边多了一个 PY 的绿高亮区域输入

    2024年02月07日
    浏览(47)
  • web前端实时音频播放并绘制波形

    最新项目需要用到拉取实时声音流数据播放声音以及显示对应的波形图。如果是声音文件我们可以用 wavesurfer.js这个框架很轻松的绘制波形,但是实时声音怎么转换呢,以下是我的解决方案 后端需要将数据转换成PCM格式 我们用到下面2个库: 1.pcm-player (播放声音) 2.recorder

    2024年02月11日
    浏览(59)
  • video标签自动播放音视频并绘制波形图

    html中的video标签可以用来播放常见的音视频格式,支持的格式包括:MP3、Ogg、WAV、AAC、MP4、WebM、AVI等,当然支持的格式也和浏览器和操作系统有关。这里以一个可以自动播放音视频并绘制波形图的页面为例说明一下video标签的用法。 video标签想自动播放,需要设置三个可选属性

    2024年02月09日
    浏览(55)
  • 前端-如何用echarts绘制含有多个分层的波形图

    先展示一下实际的效果图 用户选择完需要的波形参数字段之后,页面开始渲染图表,有几个参数就要渲染几个grid,也就是几行波形。 拿到所选的参数数据之后 1.首先是给横坐标轴的里程-数据注入 2.修改tooltip(跟着竖线走的卡片弹窗)里面的弹出窗的显示,需要返回html模板

    2024年02月01日
    浏览(47)
  • PyQt5 UI Designer使用pyqtgraph绘制波形

    包含了两个QWidget控件也可以是QGraphicsView控件类型。 两个控件分别提升为pyqtgraph.GraphicsLayoutWidget类型和pyqtgraph.PlotWidget GraphicsLayoutWidget类型通过addPlot方法添加波形数据,每个波形都占有独立的区域。 plt1 = self.graphicsLayout.addPlot(y=np.random.normal(size=1000), title=“温度”) plt2 = self.

    2024年02月06日
    浏览(43)
  • C# winfrom实例:四路激光测距雷达数据采集和波形图绘制

       1.所述产品 产品型号: TFmini Plus 相关资料下载地址:http://www.benewake.com/download 产品名称:TFmini Plus激光雷达模组 制造商 公司:北醒(北京)光子科技有限公司  2.产品功能:TFmini Plus是基于TFmini的升级项目,它是一款小型化,单点测距的产品,基于TOF(飞行 时间)原理,

    2024年02月19日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包