Question regarding IGRAND implementation
19 views (last 30 days)
Show older comments
% 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
Answers (0)
See Also
Categories
Find more on Hamming in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!