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

标签:
pc示波器picoscopematlabmatlab信号处理工具箱数据分析 |
分类: Scope |
简介
这篇文章讲述使用信号处理工具箱对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
l
触发点被标记为红色“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位分辨率)
触发后捕获—获取测量值
一旦数据被捕获,可以使用信号处理工具箱提供的函数获取以下测量值:
l
l
l
l
l
l
使用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脚本生成±2V、1KHz的方波,设置A通道阈值为1V的上升沿触发。连接信号发生器的输出端到PicoScope的A通道输入端。
在脚本中设置PicoScope捕获块数据—触发前3500个样本点,触发后3500个样本点,采样间隔为50us(20MS/s),将示波器设置为14位分辨率。
触发后捕获—应用FFT
一旦数据被捕获,可以使用fft
http://s7/bmiddle/003EYhPUzy78H6yaLJQa6&690
PicoScope 5000系列数据与FT图
触发后捕获—分析波形数据
信号处理工具箱也提供查找波形过冲、下冲、脉宽和占空比的函数。
overshoot
http://s12/bmiddle/003EYhPUzy78H6zkW95ab&690
overshoot函数画的图
对同一段波形数据使用pulsewidth函数,不指定函数的输出会导致图形中有另外一个注释图。
http://s11/bmiddle/003EYhPUzy78H6AixV80a&690
指定pulsewidth函数的输出到一个变量,pw,结果如下:
pw=
4.9990e-04
dutycycle函数对波形数据的一段应用,结果如下:
dutyCycle=
0.5001
avgFreq=
999.9999
totalJitter=
1.5070e-07
对流模式数据使用触发后滤波
在这个例子中,使用信号处理工具箱中的滤波器设计和分析工具设计一个可以对在触发后捕获的带有随机噪声的数据进行操作滤波器。
http://s9/bmiddle/003EYhPUzy78H6CuB4c08&690
任意波形图
设置
使用MATLAB脚本配置函数发生器输出一个±2V、1KHz的带有白噪声的正玄波。
设置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函数,不指定函数的输出会导致图形中有另外一个注释图。