Quais são as alternativas menos exigentes em termos de computação para o decodificador Viterbi?
Idealmente, o que eu gostaria é uma lista dos métodos aproximados mais comumente usados, juntamente com breves prós e contras.
Quais são as alternativas menos exigentes em termos de computação para o decodificador Viterbi?
Idealmente, o que eu gostaria é uma lista dos métodos aproximados mais comumente usados, juntamente com breves prós e contras.
Respostas:
Uma alternativa direta a um decodificador Viterbi para decodificar códigos convolucionais é um decodificador seqüencial. O algoritmo é mais simples, mas o desempenho não é tão bom. Por exemplo, os comprimentos de restrição comuns para sistemas que usam decodificação Viterbi são tipicamente k = 7 ou k = 9. Um sistema decodificado com um decodificador seqüencial normalmente possui um comprimento de restrição nos anos trinta ou mais. A complexidade de um decodificador Viterbi seria proibitiva em um tamanho de restrição tão longo, e o desempenho de um decodificador seqüencial é muito baixo com os comprimentos de restrição curtos usados com um decodificador Viterbi.
Outra alternativa seria usar um decodificador APP ou MAP, mas esses são mais complexos que um decodificador Viterbi (já que são essencialmente dois decodificadores Viterbi correndo juntos em direções opostas). Mas se você quiser apenas dizer que não está usando um decodificador "Viterbi" que possa se qualificar.
Uma abordagem (longe de ser ótima):
Um código convolucional de meia taxa pode ser visto como dois codificadores de canal codificado multiplicativamente multiplexados juntos. Você pode decodificar os dois caminhos com os decodificadores multiplicativos inversos e depois combinar os dois caminhos. Mesmo que você faça com que os decodificadores criem decisões fáceis, os resultados estarão longe do ideal, mas devem ser muito rápidos.