54 lines
1.6 KiB
Matlab
54 lines
1.6 KiB
Matlab
laser = Exfo_laser("mainframe_channel",1,"safety_mode",0,"connection_id",'10','lab_interface','gpib');
|
|
laser.getLaserInfo();
|
|
|
|
pm = OptPowerMeter8153A("active",[0,1],"wavelength_nm",[1550,start_wavelength]);
|
|
pm.readPower
|
|
|
|
laserparams.lambda = [1260:2:1360];
|
|
laserparams.laserpower = [0,3,6,8,10];
|
|
laser_output_wh = DataStorage(laserparams);
|
|
laser_output_wh.addStorage("plaser");
|
|
|
|
pm = OptPowerMeter8153A("active",[0,1],"wavelength_nm",[1550,1310]);
|
|
laser.setWavelength(1310);
|
|
|
|
cw_pwr = NaN(numel(laserparams.laserpower),numel(laserparams.lambda));
|
|
row = 1;
|
|
for p = laserparams.laserpower
|
|
laser.setPower(p);
|
|
cnt = 1;
|
|
for w = laserparams.lambda
|
|
laser.setWavelength(w);
|
|
pm.setWavelength([1550,w]);
|
|
|
|
for i = 1:20
|
|
[totalpower]=pm.readPower;
|
|
cw_measurement(i)=totalpower(2)+10;
|
|
cw_pwr(row,cnt) = mean(cw_measurement);
|
|
pause(3);
|
|
end
|
|
|
|
laser_output_wh.addValueToStorage(cw_measurement,'plaser',w,p);
|
|
|
|
figure(2027);clf
|
|
plot(laserparams.lambda,cw_pwr(1:row,:),'Marker','*');
|
|
xlabel('Wavelength [nm]');
|
|
ylabel('Laser Output Power [dBm]');
|
|
ylim([0, 11]);
|
|
xlim([laserparams.lambda(1) laserparams.lambda(end)])
|
|
grid minor
|
|
|
|
cnt = cnt+1;
|
|
end
|
|
row = row+1;
|
|
end
|
|
|
|
figure();hold on
|
|
for p = laserparams.laserpower
|
|
plot(laserparams.lambda,laser_output_wh.getStoValue('plaser',laserparams.lambda,p))
|
|
end
|
|
xlabel('Wavelength [nm]');
|
|
ylabel('Laser Output Power [dBm]');
|
|
ylim([0, 11]);
|
|
xlim([laserparams.lambda(1) laserparams.lambda(end)])
|
|
grid minor |