1. Descripción del problema:
Simulación Matlab de codificación y decodificación de canales LDPC: suma mínima de decodificación LDPC y suma mínima normalizada
2. Parte del programa:
clc; limpiar todo;
cargar H;
D = H (1: 675,5401: 6075);
% ------- El siguiente es el proceso de encontrar G a H, asumiendo que la primera columna de la primera y segunda columnas de D está relacionada -----------
G = ceros (5402 , 6075);
Gs_g = ceros (5400,675);
Q_q = ceros (2,675);
Dlose = D; Dlose (:, 226) = []; Dlose (:, 1) = [];
% -------- Encuentre la parte del sistema Gs Use Mi * uT + D * ziT = 0 para encontrar un total de 24 zi, obtenga la parte de la matriz no unitaria Gs_g en Gs -----
Zi = ceros (24,675);
Gs_gtemp = ceros (225,675);
para tNum = 1:24
tNum
MiuT = H (:, (tNum-1) * 225 + 1);
Zi1 = solveAX (Dlose, MiuT);% resuelve AX = Vector de solución de B
Zi (tNum, [2: 225 227: 675]) = Zi1 (1: 673);
Gs_gtemp = cycleG (Zi (tNum,:));% Obtenga el correspondiente de la primera línea del subvector de ciclo -matriz circulante
Gs_g ((tNum-1) * 225 + 1: tNum * 225,:) = Gs_gtemp;
end
%% --------- Lo siguiente es resolver la parte Qs de la matriz G usando D * g = 0 ---------
Q1_q = solveAX (Dlose, D (:, 1));
Q2_q = solveAX (Dlose, D (:, 226));
Q_q (1, [2: 225 227: 675]) = Q1_q (1: 673);
Q_q (1,1) = 1;
Q_q (2, [2: 225 227: 675]) = Q2_q (1: 673);
Q_q (2226) = 1;
G (1: 5400,1: 5400) = ojo (5400);
G (1: 5400,5401: 6075) = Gs_g;
G (5401: 5402,5401: 6075) = Q_q;
textHG = mod (H * G ', 2);
3. Conclusión de la simulación:
C-58