Files
imdd_silas/projects/Lab_analysis/laser_characterization.m
2025-12-18 09:56:52 +01:00

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