MATLAB处理ZurichInstruments锁相放大器测量的数据

标签:
hf2limfliuhflimatlab数据处理高性能数字锁相放大器 |
分类: LabVIEW/Python/MATLAB编程 |
锁相放大器用来测量nV级的电压或电流信号,测量的数据有直角坐标系的x和y或者极坐标系下的R和theta。把锁相放大器测量出来的数据保存成txt格式、CSV格式或.mat格式的文件后,后续可以使用Origin8.0、MATLAB、R、Python+NumPy+Matplotlib或anaconda
Spyder等软件来处理这些不同格式的测量数据。本文用MATLAB软件来处理Zurich Instruments
HF2LI锁相放大器测量的数据,测量的数据分别来自plotter(txt格式)和record(mat格式)中保存的数据。
plotter工具中保存的数据处理
在LabOne软件中,把plotter工具调出来,然后点击下图plotter工具中“1”的按钮,直接保存锁相放大器的测量数据。plotter工具中水平“时间”长度的调节可在右侧11按钮的“setting”中进行选择。
对于本例中的MATLAB语句如下:
time1=VarName1; %获取txt文档中的时间列
time=-time1;%把时间转化为正数
R=VarName2;%获取txt文档中的振幅值
plot(time,R);
title('Demodulator 1');
xlabel('time (s)');
ylabel('Amplitude (V)');
ylim([0.0716,0.07174])
text(3,0.07168,'data directly from plotter tool in LabOne')
record中保存的测量数据的处理
首先,在LabOne软件中的Config页面,在下图中Record
Data的列表中选择需要保存的数据,随后点击Record按钮(图标2)后即可保存测量数据,再次点击一次Record按钮就会停止数据的保存。相同时间内保存数据量的大小与下图中3位置处Data
Transfer的数值大小有关,该数值越大,保存的数据量也会越大。一般情况下,Data transfer中的数值可以设置为4位置处BW
3dB数值的7-10倍,当然,Data transfer的数值也可以设置的比BW 3dB的数值高。
time1=VarName1; %获取txt文档中的时间列
time=-time1;%把时间转化为正数
R=VarName2;%获取txt文档中的振幅值
plot(time,R);
title('Demodulator 1');
xlabel('time (s)');
ylabel('Amplitude (V)');
ylim([0.0716,0.07174])
text(3,0.07168,'data directly from plotter tool in LabOne')
record中保存的测量数据的处理
其次,record中保存的mat格式的文件形式如下图所示。本例中采用下图中圈住的数据为例进行数据处理。
采用“load”语句导入上图中的数据或者采用MATLAB软件中的“import”按钮导入mat格式的数据。数据导入后在a位置处的“工作区”显示导入的数据。双击“dev249”并逐次调节到b位置处的数据显示形式。我们会用到timestamp、x、y等。
最后,通过在“命令行窗口”内编写语句提取所需要的timestamp、x和y并利用plot进行绘图。绘图结果如下图右侧demodulator
1图所示。在处理测量时间的时候,需要利用timestamp的数据来获取测量的时间段,根据所使用的仪器型号,来获得相应的采样率,如HF2LI仪器的采样率是210MSample/s,MFLI的采样率是60MSample/s,UHFLI的采样率是1.8GSample/s。此外,通过编写其他MATLAB语句,可以改变图中曲线的颜色、曲线的大小、文字注释等。
本示例的MATLAB语句如下:
x=dev249.demods.sample.x;%获取x数据
y=dev249.demods.sample.y;%获取y数据
time1=dev249.demods.sample.timestamp-dev249.demods.sample.timestamp(1);%获取测量时间段
time2=double(time1);%把数据类型转化为double型
sample_rate=210*10^6;%获取所用测量仪器的采样率,HF2LI的采样率为210MSample/s
time=time2/sample_rate;%把时间转化为“秒”为单位
R=sqrt(x.^2+y.^2);%获得测量振幅值R(amplitude)
plot(time, R)%使用plot语句绘制time-R的曲线图
title('Demodulator 1')%为曲线图添加标题
xlabel('time (s)')%为曲线图的x轴添加名称
ylabel('Amplitude (V)')%为曲线图的y轴添加名称
ylim([0.07170,0.07179])%调节y轴的坐标范围
上述语句的txt文档可从该链接中下载MATLAB语句
最后,对于MATLAB处理Zurich Instruments锁相放大器的参考语句也可从LabOne Programming
Manual中Chapter 3. Matlab Programming一章中查看。