44 lines
1.1 KiB
Matlab
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
|
|
|
|
|
|
|