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

时间:2018-09-05 22:37:57

标签: matlab fread noise oscilloscope

我正在尝试使用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

有人知道是什么原因造成的,我该如何纠正?

1 个答案:

答案 0 :(得分:1)

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