Decision Feedback Equalizer Crashes Matlab with InputSamplesPerSymbol option

2 次查看(过去 30 天)
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 个)

类别

Help CenterFile Exchange 中查找有关 Software Development Tools 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by