Matlab中16位示波器信号上的8位噪声

问题描述 投票:2回答:1

我试图使用Matlab从Lecroy 12位示波器捕获数据。

我创建签证对象“scope”,将格式长度设置为“word”(16位),然后使用“fread”将波形数据设置为16位有符号整数:

fwrite(scope,'comm_format Def9,word,bin'); % The only relevant thing here is the "word" setting 

fwrite(scope,'C1:Wf?'); % This gets the waveform from channel 1 on the scope

[wf]=fread(scope,SampleSize,'int16');

问题是捕获的数据上有8位噪声。我附上了一张图片,显示了波形的放大部分。您可以看到有一个信号将是示波器的完整12位分辨率,但偶尔会出现数字化为8位的毛刺。这些故障不会出现在示波器上,仅出现在捕获的数据上。

这是我的示例数据:

Sample Data

有谁知道是什么导致这种情况以及如何纠正它?

matlab fread noise oscilloscope
1个回答
1
投票

您的示波器数据是12位,但您使用的是16位的“字”。使用'bit12'标志可能会解决您的问题。还记得在fread()函数中使用'bit12'。

© www.soinside.com 2019 - 2024. All rights reserved.