Gif stuff

nonlinear MLSE investigation
trying hard to implment ML-based pre Equalization to find the branch metrics
This commit is contained in:
Silas Oettinghaus
2025-10-24 16:58:06 +02:00
parent c33264a515
commit 7085ba0931
16 changed files with 1414 additions and 162 deletions

View File

@@ -96,10 +96,10 @@ try
adaption= 1;
use_dd_mode = 1;
use_ffe = 1;
use_dfe = 1;
use_ffe = 0;
use_dfe = 0;
use_vnle_mlse = 1;
use_dbtgt = 1;
use_dbtgt = 0;
use_dbenc = 0;
addProcessingResultToDatabase = 0;

View File

@@ -43,6 +43,6 @@ end
end
xlim([-eq_noise.fs/2* 1e-9 eq_noise.fs/2* 1e-9]);
ylim([-15, 0]);
% ylim([-15, 0]);
end

View File

@@ -0,0 +1,27 @@
%% Target source entropy for PS-PAM8
clear; clc;
M = 8;
a = -(M-1):2:(M-1); % PAM-8 amplitude levels: [-7 -5 -3 -1 1 3 5 7]
H_target = 2.79; % desired entropy [bits/symbol]
% Objective: find nu such that H(PA) = H_target
f = @(nu) entropy_MB(a,nu) - H_target;
nu_opt = fzero(f, [0, 2]); % search ν in reasonable range
% Compute final distribution
P = exp(-nu_opt*a.^2);
P = P/sum(P);
H = -sum(P .* log2(P));
fprintf('Shaping parameter ν = %.4f\n', nu_opt);
fprintf('Entropy H(A) = %.3f bits/symbol\n', H);
disp('Probability vector (P_A):');
disp(P.');
%% Helper: entropy function
function H = entropy_MB(a,nu)
P = exp(-nu*a.^2);
P = P/sum(P);
H = -sum(P .* log2(P));
end

View File

@@ -8,12 +8,13 @@ function beautifyBERplot()
for i = 1:length(lines)
lines(i).LineWidth = 1.3; % Thicker line width
%lines(i).LineStyle = '-'; % Solid lines for simplicity
% if string(lines(i).Marker) == "none"
% lines(i).Marker = markers{mod(i-1, num_markers) + 1}; % Assign markers cyclically
% end
lines(i).MarkerSize = 4; % Marker size
lines(i).MarkerFaceColor = 'auto'; % Use line color for marker face
lines(i).LineStyle = '-'; % Solid lines for simplicity
if string(lines(i).Marker) == "none"
lines(i).Marker = markers{mod(i-1, num_markers) + 1}; % Assign markers cyclically
end
lines(i).MarkerSize = 7; % Marker size
lines(i).MarkerFaceColor = lines(i).Color; % Use line color for marker face
lines(i).MarkerEdgeColor = 'white';
end
% Change all text interpreters to LaTeX