MATLAB Answers

Decision Feedback Equalizer Crashes Matlab with InputSamplesPerSymbol option

조회 수: 8(최근 30일)
Arda Karaca
Arda Karaca 2021년 5월 3일
댓글: Arda Karaca 2021년 5월 16일
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);

채택된 답변

Sindhu Karri
Sindhu Karri 2021년 5월 13일
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
Arda Karaca
Arda Karaca 2021년 5월 16일
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!

댓글을 달려면 로그인하십시오.

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by