MATLAB-使用信号处理工具箱分析PicoScope 数据

2017-02-14  by:CAE仿真在线  来源:互联网

简介

这篇文章讲述使用信号处理工具箱对PicoScope 5000系列柔性分辨率示波器采集到MATLAB环境中的数据进行分析与滤波。

在下面的例子中,使用PicoScope 5244B 示波器。

比较使用8位分辨率和16位分辨率采集的数据

在这个例子中,使用相同的信号源,先将示波器设置为8位分辨率进行数据采集,再将示波器设置为16位分辨率进行数据采集。

设置

通过MATLAB脚本,设置信号发生器输出±2V、1KHz的正玄波,设置A通道阈值为1V的上升沿触发。连接信号发生器的输出端到PicoScope的A通道输入端。

在脚本中设置PicoScope捕获块数据—触发前2048个样本点,触发后2048个样本点,采样间隔为496ns(~2 MS/s),先将示波器设置为8位分辨率进行数据采集,再将示波器设置为16位分辨率进行数据采集。

触发后捕获—画数据图

从捕获的波形中可以看出,将示波器设置成16位分辨率时捕获的数据图形比将示波器设置成8位分辨率时捕获的数据图形更加平滑。将示波器设置成16位分辨率时有65536个量化电平,8位分辨率时只有256个量化电平。

设置电压量程为±5V,每个量化电平对应如下:

l 8位:39.1Mv

l 16位:~0.153Mv

触发点被标记为红色“X”。

MATLAB-使用信号处理工具箱分析PicoScope 数据

块数据(8位分辨率)

MATLAB-使用信号处理工具箱分析PicoScope 数据

块数据(16位分辨率)

当关注两幅图触发点之后的正玄波顶部部分时,数据波形的不同更加清晰明显:MATLAB-使用信号处理工具箱分析PicoScope 数据

块数据放大图形(8位分辨率)

MATLAB-使用信号处理工具箱分析PicoScope 数据

块数据放大图形(16位分辨率)

触发后捕获—获取测量值

一旦数据被捕获,可以使用信号处理工具箱提供的函数获取以下测量值:

l 峰峰值(peak2peak)

l 上升时间(risetime)

l 下降时间(falltime)

l 均方根(rms)

l 无杂散动态范围(sfdr)

l 信噪比(snr)

使用table函数可以将测量值列成表:MATLAB-使用信号处理工具箱分析PicoScope 数据

列表测量值

比较两组数据发现,测量值的不同可以归纳为量化电平数量的不同,量化电平数量不同影响用于计算的数据值。

当调用测量函数时,MATLAB会显示相应的图形。下面的例子分别是8位分辨率和16位分辨率的上升时间图形,图形中的注释值自动添加的。

MATLAB-使用信号处理工具箱分析PicoScope 数据

上升时间图(8位分辨率)

MATLAB-使用信号处理工具箱分析PicoScope 数据

上升时间图(16位分辨率)

FFT分析

在这个例子中,FFT被用于PicoScope捕获的自己输出的方波。

设置

使用MATLAB脚本生成±2V、1KHz的方波,设置A通道阈值为1V的上升沿触发。连接信号发生器的输出端到PicoScope的A通道输入端。

在脚本中设置PicoScope捕获块数据—触发前3500个样本点,触发后3500个样本点,采样间隔为50us(20MS/s),将示波器设置为14位分辨率。

触发后捕获—应用FFT

一旦数据被捕获,可以使用fft 函数计算数据的DFT,然后在频域观察信号数据。频谱图展示了信号基波和奇次谐波成分。

MATLAB-使用信号处理工具箱分析PicoScope 数据

PicoScope 5000系列数据与FT图

触发后捕获—分析波形数据

信号处理工具箱也提供查找波形过冲、下冲、脉宽和占空比的函数。

overshoot 函数对作为函数参数的波形数据的一段进行画图,并进行了注释。

MATLAB-使用信号处理工具箱分析PicoScope 数据

overshoot函数画的图

对同一段波形数据使用pulsewidth函数,不指定函数的输出会导致图形中有另外一个注释图。

MATLAB-使用信号处理工具箱分析PicoScope 数据

pulsewidth函数画的图

指定pulsewidth函数的输出到一个变量,pw,结果如下:

pw=

4.9990e-04

这个值与1KHz方波周期的一半500us相对应。

dutycycle函数对波形数据的一段应用,结果如下:

dutyCycle=

0.5001

这个值很接近预计的50%。

使用pulseperiod函数计算波形数据的平均频率:

avgFreq=

999.9999

同步查找脉冲周期值数组的标准偏差计算总抖动:

totalJitter=

1.5070e-07

对流模式数据使用触发后滤波

在这个例子中,使用信号处理工具箱中的滤波器设计和分析工具设计一个可以对在触发后捕获的带有随机噪声的数据进行操作滤波器。

MATLAB-使用信号处理工具箱分析PicoScope 数据

任意波形图

设置

使用MATLAB脚本配置函数发生器输出一个±2V、1KHz的带有白噪声的正玄波。

设置A通道阈值为500mV的上升沿触发。连接信号发生器的输出端到PicoScope的A通道输入端。

在脚本中设置PicoScope使用流模式捕获数据,采样率为1MS/s,触发后采集10百万样本点后停止采集。

MATLAB-使用信号处理工具箱分析PicoScope 数据

使用FDT工具设计的低通巴特沃斯滤波器

滤波器设计

你可以使用滤波器设计与分析工具(FDA工具)设计可以对触发后采集的数据应用的滤波器。

图形右侧显示了无限冲击响应低通巴特沃斯滤波器的配置,显示幅度和相位响应参数。

滤波器设计完成后,可以通过FDA工具用户界面将其导出为MATLAB函数,这个函数被调用时返回离散时间滤波器对象,可以将这个滤波器对象的一些属性值和波形数据作为参数传递给filtfilt 函数,然后可以应用零相位数字滤波器。

触发后捕获—滤波与画图

在捕获几个周期的任意波形后,可以应用低通滤波器对触发后捕获的数据进行操作。

在同一张图上展示了捕获的原始数据的一部分和滤波后的波形,被滤波后的波形是零相位延时的光滑正玄波。

MATLAB-使用信号处理工具箱分析PicoScope 数据

应用滤波器的PicoScope 5000系列流模式数据

对同一段波形数据使用pulsewidth函数,不指定函数的输出会导致图形中有另外一个注释图。



开放分享:优质有限元技术文章,助你自学成才

相关标签搜索:MATLAB-使用信号处理工具箱分析PicoScope 数据 MatLab培训 MatLab培训课程 MatLab在线视频教程 MatLab技术学习教程 MatLab软件教程 MatLab资料下载 MatLab代做 MatLab基础知识 Fluent、CFX流体分析 HFSS电磁分析 Ansys培训 Abaqus培训 

编辑
在线报名:
  • 客服在线请直接联系我们的客服,您也可以通过下面的方式进行在线报名,我们会及时给您回复电话,谢谢!
验证码

全国服务热线

1358-032-9919

广州公司:
广州市环市中路306号金鹰大厦3800
电话:13580329919
          135-8032-9919
培训QQ咨询:点击咨询 点击咨询
项目QQ咨询:点击咨询
email:kf@1cae.com