搜档网
当前位置:搜档网 › 示波器波形存储与Matlab仿真

示波器波形存储与Matlab仿真

示波器波形存储与Matlab仿真
示波器波形存储与Matlab仿真

Matlab在示波器波形存储中的使用

山东奥太电气有限公司我们公司使用的安捷伦6000系列示波器,可以打印到文件或USB打印机。使用Print Config(打印配置)菜单选择要创建的图像文件类型或设置打印机。

可以打印定标因数、用彩色或灰度级打印,并选择是否在单张纸上打印每个

波形(换页)。要节省打印机墨水,可以反转网格颜色,使用白色(而非黑色)背景。

选择打印文件格式

要选择文件格式,按下Utility(实用程序)->Print Config(打印配置)

->Print to(打印至)。可以用以下文件格式中的一种创建图像文件:

BMP(8位)图像屏幕图像被转换为较小、低分辨率的完整屏幕位图文件,

包括状态行和软键。

BMP(24位)图像此为较大、高分辨率的完整屏幕位图文件,包括状态行

和软键。

PNG(24位)图像此为较小、高分辨率的完整屏幕位图文件,包括状态行和软键。

CSV数据这将创建一个包含所显示通道和数学波形的逗号分隔变量值的文件。此格式适用于电子表格分析。

ASCII XY数据文件将每个通道的波形存成一个单独文件,如:

Print_nn_Channel1.csv,单次采集下,可获得最大存储深度。

BIN数据文件将波形存成二进制格式。

注意选择CSV,ASCII XY,BIN格式时,存储多少个样点,由Length软键设置决定,在示波器连续采集时,该设置可以是100,250,500或1000,波形被停下来后,则可以设置到更深,最深到等于最大存储深度,在串行解码功能打开时,全部存储深度中的数据回被输出到文件中。但要注意的是,不管你设置的记录长度是多少,示波器只会将屏幕上被显示的数据输出到文件中,也就是说,在存波形之前,你必须调整水平旋钮,将你要存的波形全部显示在屏幕中。若你只输出一部分数据到文件中,示波器会采取抽点的方式,例如,显示屏幕上有5000个点,但Length设置是1000点,则示波器会每5个点里面取一个点输出到文件中。另外,要将数据存储到USB盘中,必须使用前面板的"Quick Print"(快速打印)按钮。

将显示屏打印到文件

1要打印到文件,将USB海量存储设备连接到示波器前面或后面的USB端口。

2通过按下Utility(实用程序)&Print Config(打印配置)访问Print Config (打印配置)菜单。

3使用Printto(打印至)软键选择格式(BMP或CSV)。

4按下左数第二个软键并使用Entry旋钮浏览到要保存图像文件的位置。可以从已连接的USB海量存储设备中选择,如果需要的话,也可以选择一个子目录。5按下前面板上的Quick Print(快速打印)键

6要进行后续打印,只需按下Quick Print(快速打印)键即可。

为便于数据分析,我们可以将示波器数据采用csv格式的文件保存,并且使用Matlab等数学软件进行处理。

此例中我们使用示波器采集了两组数据,分别使用BMP格式和CSV格式存储,然后使用Matlab仿真出图形进行对比使用。

Matlab语句有>>x=cvsread('print_08.csv',3.0)

>>plot(x)

得出的图像如下:

使用示波器采集的原始图像为:

通过对比可以发现虽有一些程度上的失真,但还是可以很好的体现原始图像的各个参数。保存的CSV格式文件经过Matlab处理后可以将图像进行放大缩小等处理。

放大图像:

缩小图像:

但是经过试验验证,当采集的数据太过密集的时候保存的CSV文件就会严重失真,例如原图如下:

选择保存格式为CSV后的文件经过matlab处理后得出的图像为:

对比可见,图像已经严重失真。所以建议保存CSV文件的时候保持适当的分辨率。

注释:采用的matlab语言有:csvread以下为帮助内容:

CSVREAD Read a comma separated value file.

M=CSVREAD('FILENAME')reads a comma separated value formatted file FILENAME.The result is returned in M.The file can only contain

numeric values.

M=CSVREAD('FILENAME',R,C)reads data from the comma separated value formatted file starting at row R and column C.R and C are zero-

based so that R=0and C=0specifies the first value in the file.

M=CSVREAD('FILENAME',R,C,RNG)reads only the range specified

by RNG=[R1C1R2C2]where(R1,C1)is the upper-left corner of

the data to be read and(R2,C2)is the lower-right corner.RNG

can also be specified using spreadsheet notation as in RNG='A1..B7'.

CSVREAD fills empty delimited fields with zero.Data files where

the lines end with a comma will produce a result with an extra last

column filled with zeros.

See also CSVWRITE,DLMREAD,DLMWRITE,LOAD,FILEFORMATS

由于我们使用的示波器保存的CSV文件前两行为说明内容,直接使用csvread(filename)将会出现错误,正确的使用方法为:x=csvread(filename,3,0)意思为从第三行的第0列开始读取。

相关主题