A method, and a system for performing the method, for computing cyclic
redundancy code (CRC) for use in a communication data stream M bits at a
time for an input sequence u(n) whose length is not a multiple of M. The
method includes (i) representing a frame of data to be protected as the
input sequence; (ii) determining a cyclic redundancy code (CRC) for the
input sequence M bits at a time from a state vector, until a last block of
the input sequence is reached; (iii) if the last block of the input
sequence is full, then determining the CRC to be a completed CRC; and (iv)
if the last block of the input sequence is not full, then performing three
functions. The method can further include (v) appending the completed CRC
as a frame check sequence (FCS) to the communication data stream for
detection by a receiving device. The three functions are (a) setting a
number of the last bits of the last block equal to zero; (b) processing
the last block, padded with the number of last bits equal to zero,
according to steps (i) and (ii) to determine a new CRC (y.sub.CRC); and
(c) running the state vector backwards in time to determine a completed
CRC.
Um método, e um sistema para executar o método, para computar o código cíclico da redundância (CRC) para o uso em bocados do córrego de dados um M de uma comunicação em um momento para um u(n) da seqüência de entrada cujo o comprimento não seja um múltiplo de M. O método inclui (i) representando um frame dos dados a ser protegidos como a seqüência de entrada; (ii) determinando um código cíclico da redundância (CRC) para os bocados da seqüência de entrada M em um momento de um vetor do estado, até que um último bloco da seqüência de entrada estiver alcançado; (iii) se o último bloco da seqüência de entrada estiver cheio, então determinando o CRC ser um CRC terminado; e (iv) se o último bloco da seqüência de entrada não estiver cheio, executando então três funções. O método pode mais mais incluir (v) adicionando o CRC terminado enquanto uma seqüência da verificação do frame (FCS) ao córrego de dados de uma comunicação para a deteção por um dispositivo de recepção. As três funções são (a) ajustando um número últimos de bocados do último bloco igual a zero; (b) processando o último bloco, acolchoado com o número dos últimos bocados iguais a zero, de acordo com as etapas (i) e (ii) para determinar um CRC novo (y.sub.CRC); e (c) funcionando o vetor do estado para trás a tempo determinar um CRC terminado.