diff --git a/Classes/AWG.m b/Classes/AWG.m index 2553933..abead51 100644 --- a/Classes/AWG.m +++ b/Classes/AWG.m @@ -63,7 +63,7 @@ classdef AWG % obj.fdac = 256e9; obj.dac_max = 0.5; obj.dac_min = -.5; - obj.f_cutoff = 800e9; + obj.f_cutoff = 80e9; end diff --git a/Classes/EQ.m b/Classes/EQ.m index 0306d8d..8784ed2 100644 --- a/Classes/EQ.m +++ b/Classes/EQ.m @@ -211,7 +211,7 @@ classdef EQ epsilon_ = diag([ones(1,obj.Ne(1))*obj.epsilon(1) ones(1,N2)*obj.epsilon(2) ones(1,N3)*obj.epsilon(3)]); end - obj.k0 = obj.delay; % input delay compared to training sequence + obj.k0 = obj.delay; % input delay compared to training sequence< if 1 % obj.active %% Calculation of the filter coefficients in training based LMS mode diff --git a/setup_simulation.m b/setup_simulation.m index 34b9c18..4c17afb 100644 --- a/setup_simulation.m +++ b/setup_simulation.m @@ -9,7 +9,7 @@ M = 4; %PAM-M bitpattern = zeros(N,log2(M)); % Symbol Rate -fsym = 112e9; +fsym = 64e9; % DAC Rate fdac = 160e9; % Simulation oversampling rate "k"; @@ -23,13 +23,13 @@ fsimu = kover * fdac ; pam_mapper = PAMmapper(M,0); -awg = AWG('preset','M8199B','fdac',fdac,'kover',kover,'lpf_active',0,'f_cutoff',80e9,'lpf_type',filtertypes.gaussian); +awg = AWG('preset','M8199B','fdac',fdac,'kover',kover,'lpf_active',1,'f_cutoff',80e9,'lpf_type',filtertypes.gaussian); fil_50 = Filter('filtdegree',1,"f_cutoff",50e9,"fsamp",fdac,"filterType",filtertypes.bessel_inp); u_pi = 3.5; vbias = (0.5*u_pi)-u_pi; -extmodlaser = EML("mode",emlmodes.im_cosinus,"power",5,"fsimu",fsimu,"lambda",1550,"bias",vbias,"u_pi",u_pi,"linewidth",0); +extmodlaser = EML("mode",emlmodes.im_cosinus,"power",5,"fsimu",fsimu,"lambda",1550,"bias",vbias,"u_pi",u_pi,"linewidth",10000); amp = Amplifier("amp_mode","ideal_no_noise","amplification_db",0,"gain_mode","output_power"); @@ -79,7 +79,7 @@ mod_out.signal = applyPulseShaping(mod_out.signal,fsym,fdac); % ELECTRICAL DOMAIN X = awg.process(mod_out); - +X = fil_50.process(X); X = X.normalize; % OPTICAL DOMAIN @@ -94,9 +94,9 @@ X = phdiode.process(X); X = fil_diode.process(X); % ELECTRICAL DOMAIN -% X = scp.process(X); +X = scp.process(X); -X = X.resample("fs_out",2*fsym,"fs_in",fsimu); +X = X.resample("fs_out",2*fsym,"fs_in",fadc); % INFORMATION SIGNAL X = X.normalize; @@ -136,7 +136,7 @@ sgtitle('Laser Linewidth = 10 MHz; SIR = 24 dB ; $N_{1,2}$ = 100') subplot(1,4,1:2) scatter(xax,eq_out.signal,4,'.','MarkerEdgeColor',col(1,:),'DisplayName','No MPI Mitigation'); xlim([1, xax(end)]); -ylim([-2 2]); +%ylim([-2 2]); xlabel('Sampling Index') ylabel('Amplitude') legend @@ -144,7 +144,7 @@ legend subplot(1,4,3:4) scatter(1:X.length,X.signal,4,'.','MarkerEdgeColor',col(2,:),'DisplayName','A1'); xlim([1, xax(end)]); -ylim([-2 2]); +%ylim([-2 2]); xlabel('Sampling Index') ylabel('Amplitude') legend