Está en la página 1de 2

%-----------------------------------------------------------------------------

%-- COMUNICACIONES VA SATLITE - ETSIT - ULPGC --


%-- --
%-- G S M T a b l e G e n --
%-- --
%-- Esta funcin genera la tablas de siguiente estado, estado anterior y --
%-- smbolos de salida necesarias para realizar la codificacin y --
%-- decodificacin convolucional segn los parmetros de GSM. --
%-- --
%-- --
%-- Alberto lvarez Frez y Vctor Caero Morera (2001) --
%-----------------------------------------------------------------------------
function [] = GSMTableGen;

GP = [bin2dec('10011'),bin2dec('11011')];

NST = zeros (16, 2); % Next State Table


LST = zeros (16, 2); % Last State Table
LIT = zeros (16, 2); % Last Bit Table
OST = zeros (16, 2, 2); % Output Symbol Table

fprintf('\n\n TABLA DE SIGUIENTE ESTADO \n\n');


fprintf(' Estado\t\t0\t1\n');
fprintf('------------------------------ \n');
for I = 1:16
NS0 = fix((I-1)/2);
NS1 = NS0+8;
NST(I,:) = [NS0+1, NS1+1];
fprintf('%d\t\t%d\t%d\n', I, NS0+1, NS1+1);
end;

fprintf('\n\n TABLA DE SALIDAS \n\n');


fprintf(' Estado\t\t0\t1\n');
fprintf('------------------------------ \n');
for I = 1:16
O0 = cxor (bitand((I-1),GP));
O1 = cxor (bitand((I+15),GP));
OST(I, :, :) = [O0; O1];
O0 = vec2int(O0);
O1 = vec2int(O1);
fprintf('%d\t\t%s\t%s\n',I,dec2bin(O0,2),dec2bin(O1,2));
end;

for I = 1:16
LST (NST(I,1),1) = LST (NST(I,1),2);
LST (NST(I,1),2,:) = I;
LIT (NST(I,1),1) = LIT (NST(I,1),2);
LIT (NST(I,1),2,:) = 1;

LST (NST(I,2),1) = LST (NST(I,2),2);


LST (NST(I,2),2) = I;
LIT (NST(I,2),1) = LIT (NST(I,2),2);
LIT (NST(I,2),2,:) = 2;

end;

NST
LST
LIT

%OST
save GSMConvEncTables NST LST LIT OST;

clear GP *ST NS* O* I

También podría gustarte