Códigos convolucionais são uma forma de codificação de dados usada para a correção de erros (FEC - Forward Error Correction). Essa forma de codificação dos dados foi proposta em 1955 [1]. Entretanto, só recentemente pode ser utilizada devido às enormes dificuldades envolvidas na sua decodificação.
Atualmente, os códigos convolucionais são decodificados através do algoritmo de Viterbi (diagrama de treliças), proposto originalmente em 1967 [2]. Entretanto, mesmo com esse algoritmo, é possível decodificar esses códigos para um pequeno número de bits armazenados no codificador. Tipicamente, para configurações do tipo 1/2 e 2/3.
Note-se que o aumento do número de bits no codificador permite uma maior taxa efetiva de transmissão de dados. Assim, uma configuração 6/7 permitiria uma maior taxa efetiva de transmissão do que aquela obtida no caso 1/2.
Assim, para ser capaz de operar com mais bits, foi proposto os CCs com picotadores (são os chamados Punctures Convolutional Codes[3]) . Esse picotamente permite uma decodificação mais eficiente, possibilitanto o uso de um número maior de bits no codificador. Entretanto, a taxa de erros de saída fica maior.
Percebe-se que existe um compromisso entre a taxa efetiva de transmissão e a capacidade de correção de erros. Quanto maior o número de bits no codificador, maior a taxa efetiva de transmissão mas também se torna maior a taxa de erros não corrigidos.
O trabalho a ser feito é, justamente, verificar o comportamento da taxa efetiva de transmissão e a taxa de erros não corrigidos para cada combinação dos parâmetros do CC e do picotador. Busca-se identificar uma forma de prever qual o conjunto de parâmetros mais adequados; que permitam a maior taxa de transmissão com a menor taxa de erros não corrigidos.
Esse trabalho admite vários enfoques. Pode-se buscar uma solução analítica, usando modelagem estatística.
Outra possibilidade é usar alguma ferramenta de simulação. São duas as possibilidades (podem existir outras) que se percebe atualmente: Matlab e LabView.
Ainda, como possibilidade, pode-se recorrer a simuladores de redes. Entretanto, é necessário buscar algum simulador que tenha esses recursos.
[1] P. Elias. "Coding for Noisy Channels", I.R.E.. Convention record part 4, vol. 3, p.37-46, 1955.
[2] A.J. Viterbi. "Error Bounds for Convolutional Codes and an Asymptotically Optimum Decoding Algorithm", IEEE Trans. Inf. Theory, IT-13, pp. 260-269, April 1967.
[3] Cain, G. Clark e J. Geist. "Punctured Convolutional Codes of Rate (n-1)/n and Simplified Maximum Likelihood Decoding", IEEE Transactions on Information Theory, Vol. IT-25, No.1, pp. 97-100, Jan. 1997.