Na teoria da codificação, um código sistemático é qualquer código de correção de erros no qual os dados de entrada são incorporados à saída codificada. Por outro lado, em um código não sistemático, a saída não contém os símbolos de entrada.
Os códigos sistemáticos têm a vantagem de que os dados de paridade podem simplesmente ser anexados ao bloco de origem, e os receptores não precisam recuperar os símbolos de origem originais se forem recebidos corretamente – isso é útil, por exemplo, se a codificação de correção de erros for combinada com uma função hash para determinar rapidamente a correção dos símbolos de origem recebidos, ou em casos onde os erros ocorrem em apagamentos e, portanto, um símbolo recebido é sempre correto. Além disso, para fins de engenharia, como sincronização e monitoramento, é desejável obter estimativas razoavelmente boas dos símbolos de origem recebidos sem passar pelo longo processo de decodificação, que pode ser realizado em um local remoto em um momento posterior.
Propriedades Todo código linear não sistemático pode ser transformado em um código sistemático com essencialmente as mesmas propriedades (ou seja, distância mínima). Devido às vantagens citadas acima, os códigos de correção de erros lineares são, portanto, geralmente implementados como códigos sistemáticos. No entanto, para certos algoritmos de decodificação, como decodificação sequencial ou decodificação de máxima verossimilhança, uma estrutura não sistemática pode aumentar o desempenho em termos de probabilidade de erro de decodificação não detectado quando a distância livre (free distance) mínima do código é maior.
Para um código linear sistemático, a matriz geradora, , sempre pode ser escrita como , onde é a matriz identidade de tamanho .
Exemplos Checksums e funções hash, combinados com os dados de entrada, podem ser vistos como códigos sistemáticos de detecção de erros. Códigos lineares são geralmente implementados como códigos sistemáticos de correção de erros (por exemplo, códigos Reed-Solomon em CDs). Códigos convolucionais são implementados como códigos sistemáticos ou não sistemáticos. Códigos convolucionais não sistemáticos podem fornecer melhor desempenho sob decodificação de máxima verossimilhança (Viterbi). No DVB-H, para proteção adicional contra erros e eficiência energética para receptores móveis, um código Reed-Solomon sistemático é empregado como um código de apagamento sobre pacotes dentro de uma rajada de dados (data burst), onde cada pacote é protegido com um CRC: dados em pacotes verificados contam como símbolos recebidos corretamente e, se todos forem recebidos corretamente, a avaliação dos dados de paridade adicionais pode ser omitida, e os dispositivos receptores podem desligar a recepção até o início da próxima rajada. Códigos fonte (Fountain codes) podem ser sistemáticos ou não sistemáticos: como não apresentam uma taxa de código fixa, o conjunto de símbolos de origem vai diminuindo em relação ao conjunto de saída possível.
Referências
Categoria:Teoria de códigos