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