Decision Feedback Equalizer Crashes Matlab with InputSamplesPerSymbol option

2 visualizaciones (últimos 30 días)
I make use of Decision Feedback Equalizer from Communications Toolbox with PAM-2 (OOK) signal. In my setup each symbol has 10 samples and I used "InputSamplesPerSymbol" parameter in the equalizer initializaiton.
DFE compiles succesfully however when I call the DFE with data, MATLAB crashes without any warnings/errors/output.
I have tried this on another setup as well and the result is no different. What can be a potential cause and what would be a possible workaround or a solution?
%% Generate Samples
numTrainSymbols = 200;
numDataSymbols = 1800;
numSamples = 10;
trainingSymbols = real(pammod(randi([0 1],numTrainSymbols,1),2));
dataSymbols = real(pammod(randi([0 1],numDataSymbols,1),2));
stream = repelem([trainingSymbols; dataSymbols], numSamples);
SNR = 20;
ch_out = awgn(stream, 20);
%% Input Data
dfeq = comm.DecisionFeedbackEqualizer('Algorithm','LMS', ...
'NumForwardTaps',5,...
'NumFeedbackTaps',4,...
'ReferenceTap',5,...
"Constellation", [-1 1], ...
'StepSize',0.001, ...
"InputSamplesPerSymbol", numSamples);
[y, err, weights] = dfeq(ch_out, trainingSymbols);

Respuesta aceptada

Sindhu Karri
Sindhu Karri el 13 de Mayo de 2021
Hii,
I tried to run the code in MATLAB R2021a and it gave the following error message.
numTrainSymbols = 200;
numDataSymbols = 1800;
numSamples = 10;
trainingSymbols = real(pammod(randi([0 1],numTrainSymbols,1),2));
dataSymbols = real(pammod(randi([0 1],numDataSymbols,1),2));
stream = repelem([trainingSymbols; dataSymbols], numSamples);
SNR = 20;
ch_out = awgn(stream, 20);
%% Input Data
dfeq = comm.DecisionFeedbackEqualizer('Algorithm','LMS', ...
'NumForwardTaps',5,...
'NumFeedbackTaps',4,...
'ReferenceTap',5,...
"Constellation", [-1 1], ...
'StepSize',0.001, ...
"InputSamplesPerSymbol", numSamples);
[y, err, weights] = dfeq(ch_out, trainingSymbols);
Error using comm.DecisionFeedbackEqualizer/validatePropertiesImpl (line 166)
NumForwardTaps must be greater than or equal to InputSamplesPerSymbol.
Changing the value of 'NumForwardTaps' property to some value like 15 which is greater that numSamples helps to resolve the issue.
When I executed the same code in R2020a MATLAB crashes.So,I recommend you to update the MATLAB since this issue fixed in later releases.
Refer to below link to update the MATLAB
Hope this helps!!
  1 comentario
Arda Karaca
Arda Karaca el 16 de Mayo de 2021
Exactly. I later contacted MATLAB technical support. They let me know that 2020a does not check for inputs properly and this issue is later fixed in the new version. Thank you for your reply!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Signal Processing en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by