Many changes here and there. I lost track... :-(

Current work is on MLSE and SD Decoding etc. MLSE is currently not 100% working, the scalings are maybe off?!
This commit is contained in:
Silas Oettinghaus
2025-08-11 07:42:04 +02:00
parent 09d9e5011c
commit 5dbc48abc0
37 changed files with 1506 additions and 570 deletions

View File

@@ -22,7 +22,7 @@ end
% Ensure the figure is ready before calling spectrum
eq_noise.spectrum("displayname", options.displayname, "fignum", fig.Number, "normalizeTo0dB", 1,"color",options.color);
title('Noise of soft decision signal (not MLSE)')
title('EEN')
if ~isnan(options.postfilter_taps)
% Hold on to the figure for further plotting
@@ -43,5 +43,6 @@ end
end
xlim([-eq_noise.fs/2* 1e-9 eq_noise.fs/2* 1e-9]);
ylim([-15, 0]);
end

View File

@@ -20,6 +20,12 @@ end
f = f(1:half_nfft);
H = H(1:half_nfft);
H_mag = abs(H);
H_norm = H_mag ./ max(H_mag);
H_db = 20*log10(H_norm);
H_db = H_db - min(H_db);
% Determine the figure number to use or create a new figure
if isnan(options.fignum)
fig = figure; % Create a new figure and get its handle
@@ -30,7 +36,7 @@ end
% Magnitude response (in dB)
subplot(2,1,1);
hold on
plot(f.*1e-9, 20*log10(abs(1./H)),'DisplayName',options.displayname);
plot(f.*1e-9, H_db,'DisplayName',options.displayname);
title('(Inverted) Magnitude Response of FFE Filter');
xlabel('Frequency (GHz)');
ylabel('Magnitude (dB)');

View File

@@ -27,6 +27,7 @@ end
received_sd = NaN(numel(constellation),length(ref_symbols));
lvlcol = cbrewer2('Paired',numel(constellation)*2);
lvlcol = lvlcol(2:2:end,:);
lvlcol = linspecer(numel(constellation));
% lvlcol = cbrewer2('Set1',numel(constellation));
for lvl = 1:numel(constellation)
%Separate the equalized signal into the