Files
imdd_silas/projects/MPI_August/EQ_development.m
2024-08-16 10:21:01 +02:00

44 lines
1.1 KiB
Matlab

Scope_sig = load("projects/MPI_August/scpe_sig.mat","Scpe_sig");
Scope_sig = Scope_sig.Scpe_sig;
Symbols = load("projects/MPI_August/symbols.mat","Symbols");
Symbols = Symbols.Symbols;
Bits = load("projects/MPI_August/bits.mat","Bits");
Bits = Bits.Bits;
mdc = [1e-3,1e-2,2e-2,3e-2,4e-2,5e-2,1e-1];
mdc = [0.6, 0.7, 0.8, 1, 1.2];
for m = 1:numel(mdc)
Eq = FFE_DCremoval("epochs_tr",5,"epochs_dd",5,"len_tr",4096*2,"mu_dd",1e-4,"mu_tr",0,"order",25,"sps",2,"decide",0,"mu_dc",mdc(m),"dc_buffer_len",112);
[EQ_sig] = Eq.process(Scope_sig,Symbols);
%%%%% DEMAP %%%%%%
Rx_bits = PAMmapper(4,0).demap(EQ_sig);
% BER
[~,errors_bm,ber(m),errors] = calc_ber(Rx_bits.signal,Bits.signal,"skip_front",100,"skip_end",150,"returnErrorLocation",1);
end
figure()
scatter(mdc,ber,20);
yline(3.8e-3,'DisplayName','HD-FEC');
xlabel('Mu DC');
ylabel('Bit Error Rate (BER)');
title('Bit Error Rate vs. Mu DC');
set(gca,'yscale','log');
set(gca,'xscale','log');
grid on;
legend
%%%% Look at Pam levels %%%%%
if 1
a = PAMmapper(4,0).separate_pamlevels(EQ_sig);
figure(14);hold on;scatter(1:EQ_sig.length,a,1,'.');
end