基于Python/C混合编程的波形显示处理软件设计
发布时间:2021-06-13 01:23
随着待测量信号的频率范围和复杂程度的日益增加,用户对高速采集系统的性能要求越来越高。而针对于高速采集系统应用的软件也需要不断进行创新以提高性能,从而可以满足更加复杂多变的测量需求。本文基于光学拉伸采集系统项目的要求,设计实现了一种针对高速采集系统应用的波形显示处理软件,文中着重对高速采集数据的波形显示和波形处理部分进行研究;同时完成了基于PCIExpress总线的高速采集系统驱动设计,以获得采集硬件上传的波形数据;以及采集系统控制命令的设计,根据用户发送的控制指令改变显示的格式或内容等。具体的研究内容如下:(1)波形显示处理软件需求分析和软件总体方案设计。针对高速采集系统的波形显示和处理等需求,对其用户操作端、数据收发端、波形处理端等关键需求进行了详细分析,完成了包括软件主控模块、波形显示模块和波形数据获取与处理模块的总体方案设计。(2)基于PyQt(Qt的Python语言封装)开发框架,设计了用户界面;针对用户的定点测量需求,设计了光标测量模块;针对硬件触发后触发点晃动的问题,设计了软件的触发模块,配合硬件完成预触发和触发点的确定。(3)针对Python运行速度较慢导致的软件显示刷新...
【文章来源】:电子科技大学四川省 211工程院校 985工程院校 教育部直属院校
【文章页数】:81 页
【学位级别】:硕士
【部分图文】:
profile性能分析图
第三章基于Python/C混合编程的波形处理模块设计25根据参数测量函数的编写过程,把波形处理模块中其他运行效率不高的函数也进行加速,然后使用Python主控程序调用这些pyd文件,并对接收到的波形数据进行处理和显示,软件一段时间内的刷新率如图3-4所示,可以达到37帧以上,对比加速前不到30帧的刷新率有了很大提升。图3-4界面刷新率3.3波形处理模块的设计波形数据处理模块是波形显示处理软件的重要模块之一,因为波形需要经过相应处理后才能进行显示,且用户需要查看处理后的波形参数以更直观地了解波形的各种特征。硬件采集模块完成采集之后将采样数据传输到上位机,主控模块根据用户的设置对波形数据分别进行时域波形处理和频域波形处理。波形处理模块的流程如图3-5所示。开始是否需要插值根据当前时基档位确定插值倍数并插值是否需要抽点根据当前时基档位确定抽点比例并抽点结束YNNY对波形进行触发对波形进行触发N对波形数据进行预处理是否进行频域波形处理FFT是否需要加窗对波形进行加窗处理频谱平均YY对波形进行参数测量图3-5波形数据处理流程图根据流程图所示,软件首先对波形数据进行预处理,接着软件需要对信号进行触发以使波形同步,然后判断当前时基档位是否需要插值或抽点,若需要则根据当
第三章基于Python/C混合编程的波形处理模块设计29其中对正弦波采样点插完值的结果如图3-7所示。图3-7不同插值算法对正弦波插值对比图从表3-1、表3-2和图3-3中可以看出对于正弦波来说,正弦插值和五次样条插值对波形的恢复效果都很好,但正弦插值的运行速度不如Scipy库中的五次样条插值函数,线性插值的效果不如前两者顺滑,且线性插值的RMS值远高于另外两种方法;在方波和锯齿波的恢复上这三种方法的差别则不是很大,但线性插值的速度要远快于另两种算法。通过以上对比,本文最终使用的插值算法为五次样条插值和线性插值。当需要插值的情况为(1)时采用五次样条插值;为(2)时则根据时基档位变化的多少选择采用线性插值或五次样条插值,当时基档位在3个档位以内变化时选择线性插值,当大于3个档位时为了更好地保持信号特征选择五次样条插值法进行插值。3.3.1.2参数测量功能参数测量是波形显示处理软件的重要功能之一。在IEEEStd181-2011标准中给出了用于描述脉冲信号波形和测量脉冲信号的相关术语和定义,并提供了用于计算描述波形可测量参数的定义值算法[22]。软件对接收到的波形数据进行计算后可以得到各种反应波形细节的参数,有助于用户对波形进行精确的定量分析。测量参数的类型包括时间参数、幅值参数和高级参数,它涵盖了一幅波形在时间域和电压域的整体信息,所以需要以频数直方图的方式来存放该幅波形在这两个域上的统计信息。频数直方图是使用不同的矩形条来表示输入数据频数变化规律的图形,因为参数测量是针对单幅波形在时间或电压上的变化规律进行测量,故将一幅波形的数据作为直方图的输入,这样就可以获得记录了该幅波形在时间域和电压域上统
【参考文献】:
期刊论文
[1]基于PCIe总线的高速数据采集系统设计与实现[J]. 尤焜. 电子测试. 2019(11)
[2]牛顿-科特斯公式余项中的数学分析方法[J]. 冯晓霞,凌永辉. 闽南师范大学学报(自然科学版). 2018(03)
[3]基于SWIG的Python仪器驱动封装技术[J]. 马宇,叶卫东. 计测技术. 2018(02)
[4]窗函数在信号处理中的应用[J]. 崔璨,袁英才. 北京印刷学院学报. 2014(04)
[5]基于.NET的多线程编程设计与实现[J]. 崔朝霞,张文婧,张准,付丽群. 数字技术与应用. 2014(05)
[6]新型智能信号源设计[J]. 邱甫林,黄全胜. 计量与测试技术. 2010(05)
[7]内插算法在DSO示波器中的应用[J]. 谢波,谢华. 电子质量. 2009(11)
[8]示波器发展趋势展望[J]. Robert Lashlee. 国外电子测量技术. 2009(05)
[9]数字存储示波器中触发电路的FPGA设计与实现[J]. 李世文,潘中良. 中国仪器仪表. 2009(03)
[10]利用WinDriver开发设备驱动[J]. 景琦,殷永红,李鹏. 现代电子技术. 2005(19)
硕士论文
[1]2.5GSPS高分辨率示波器数据分析与处理软件设计[D]. 杨景文.电子科技大学 2017
[2]基于windows平台的数字示波器显示与处理软件的设计与实现[D]. 吴兰.东南大学 2015
本文编号:3226699
【文章来源】:电子科技大学四川省 211工程院校 985工程院校 教育部直属院校
【文章页数】:81 页
【学位级别】:硕士
【部分图文】:
profile性能分析图
第三章基于Python/C混合编程的波形处理模块设计25根据参数测量函数的编写过程,把波形处理模块中其他运行效率不高的函数也进行加速,然后使用Python主控程序调用这些pyd文件,并对接收到的波形数据进行处理和显示,软件一段时间内的刷新率如图3-4所示,可以达到37帧以上,对比加速前不到30帧的刷新率有了很大提升。图3-4界面刷新率3.3波形处理模块的设计波形数据处理模块是波形显示处理软件的重要模块之一,因为波形需要经过相应处理后才能进行显示,且用户需要查看处理后的波形参数以更直观地了解波形的各种特征。硬件采集模块完成采集之后将采样数据传输到上位机,主控模块根据用户的设置对波形数据分别进行时域波形处理和频域波形处理。波形处理模块的流程如图3-5所示。开始是否需要插值根据当前时基档位确定插值倍数并插值是否需要抽点根据当前时基档位确定抽点比例并抽点结束YNNY对波形进行触发对波形进行触发N对波形数据进行预处理是否进行频域波形处理FFT是否需要加窗对波形进行加窗处理频谱平均YY对波形进行参数测量图3-5波形数据处理流程图根据流程图所示,软件首先对波形数据进行预处理,接着软件需要对信号进行触发以使波形同步,然后判断当前时基档位是否需要插值或抽点,若需要则根据当
第三章基于Python/C混合编程的波形处理模块设计29其中对正弦波采样点插完值的结果如图3-7所示。图3-7不同插值算法对正弦波插值对比图从表3-1、表3-2和图3-3中可以看出对于正弦波来说,正弦插值和五次样条插值对波形的恢复效果都很好,但正弦插值的运行速度不如Scipy库中的五次样条插值函数,线性插值的效果不如前两者顺滑,且线性插值的RMS值远高于另外两种方法;在方波和锯齿波的恢复上这三种方法的差别则不是很大,但线性插值的速度要远快于另两种算法。通过以上对比,本文最终使用的插值算法为五次样条插值和线性插值。当需要插值的情况为(1)时采用五次样条插值;为(2)时则根据时基档位变化的多少选择采用线性插值或五次样条插值,当时基档位在3个档位以内变化时选择线性插值,当大于3个档位时为了更好地保持信号特征选择五次样条插值法进行插值。3.3.1.2参数测量功能参数测量是波形显示处理软件的重要功能之一。在IEEEStd181-2011标准中给出了用于描述脉冲信号波形和测量脉冲信号的相关术语和定义,并提供了用于计算描述波形可测量参数的定义值算法[22]。软件对接收到的波形数据进行计算后可以得到各种反应波形细节的参数,有助于用户对波形进行精确的定量分析。测量参数的类型包括时间参数、幅值参数和高级参数,它涵盖了一幅波形在时间域和电压域的整体信息,所以需要以频数直方图的方式来存放该幅波形在这两个域上的统计信息。频数直方图是使用不同的矩形条来表示输入数据频数变化规律的图形,因为参数测量是针对单幅波形在时间或电压上的变化规律进行测量,故将一幅波形的数据作为直方图的输入,这样就可以获得记录了该幅波形在时间域和电压域上统
【参考文献】:
期刊论文
[1]基于PCIe总线的高速数据采集系统设计与实现[J]. 尤焜. 电子测试. 2019(11)
[2]牛顿-科特斯公式余项中的数学分析方法[J]. 冯晓霞,凌永辉. 闽南师范大学学报(自然科学版). 2018(03)
[3]基于SWIG的Python仪器驱动封装技术[J]. 马宇,叶卫东. 计测技术. 2018(02)
[4]窗函数在信号处理中的应用[J]. 崔璨,袁英才. 北京印刷学院学报. 2014(04)
[5]基于.NET的多线程编程设计与实现[J]. 崔朝霞,张文婧,张准,付丽群. 数字技术与应用. 2014(05)
[6]新型智能信号源设计[J]. 邱甫林,黄全胜. 计量与测试技术. 2010(05)
[7]内插算法在DSO示波器中的应用[J]. 谢波,谢华. 电子质量. 2009(11)
[8]示波器发展趋势展望[J]. Robert Lashlee. 国外电子测量技术. 2009(05)
[9]数字存储示波器中触发电路的FPGA设计与实现[J]. 李世文,潘中良. 中国仪器仪表. 2009(03)
[10]利用WinDriver开发设备驱动[J]. 景琦,殷永红,李鹏. 现代电子技术. 2005(19)
硕士论文
[1]2.5GSPS高分辨率示波器数据分析与处理软件设计[D]. 杨景文.电子科技大学 2017
[2]基于windows平台的数字示波器显示与处理软件的设计与实现[D]. 吴兰.东南大学 2015
本文编号:3226699
本文链接:https://www.wllwen.com/kejilunwen/dianlidianqilunwen/3226699.html