Many changes for 400G DSP
Minimal Example ...
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
function [eq_signal,eq_noise,ber,numErrors] = vnle(EQ,M,rx_signal,tx_symbols,tx_bits)
|
||||
function [eq_signal,eq_noise,ber,numErrors] = vnle(EQ,M,rx_signal,tx_symbols,tx_bits,emulate_precode)
|
||||
%VNLE Apply an equalization algorithm to the received signal and calculate BER
|
||||
% This function takes an equalizer object, a received signal, and the
|
||||
% transmitted symbols to apply equalization, map the received signal back to bits,
|
||||
@@ -16,6 +16,17 @@ function [eq_signal,eq_noise,ber,numErrors] = vnle(EQ,M,rx_signal,tx_symbols,tx_
|
||||
|
||||
%FFE or VNLE
|
||||
[eq_signal,eq_noise] = EQ.process(rx_signal,tx_symbols);
|
||||
|
||||
eq_signal = PAMmapper(M,0).quantize(eq_signal);
|
||||
|
||||
if emulate_precode
|
||||
eq_signal = Duobinary().encode(eq_signal);
|
||||
eq_signal = Duobinary().decode(eq_signal);
|
||||
|
||||
tx_symbols= Duobinary().encode(tx_symbols);
|
||||
tx_symbols = Duobinary().decode(tx_symbols);
|
||||
tx_bits = PAMmapper(M,0).demap(tx_symbols);
|
||||
end
|
||||
|
||||
% M = numel(unique(tx_symbols.signal));
|
||||
rx_bits = PAMmapper(M,0).demap(eq_signal);
|
||||
|
||||
Reference in New Issue
Block a user