Question regarding IGRAND implementation

19 views (last 30 days)
Matteo
Matteo on 28 Mar 2024
Commented: Abhimenyu on 10 Apr 2024 at 9:18
% Initialize the weight limits for Hamming and BCH
weight_limit_BCH = 1; % Starting error weight limit for Hamming code
weight_limit_BCH2 = 1; % Starting error weight limit for BCH code
% Define maximum weight limits based on the error-correction capabilities of the codes
max_weight_limit_BCH = 5; % Set this based on the Hamming code properties
max_weight_limit_BCH2 = 5; % Set this based on the BCH code properties
% IGRAND iterative decoding process
while weight_limit_BCH <= max_weight_limit_BCH && weight_limit_BCH2 <= max_weight_limit_BCH2
% Decode rows with Hamming code
for col = 1:size(encData_BCH2, 1)
y_demod = encData_BCH2(col, :);
[y_decoded, putative_noise, n_guesses, abandoned] = GRAND(H, weight_limit_BCH, y_demod);
encData_BCH2(col, :) = y_decoded;
end
decData_Grand = encData_BCH2';
% Decode columns with BCH code
for row = 1:size(decData_Grand, 1)
y_demod = decData_Grand(row, :); % Transpose to get a row vector
[y_decoded, putative_noise, n_guesses, abandoned] = GRAND(H, weight_limit_BCH2, y_demod);
decData_Grand(row, :) = y_decoded;
end
weight_limit_BCH = weight_limit_BCH + 1;
weight_limit_BCH2 = weight_limit_BCH2 + 1;
end
The above is code is doing the Iterative approach of my GRAND decoder right? It should start from the lowest weight limit, apply row decoding and column decoding with my GRAND, if not successful, we increase the weight limit to the next value up until the max weight limit.
  1 Comment
Abhimenyu
Abhimenyu on 10 Apr 2024 at 9:18
Hello,
Can you provide more information about your query exactly?

Sign in to comment.

Answers (0)

Community Treasure Hunt

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

Start Hunting!