commit old stuff from lab

This commit is contained in:
Silas Labor Zizou
2025-04-16 09:55:32 +02:00
28 changed files with 728 additions and 60 deletions

Binary file not shown.

View File

@@ -0,0 +1,15 @@
%% Laser
start_wavelength = 1550;
laser = Exfo_laser("mainframe_channel",3,"safety_mode",0,"connection_id",'10','lab_interface','gpib');
laser.getLaserInfo();
laser.setWavelength(start_wavelength)
laser.setPower(0);
laser.enableLaser();
for l = 1550:1560
laser.setWavelength(l);
end
laser.disableLaser();

View File

@@ -0,0 +1,74 @@
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);

View File

@@ -0,0 +1,61 @@
clear all
%%%%%%%%%%%%%%%%%%%%%
start_wavelength = 1554.2; %nm
stop_wavelength = 1555.7; %nm
steps = 100;
power = 0; %dBm
name = "south_board_total_loss_ports_21_20";
%%%%%%%%%%%%%%%%%%%%%
wavelength_sweep = linspace(start_wavelength,stop_wavelength,steps);
wavelength_1 = wavelength_sweep(1);
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)]);
L = OptLaserN7714A("GPIB0::20::INSTR");
L.setWavelength(wavelength_1,0);
L.setPower(power, true,0);
pwr_save = NaN(size(wavelength_sweep));
for l = 1:numel(wavelength_sweep)
% 1)
L.setWavelength(wavelength_sweep(l),0);
% 2) Set Wavelength of Power Meter
t = string(['SENS1:POW:WAVE ',num2str(wavelength_sweep(l)),'NM']);
writeline(v_pwrmtr, t);
% 3) Read Power of
writeline(v_pwrmtr, "READ1:POW?");
pwr = readline(v_pwrmtr);
pwr_save(l) = str2num(pwr);
figure(2026);clf
plot(wavelength_sweep,pwr_save,'Marker','*');
xlabel('Wavelength [nm]');
ylabel('Insertion Loss [dB]');
ylim([min(pwr_save)-1, max(pwr_save)+1]);
xlim([wavelength_sweep(1) wavelength_sweep(eind)])
grid minor
end
L.setPower(0, false,0);
L.delete();
path= "Z:\2025\NFT WDM DFG Olaf\lambda_vs_power";
dt = datetime('now','Format','yyyyMMdd_HHmmss');
filename = fullfile(path, name+"_"+replace(num2str(wavelength_sweep(1)),".","_") +"nm_to_"+ replace(num2str(wavelength_sweep(end)),".","_")+ "nm_" + string(dt) + ".mat");
save(filename, "pwr_save","wavelength_sweep");
disp("Saved to: " + filename);

View File

@@ -0,0 +1,21 @@
clear all
% L = OptLaserN7714A("TCPIP0::134.245.243.209::inst0::INSTR");
% L.setWavelength(1551,1); % nm
% L.setPower(5.8, true,1); % dBm, also turns output ON
% L.setDither(0,1);
% % L.setPower(5.9, false,1);
% info = L.getLaserInfo();
%
% L.delete();
clear all
L = OptLaserN7714A("GPIB0::20::INSTR");
L.setWavelength(1550,0); % nm
L.setPower(0, true,0); % dBm, also turns output ON
L.setPower(0, false,0);
info = L.getLaserInfo();
L.delete();

View File

@@ -0,0 +1,29 @@
% --- Minimal N7714A example (MATLAB) ---
visa_addr = "TCPIP0::134.245.243.209::inst0::INSTR"; % <-- change to your laser's IP
port = 1; % 1..4 selects the N7714A output port
% v = visadev(visa_addr);
% Identify instrument
writeline(v,'*IDN?'); disp(strtrim(readline(v)));
% Make sure wavelength is settable (Auto mode)
writeline(v, sprintf('SOUR%d:WAV:AUTO 1', port)); % Auto Mode ON (wavelength set allowed).
% Set wavelength and power (units explicit)
writeline(v, sprintf('SOUR%d:WAV 1560NM', port)); % set 1550 nm. :contentReference[oaicite:3]{index=3}
writeline(v, sprintf('SOUR%d:POW:UNIT DBM', port)); % power unit = dBm. :contentReference[oaicite:4]{index=4}
writeline(v, sprintf('SOUR%d:POW:LEV:IMM:AMPL 6 DBM', port)); % set -3 dBm. :contentReference[oaicite:5]{index=5}
% Enable output (either OUTP or SOUR:POW:STAT works)
writeline(v, sprintf('OUTP%d:STAT ON', port)); % laser ON. :contentReference[oaicite:6]{index=6}
writeline(v, 'OUTP1 ON');
% ---- Read back to verify ----
writeline(v, sprintf('SOUR%d:WAV?', port)); wav_m = str2double(readline(v));
writeline(v, sprintf('SOUR%d:POW:LEV:IMM:AMPL?', port)); pow = str2double(readline(v));
writeline(v, sprintf('OUTP%d:ON?', port)); onoff = str2double(readline(v));
fprintf('Port %d -> %.2f nm, %.2f dBm, Output=%d\n', port, 1e9*wav_m, pow, onoff);
delete(v);

View File

@@ -0,0 +1,2 @@
L.setPower(power, false,0);
L.delete();

View File

@@ -0,0 +1,19 @@
clear all
% 1554.7097
% 1554.9032
% 1555.0968
% 1555.2904
%%%%%%%%%%%%%%%%%%%%%
wavelength = 1555.0968; %nm
power = 6; %dBm
%%%%%%%%%%%%%%%%%%%%%
L = OptLaserN7714A("GPIB0::20::INSTR");
L.setWavelength(wavelength,0);
L.setPower(power, true,0);