75 lines
2.0 KiB
Matlab
75 lines
2.0 KiB
Matlab
|
|
clear all
|
|
|
|
visastring = "GPIB0::22::INSTR";
|
|
v_pwrmtr = visadev(visastring);
|
|
writeline(v_pwrmtr, "*IDN?");
|
|
answ = readline(v_pwrmtr);
|
|
disp(['Yay! We can talk to Instrument: ',char(answ)]);
|
|
|
|
% laser = Exfo_laser("mainframe_channel",3,"safety_mode",0,"connection_id",'15','lab_interface','gpib');
|
|
% laser.getLaserInfo();
|
|
|
|
L = OptLaserN7714A("GPIB0::20::INSTR");
|
|
|
|
% visastring = 'GPIB0::10::INSTR';
|
|
% v_lsr = visadev(visastring);
|
|
% writeline(v_lsr, "*IDN?");
|
|
% answ = readline(v_lsr);
|
|
% disp(['Yay! We can talk to Instrument: ',char(answ)]);
|
|
|
|
steps = 100;
|
|
wavelength_sweep = linspace(1554,1556,steps);
|
|
start_wavelength = wavelength_sweep(1);
|
|
|
|
% laser.setWavelength(start_wavelength);
|
|
L.setWavelength(start_wavelength,0);
|
|
% laser.setPower(0);
|
|
% laser.enableLaser();
|
|
L.setPower(0, true,0);
|
|
|
|
|
|
pwr_save = NaN(size(wavelength_sweep));
|
|
for l = 1:numel(wavelength_sweep)
|
|
|
|
% 1)
|
|
% laser.setWavelength(wavelength_sweep(l));
|
|
L.setWavelength(wavelength_sweep(l),0);
|
|
%writeline(v_lsr, ['L=' num2str(wavelength_sweep(l))]);
|
|
|
|
% 2) Set Wavelength of Power Meter
|
|
t = string(['SENS2:POW:WAVE ',num2str(wavelength_sweep(l)),'NM']);
|
|
writeline(v_pwrmtr, t);
|
|
% writeline(v, "SENS:POW:WAVE?");
|
|
% wavel = readline(v);
|
|
|
|
% 3) Read Power of
|
|
writeline(v_pwrmtr, "READ2:POW?");
|
|
pwr = readline(v_pwrmtr);
|
|
pwr_save(l) = str2num(pwr);
|
|
|
|
figure(2025);clf
|
|
plot(wavelength_sweep,pwr_save,'Marker','*');
|
|
xlabel('Wavelength [nm]');
|
|
ylabel('Insertion Loss [dB]');
|
|
ylim([min(pwr_save)-1, min(pwr_save)+1]);
|
|
xlim([wavelength_sweep(1) wavelength_sweep(end)])
|
|
grid minor
|
|
|
|
end
|
|
|
|
% laser.disableLaser();
|
|
L.setPower(0, false,0);
|
|
L.delete();
|
|
|
|
%writeline(v_lsr, 'DISABLE');
|
|
|
|
path= "Z:\2025\NFT WDM DFG Olaf\lambda_vs_power";
|
|
|
|
dt = datetime('now','Format','yyyyMMdd_HHmmss');
|
|
filename = fullfile(path, "loop_5_7_"+num2str(wavelength_sweep(1)) +"nm_to_"+ num2str(wavelength_sweep(end))+ "nm_" + string(dt) + ".mat");
|
|
|
|
save(filename, "pwr_save","wavelength_sweep");
|
|
|
|
disp("Saved to: " + filename);
|