Build out MATLAB test framework and core integration coverage
This commit is contained in:
23
projects/Dissertation/minimal_example.m
Normal file
23
projects/Dissertation/minimal_example.m
Normal file
@@ -0,0 +1,23 @@
|
||||
|
||||
M = 4;
|
||||
randkey = 1;
|
||||
order = 17;
|
||||
|
||||
N = 2^(order-1); %length of prbs
|
||||
bitpattern = zeros(N,log2(M));
|
||||
s = RandStream('twister','Seed',randkey);
|
||||
for i = 1:log2(M)
|
||||
bitpattern(:,i) = randi(s,[0 1], N, 1);
|
||||
end
|
||||
|
||||
if M == 6
|
||||
bitpattern = reshape(bitpattern',[],1);
|
||||
bitpattern = bitpattern(1:end-mod(length(bitpattern),5));
|
||||
end
|
||||
|
||||
bits = Informationsignal(bitpattern);
|
||||
% bits = bits.logbookentry(['Generate bit stream with size: ', num2str(size(bitpattern))]);
|
||||
|
||||
symbols = PAMmapper(M,0).map(bits);
|
||||
|
||||
PAMmapper(M,0).showBitMapping
|
||||
@@ -181,45 +181,45 @@ if 0
|
||||
"K",2,"DCmu",mu_dc,"DDmu",[mu_ffe mu_dfe],"DFEmu",0.005, ...
|
||||
"FFEmu",0,"plotfinal",0,"ideal_dfe",0);
|
||||
|
||||
% % -------------------- FFE --------------------
|
||||
% ffe_order = [50, 0, 0];
|
||||
% eq_ffe = EQ("Ne",ffe_order,"Nb",[0,0,0], ...
|
||||
% "training_length",len_tr,"training_loops",5,"dd_loops",5, ...
|
||||
% "K",2,"DCmu",mu_dc,"DDmu",[mu_ffe mu_dfe],"DFEmu",0.005, ...
|
||||
% "FFEmu",0,"plotfinal",0,"ideal_dfe",0);
|
||||
%
|
||||
% output.ffe_results = ffe(eq_ffe,M,Scpe_sig,Symbols,Tx_bits, ...
|
||||
% "precode_mode",duob_mode,'showAnalysis',0,"postFFE",[], ...
|
||||
% "eth_style_symbol_mapping",0);
|
||||
%
|
||||
% output.ffe_results.metrics.print
|
||||
|
||||
% % -------------------- DFE --------------------
|
||||
% eq_dfe = EQ("Ne",ffe_order,"Nb",[2,0,0], ...
|
||||
% "training_length",len_tr,"training_loops",5,"dd_loops",5, ...
|
||||
% "K",2,"DCmu",mu_dc,"DDmu",[mu_ffe mu_dfe],"DFEmu",0.005, ...
|
||||
% "FFEmu",0,"plotfinal",0,"ideal_dfe",0);
|
||||
%
|
||||
% output.dfe_results = ffe(eq_dfe,M,Scpe_sig,Symbols,Tx_bits, ...
|
||||
% "precode_mode",duob_mode,'showAnalysis',0,"postFFE",[], ...
|
||||
% "eth_style_symbol_mapping",0);
|
||||
%
|
||||
% output.dfe_results.metrics.print("description",'DFE');
|
||||
|
||||
|
||||
% % -------------------- VNLE + MLSE --------------------
|
||||
% pf_ncoeffs = 1;
|
||||
% ffe_order3 = [200, 0, 0];
|
||||
% eq_v = EQ("Ne",ffe_order3,"Nb",dfe_order, ...
|
||||
% "training_length",len_tr,"training_loops",5,"dd_loops",5, ...
|
||||
% "K",2,"DCmu",mu_dc,"DDmu",[mu_ffe mu_dfe],"DFEmu",0.005, ...
|
||||
% "FFEmu",0,"plotfinal",0,"ideal_dfe",1);
|
||||
% pf_ = Postfilter("ncoeff",pf_ncoeffs,"useBurg",1);
|
||||
%
|
||||
% mlse_ = MLSE("duobinary_output",0,'M',M,'trellis_states',PAMmapper(M,0).levels);
|
||||
%
|
||||
% [output.vnle_results, output.mlse_results] = vnle_postfilter_mlse(eq_v, pf_, mlse_, M, Scpe_sig, Symbols, Tx_bits, ...
|
||||
% "precode_mode", duob_mode, 'showAnalysis', 0, "postFFE", [], "eth_style_symbol_mapping", 0);
|
||||
% -------------------- FFE --------------------
|
||||
ffe_order = [50, 0, 0];
|
||||
eq_ffe = EQ("Ne",ffe_order,"Nb",[0,0,0], ...
|
||||
"training_length",len_tr,"training_loops",5,"dd_loops",5, ...
|
||||
"K",2,"DCmu",mu_dc,"DDmu",[mu_ffe mu_dfe],"DFEmu",0.005, ...
|
||||
"FFEmu",0,"plotfinal",0,"ideal_dfe",0);
|
||||
|
||||
output.ffe_results = ffe(eq_ffe,M,Scpe_sig,Symbols,Tx_bits, ...
|
||||
"precode_mode",duob_mode,'showAnalysis',0,"postFFE",[], ...
|
||||
"eth_style_symbol_mapping",0);
|
||||
|
||||
output.ffe_results.metrics.print
|
||||
|
||||
% -------------------- DFE --------------------
|
||||
eq_dfe = EQ("Ne",ffe_order,"Nb",[2,0,0], ...
|
||||
"training_length",len_tr,"training_loops",5,"dd_loops",5, ...
|
||||
"K",2,"DCmu",mu_dc,"DDmu",[mu_ffe mu_dfe],"DFEmu",0.005, ...
|
||||
"FFEmu",0,"plotfinal",0,"ideal_dfe",0);
|
||||
|
||||
output.dfe_results = ffe(eq_dfe,M,Scpe_sig,Symbols,Tx_bits, ...
|
||||
"precode_mode",duob_mode,'showAnalysis',0,"postFFE",[], ...
|
||||
"eth_style_symbol_mapping",0);
|
||||
|
||||
output.dfe_results.metrics.print("description",'DFE');
|
||||
|
||||
|
||||
% -------------------- VNLE + MLSE --------------------
|
||||
pf_ncoeffs = 1;
|
||||
ffe_order3 = [200, 0, 0];
|
||||
eq_v = EQ("Ne",ffe_order3,"Nb",dfe_order, ...
|
||||
"training_length",len_tr,"training_loops",5,"dd_loops",5, ...
|
||||
"K",2,"DCmu",mu_dc,"DDmu",[mu_ffe mu_dfe],"DFEmu",0.005, ...
|
||||
"FFEmu",0,"plotfinal",0,"ideal_dfe",1);
|
||||
pf_ = Postfilter("ncoeff",pf_ncoeffs,"useBurg",1);
|
||||
|
||||
mlse_ = MLSE("duobinary_output",0,'M',M,'trellis_states',PAMmapper(M,0).levels);
|
||||
|
||||
[output.vnle_results, output.mlse_results] = vnle_postfilter_mlse(eq_v, pf_, mlse_, M, Scpe_sig, Symbols, Tx_bits, ...
|
||||
"precode_mode", duob_mode, 'showAnalysis', 0, "postFFE", [], "eth_style_symbol_mapping", 0);
|
||||
|
||||
|
||||
% -------------------- DB target --------------------
|
||||
|
||||
Reference in New Issue
Block a user