FSO analysis:
- minimal changes in several files - new Timing Rec from Magnus
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
wh_aeon = load("C:\Users\Silas\Documents\MATLAB\imdd_simulation\projects\Lab_analysis\aeon_soa_measurement_lambda_plaser_pump.mat");
|
||||
wh_aeon = wh_aeon.wh;
|
||||
wh_thor = load("C:\Users\Silas\Documents\MATLAB\imdd_simulation\projects\Lab_analysis\thorlabs_pdfa_measurement_lambda_plaser_pump.mat");
|
||||
wh_thor = wh_thor.wh;
|
||||
|
||||
% Silas' custom "warehouse" datatype
|
||||
wh_aeon.showInfo;
|
||||
wh_thor.showInfo;
|
||||
|
||||
%% PLOT OSA SPECTRA
|
||||
|
||||
figure();hold on
|
||||
cols = linspecer(4);
|
||||
cols = cbrewer2('Paired',8);
|
||||
subplot(1,2,1);hold on;
|
||||
wh = wh_thor;
|
||||
ccnt = 1;
|
||||
|
||||
pumps = wh.parameter.pump.values;
|
||||
plasers = wh.parameter.laserpower.values;
|
||||
scnt = 1;
|
||||
for p = 1:numel(plasers)
|
||||
|
||||
for pmp = 1:numel(pumps)
|
||||
subplot(numel(plasers),numel(pumps),scnt);hold on;
|
||||
title(sprintf('Laser: %d dBm; Pump: %d %',plasers(p),pumps(pmp)),"Interpreter","tex")
|
||||
for lambda = wh.parameter.lambda.values
|
||||
|
||||
spectrum_osa = wh_thor.getStoValue('spectrum_osa',plasers(p),lambda,pumps(pmp));
|
||||
wavelength_osa = wh_thor.getStoValue('wavelength_osa',plasers(p),lambda,pumps(pmp));
|
||||
plot(wavelength_osa,spectrum_osa,'DisplayName',sprintf('P_{in}: %d dB ',plasers(p)),'Color',cols(ccnt,:));
|
||||
|
||||
|
||||
spectrum_osa = wh_aeon.getStoValue('spectrum_osa',plasers(p),lambda,pumps(pmp));
|
||||
wavelength_osa = wh_aeon.getStoValue('wavelength_osa',plasers(p),lambda,pumps(pmp));
|
||||
plot(wavelength_osa,spectrum_osa,'DisplayName',sprintf('P_{in}: %d dB ',plasers(p)),'Color',cols(ccnt+1,:));
|
||||
|
||||
|
||||
ylim([-60, 20]);
|
||||
beautifyBERplot("logscale",false,"setmarkers",0,"setcolors",0);
|
||||
end
|
||||
scnt = scnt +1;
|
||||
end
|
||||
ccnt = ccnt+2;
|
||||
end
|
||||
|
||||
|
||||
xlabel('Wavelength [nm]');
|
||||
ylabel('OSNR [dB]')
|
||||
|
||||
|
||||
%%
|
||||
|
||||
figure();hold on
|
||||
cols = linspecer(4);
|
||||
subplot(1,2,1);hold on;
|
||||
wh = wh_thor;
|
||||
ccnt = 1;
|
||||
|
||||
pumps = wh.parameter.pump.values;
|
||||
plasers = wh.parameter.laserpower.values;
|
||||
scnt = 1;
|
||||
for p = 1:numel(plasers)
|
||||
|
||||
for pmp = 1:numel(pumps)
|
||||
subplot(numel(plasers),numel(pumps),scnt);hold on;
|
||||
|
||||
|
||||
ase_noise = wh_thor.getStoValue('pase_osa',plasers(p),wh.parameter.lambda.values,pumps(pmp));
|
||||
signal = wh_thor.getStoValue('psig_osa',plasers(p),wh.parameter.lambda.values,pumps(pmp));
|
||||
plot(wh.parameter.lambda.values,ase_noise,'DisplayName',sprintf('P_{in}: %d dB ',plasers(p)),'Color',cols(ccnt,:));
|
||||
|
||||
|
||||
ase_noise = wh_aeon.getStoValue('pase_osa',plasers(p),wh.parameter.lambda.values,pumps(pmp));
|
||||
signal = wh_aeon.getStoValue('psig_osa',plasers(p),wh.parameter.lambda.values,pumps(pmp));
|
||||
plot(wh.parameter.lambda.values,ase_noise,'DisplayName',sprintf('P_{in}: %d dB ',plasers(p)),'Color',cols(ccnt,:),'LineStyle','-');
|
||||
|
||||
ylim([-60, 20]);
|
||||
beautifyBERplot("logscale",false,"setmarkers",0,"setcolors",0);
|
||||
|
||||
scnt = scnt +1;
|
||||
end
|
||||
ccnt = ccnt+1;
|
||||
end
|
||||
|
||||
|
||||
xlabel('Wavelength [nm]');
|
||||
ylabel('OSNR [dB]')
|
||||
Reference in New Issue
Block a user