Em telecomunicação, um código convolucional é um tipo de código corretor de erro em que cada conjunto de m símbolos é transformado em um conjunto de n símbolos, onde . Essa transformação é função dos últimos k símbolos na entrada do codificador, e a razão m/n é conhecida como taxa de código.
Códigos convolucionais são usados geralmente para melhorar a performance da comunicação via rádio e satélite.
História
Os códigos convolucionais foram introduzidos em 1955 por Peter Elias. Pensava-se que os códigos convolucionais poderiam ser decodificados com qualidade arbitrária às custas do cálculo e do atraso. Em 1967 Andrew Viterbi determinou que os códigos convolucionais poderiam ser decodificados com a máxima probabilidade possível com complexidade razoável usando decodificadores baseados em treliça invariantes no tempo - o algoritmo de Viterbi. Outros algoritmos de decodificador baseados em treliça foram desenvolvidos posteriormente, incluindo o algoritmo de decodificação BCJR.
Os códigos convolucionais sistemáticos recursivos foram inventados por Claude Berrou por volta de 1991. Esses códigos se mostraram especialmente úteis para o processamento iterativo, incluindo o processamento de códigos concatenados, como os códigos turbo.[1]
Codificação
A codificação convolucional é assim denominada porque se baseia no uso de memórias e multiplicações para realizar a convolução de um sinal de entrada com a resposta ao impulso do sistema codificador, de forma similar a um filtro de resposta finita ao impulso (FIR).
Decodificação
Existem diversos algoritmos para a decodificação de códigos convolucionais. Para valores de k relativamente pequenos geralmente é usado o algoritmo de Viterbi, pois ele oferece a melhor performance do ponto de vista probabilístico (maximum likelihood performance).
Referências