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”。
块数据(8位分辨率)
块数据(16位分辨率)
当关注两幅图触发点之后的正玄波顶部部分时,数据波形的不同更加清晰明显:
块数据放大图形(8位分辨率)
块数据放大图形(16位分辨率)
触发后捕获—获取测量值
一旦数据被捕获,可以使用信号处理工具箱提供的函数获取以下测量值:
l 峰峰值(peak2peak)
l 上升时间(risetime)
l 下降时间(falltime)
l 均方根(rms)
l 无杂散动态范围(sfdr)
l 信噪比(snr)
使用table函数可以将测量值列成表:
列表测量值
比较两组数据发现,测量值的不同可以归纳为量化电平数量的不同,量化电平数量不同影响用于计算的数据值。
当调用测量函数时,MATLAB会显示相应的图形。下面的例子分别是8位分辨率和16位分辨率的上升时间图形,图形中的注释值自动添加的。
上升时间图(8位分辨率)
上升时间图(16位分辨率)
FFT分析
在这个例子中,FFT被用于PicoScope捕获的自己输出的方波。
设置
使用MATLAB脚本生成±2V、1KHz的方波,设置A通道阈值为1V的上升沿触发。连接信号发生器的输出端到PicoScope的A通道输入端。
在脚本中设置PicoScope捕获块数据—触发前3500个样本点,触发后3500个样本点,采样间隔为50us(20MS/s),将示波器设置为14位分辨率。
触发后捕获—应用FFT
一旦数据被捕获,可以使用fft 函数计算数据的DFT,然后在频域观察信号数据。频谱图展示了信号基波和奇次谐波成分。
PicoScope 5000系列数据与FT图
触发后捕获—分析波形数据
信号处理工具箱也提供查找波形过冲、下冲、脉宽和占空比的函数。
overshoot 函数对作为函数参数的波形数据的一段进行画图,并进行了注释。
overshoot函数画的图
对同一段波形数据使用pulsewidth函数,不指定函数的输出会导致图形中有另外一个注释图。
pulsewidth函数画的图
指定pulsewidth函数的输出到一个变量,pw,结果如下:
pw=
4.9990e-04
这个值与1KHz方波周期的一半500us相对应。
dutycycle函数对波形数据的一段应用,结果如下:
dutyCycle=
0.5001
这个值很接近预计的50%。
使用pulseperiod函数计算波形数据的平均频率:
avgFreq=
999.9999
同步查找脉冲周期值数组的标准偏差计算总抖动:
totalJitter=
1.5070e-07
对流模式数据使用触发后滤波
在这个例子中,使用信号处理工具箱中的滤波器设计和分析工具设计一个可以对在触发后捕获的带有随机噪声的数据进行操作滤波器。
任意波形图
设置
使用MATLAB脚本配置函数发生器输出一个±2V、1KHz的带有白噪声的正玄波。
设置A通道阈值为500mV的上升沿触发。连接信号发生器的输出端到PicoScope的A通道输入端。
在脚本中设置PicoScope使用流模式捕获数据,采样率为1MS/s,触发后采集10百万样本点后停止采集。
使用FDT工具设计的低通巴特沃斯滤波器
滤波器设计
你可以使用滤波器设计与分析工具(FDA工具)设计可以对触发后采集的数据应用的滤波器。
图形右侧显示了无限冲击响应低通巴特沃斯滤波器的配置,显示幅度和相位响应参数。
滤波器设计完成后,可以通过FDA工具用户界面将其导出为MATLAB函数,这个函数被调用时返回离散时间滤波器对象,可以将这个滤波器对象的一些属性值和波形数据作为参数传递给filtfilt 函数,然后可以应用零相位数字滤波器。
触发后捕获—滤波与画图
在捕获几个周期的任意波形后,可以应用低通滤波器对触发后捕获的数据进行操作。
在同一张图上展示了捕获的原始数据的一部分和滤波后的波形,被滤波后的波形是零相位延时的光滑正玄波。
应用滤波器的PicoScope 5000系列流模式数据
对同一段波形数据使用pulsewidth函数,不指定函数的输出会导致图形中有另外一个注释图。
相关标签搜索:MATLAB-使用信号处理工具箱分析PicoScope 数据 MatLab培训 MatLab培训课程 MatLab在线视频教程 MatLab技术学习教程 MatLab软件教程 MatLab资料下载 MatLab代做 MatLab基础知识 Fluent、CFX流体分析 HFSS电磁分析 Ansys培训 Abaqus培训