eye diagram working for all signals again... A problem: I found that the Tx eyes look weird (i.e. PAM-8) vibecoded ML_MLSE_GPU ... a bit faster :-)
35 lines
1011 B
Matlab
35 lines
1011 B
Matlab
|
|
% plot_dispersion_models
|
|
% ------------------------------------------------------------
|
|
% Visualizes exact and linearized chromatic dispersion D(λ)
|
|
% around the zero-dispersion wavelength (ZDW).
|
|
%
|
|
% Inputs:
|
|
% lambda0_nm - ZDW in nm
|
|
% S0 - dispersion slope at ZDW [ps/(nm^2·km)]
|
|
% ------------------------------------------------------------
|
|
|
|
lambda0_nm = 1310;
|
|
S0 = 0.08;
|
|
% wavelength axis around ZDW
|
|
lambda_nm = linspace(lambda0_nm-40, lambda0_nm+40, 400);
|
|
|
|
% exact dispersion model
|
|
D_exact = (S0/4) .* ( ...
|
|
lambda_nm - (lambda0_nm^4)./(lambda_nm.^3) );
|
|
|
|
% linearized model around ZDW
|
|
D_lin = S0 .* (lambda_nm - lambda0_nm);
|
|
|
|
% plot
|
|
figure('Color','w'); hold on;
|
|
plot(lambda_nm, D_exact, 'LineWidth',2, 'DisplayName','Exact model');
|
|
plot(lambda_nm, D_lin, '--', 'LineWidth',2, 'DisplayName','Linearized model');
|
|
|
|
xlabel('Wavelength \lambda [nm]');
|
|
ylabel('Dispersion D(\lambda) [ps/(nm·km)]');
|
|
title('Chromatic Dispersion Around the ZDW');
|
|
legend('Location','best');
|
|
grid on; box on;
|
|
|