加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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

(2017-02-11 10:18:15)
标签:

pc示波器

picoscope

matlab

matlab信号处理工具箱

数据分析

分类: Scope

简介

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

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

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

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

设置

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

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

触发后捕获数据图

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

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

8位39.1Mv

16~0.153Mv

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

http://s8/bmiddle/003EYhPUzy78H6oi22j87&690 

块数据(8位分辨率)

http://s10/bmiddle/003EYhPUzy78H6pHz2F69&690 

块数据(16位分辨率)

当关注两幅图触发点正玄波顶部部分时,数据波形的不同更加清晰明显http://s16/bmiddle/003EYhPUzy78H6r27JZdf&690

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

http://s13/bmiddle/003EYhPUzy78H6t0Kny3c&690 

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

触发后捕获获取测量值

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

峰峰值peak2peak

上升时间risetime

下降时间falltime

均方根(rms

无杂散动态范围(sfdr

信噪比(snr

使用table函数可以量值列成表:http://s2/bmiddle/003EYhPUzy78H6uaM4F71&690

列表测量值

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

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

http://s12/bmiddle/003EYhPUzy78H6vvagb0b&690 

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

http://s13/bmiddle/003EYhPUzy78H6wDsUkdc&690 

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

FFT分析

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

设置

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

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

触发后捕获应用FFT

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

http://s7/bmiddle/003EYhPUzy78H6yaLJQa6&690 

PicoScope 5000系列数据与FT图

触发后捕获分析波形数据

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

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

http://s12/bmiddle/003EYhPUzy78H6zkW95ab&690 

overshoot函数画的图

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

http://s11/bmiddle/003EYhPUzy78H6AixV80a&690 

pulsewidth函数画的图

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

pw=

 

4.9990e-04

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

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

dutyCycle=

 

0.5001

  这个值很接近预计50%。

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

avgFreq=

 

999.9999

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

totalJitter=

 

1.5070e-07

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

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

http://s9/bmiddle/003EYhPUzy78H6CuB4c08&690 

任意波形

设置

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

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

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

http://s6/bmiddle/003EYhPUzy78H6Dh8X355&690 

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

滤波器设计

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

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

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

触发后捕获滤波与画图

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

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

http://s4/bmiddle/003EYhPUzy78H6E266D23&690 

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

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


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有