A.4 Módulo de análise de entrelaçadores
6.2 Sugestões para Trabalhos Futuros
Este trabalho teve um enfoque em entrelaçadores curtos (com comprimentosN = 256 e N = 1024). Simulações para comprimentos médios (4000-10000) devem ser realizadas para se avaliar os
desempenhos destas classes nesta situação.
A classe dos entrelaçadores quasi-retangulares também foi analisada somente para o caso de en- trelaçadores curtos. A simulação de entrelaçadores quasi-retangulares para comprimentos maiores pode verificar a suposição, feita no capítulo anterior, de que estes entrelaçadores possuem bons de- sempenhos neste casos. Além disto, foram analisados, nas simulações, apenas os entrelaçadores quasi-retangulares em que os comprimentos da matriz e das permutações localizadas são iguais. É possível, entretanto, se criar entrelaçadores sem estas duas restrições, o que abre um novo leque de entrelaçadores a serem pesquisados.
REFERÊNCIAS
[1] B. P. LATHI, Modern Digital and Analog Communication Systems, 3aed. Oxford University Press, Março 1998.
[2] T. S. RAPPAPORT, Wireless Communications: Principles and Practice, 2aed. Prentice Hall,
2001.
[3] C. E. SHANNON, A mathematical theory of communications, Bell System Technical Journal, v. 27, p. 379 – 423 e 623 – 656, Julho e Outubro 1948.
[4] R. W. HAMMING, Error detecting and error correcting codes, Bell System Technical Journal,
v. 29, p. 147 – 160, Abril 1950.
[5] P. ELIAS, Coding for noisy channels, IRE Convention Record. Part 4, p. 37 – 44, Março 1955.
[6] G. D. FORNEY JR., Concatenated codes, Massachusetts Institute of Technology, Technical Report 440, Dezembro 1965.
[7] E. GUIZZO, Closing in the perfect code, IEEE Spectrum, p. 36 – 42, Março 2004.
[8] C. BERROU, A. GLAVIEUX, & P. THITIMAJSHIMA, Near shannon limit error-correcting cod- ing: turbo codes, Prooceedings of the 1993 IEEE International Conference on Communication, p. 1064 – 1070, 1993.
[9] G. BATTAIL, A conceptual framework for understanding turbo codes, IEEE Journal on Selected
Areas in Communications, v. 16, p. 245 – 254, Fevereiro 1998.
[10] T. J. RICHARDSON, Turbo-decoding from a geometric perspective, Proceedings of the IEEE
International Symposium on Information Theory, p. 278, 1998.
[11] W. A., P. HOEHER, & N. WEHN, Turbo-decoding without SNR estimation, IEEE Communi-
[12] R. Y. SHAO, S. LIN, & M. P. C. FOSSORIER, Two simple stopping criteria for turbo decoding,
IEEE Transactions on Communications, p. 1117 –1120, Agosto 1999.
[13] D. RAPHAELI & Y. ZARAI, Combined turbo equalization and turbo decoding, Proceedings of
the 1997 IEEE Global Telecommunications Conference, p. 639–643, 1997.
[14] C. BERROU, M. JÉZÉQUEL, C. DOUILLARD, & S. KEROUÉDAN, The advantages of non-
binary turbo codes, Proceedings of the 2001 IEEE Information Theory Workshop, p. 61–63, 2001.
[15] S. DOLINAR& D. DIVSALAR, Weight distributions for turbo codes using random and non-
random permutations, JPL TDA Progress Report, v. 42, p. 56 – 65, Agosto 1995.
[16] A. S. BARBULESCU& S. PIETROBON, Interleaver design for turbo-codes, Electronics Letters, v. 30, p. 2107, Dezembro 1994.
[17] J. SUN& O. Y. TAKESHITA, Interleavers for turbo codes using permutation polynomials over
integer rings, IEEE Transactions on Information Theory, v. 51, p. 101 – 119, Janeiro 2005.
[18] C. SCHLEGEL& L. PEREZ, Trellis and Turbo Coding, 1aed. Wiley-IEEE Press, Maio 2003.
[19] S. A. BARBULESCU& S. PIETROBON, Interleaver design for turbo codes, Electronics Letters, v. 30, p. 2107 – 2108, Dezembro 1994.
[20] O. JOERSSEN& H. MEYR, Terminating the trellis of turbo codes, Electronics Letters, v. 30, p.
1285 – 1286, Agosto 1994.
[21] B. VUCETIC, Turbo Codes: Principles and Applications, 1aed. Springer, Junho 2000.
[22] W. E. RYAN, A turbo code tutorial, 1997, Invited talk at the Analytic Science Corporation, Reston, VA, 1998.
[23] S. LIN& D. J. COSTELLO JR, Error-control coding, 2aed. Prentice-Hall, Abril 2004.
[24] J. HAGENAUER& P. HOEHER, A viterbi algorithm with soft-decision outputs and its applica-
tions, Prooceedings of the 1989 IEEE Global Telecommunications Conference and Exhibition, v. 3, p. 1680 – 1686, 1989.
[25] J. HAGENAUER, S. LIN, F. BURKET, & M. FOSSORIER, On the equivalence between SOVA
[26] P. V. ROBERTSON& P. E. HOEHER, A comparison of optimal and sub-optimal MAP decoding
algorithms operating in the log domain, Proceedings of the 1995 International Conference on
Communications, v. 2, p. 1009 – 1013, 1995.
[27] L. BAHL, J. COCKE, F. JELINEK, & J. RAVIV, Optimal decoding of linear codes for minimiz-
ing symbol error rate, IEEE Transactions on Information Theory, v. 20, p. 284 – 287, Março 1974.
[28] L. C. PEREZ, J. SEGHERS, & D. J. COSTELLO, A distance spectrum interpretation of turbo- codes, IEEE Transactions on Information Theory, p. 1693 – 1709, Maio 1996.
[29] S. BENEDETTO& G. MONTORSI, Unveiling turbo codes: Some results onm parallel concate- nated coding, IEEE Transactions on Information Theory, p. 409 – 428, Março 1996.
[30] 3RD GENERATION PARTERNERSHIP PROJECT 2, Physical layer standard for CDMA2000 spread spectrum systems, revision C, p. 119 – 125, Julho 2004.
[31] S. CROZIER& P. GUINAND, High-performance low-memory interleaver banks for turbo-codes,
Proceedings of the 2001 IEEE Vehicular Technology Conference, v. 4, p. 2394 – 2398, 2001.
[32] C. BERROU & A. GLAVIEUX, Near optimun error correcting coding and decoding: Turbo- codes, IEEE Transactions on Information Theory, p. 1261 – 1271, Outubro 1996.
[33] J. RYU & O. Y. TAKESHITA, On quadratic inverses for quadratic permutation polynomials over integer rings, April 2005, Submitted as a correspondence to the IEEE Transactions on Information Theory.
[34] R. M. TANNER, Toward an algebric theory for turbo codes, Proceedings of the 2nd Interna-
tional Symposium on Turbo Codes and Related Topics, Setembro 2000.
[35] J. J. BOUTROS& G. ZÉMOR, On quasi-cyclic interleavers for parallel turbo codes, IEEE Trans-
actions on Information Theory, v. 52, p. 1732 – 1739, Abril 2006.
[36] W. FENG, J. YUAN, & B. S. VUCETIC, A code-matched interleaver design for turbo codes,
IEEE Transactions on Communications, v. 50, p. 926 – 937, Junho 2002.
[37] A. ABBASFAR& K. YAO, Interleaver design for turbo codes by distance spectrum shapping,
Proceedings of the 2004 IEEE Wireless Communications and Networking Conference, v. 3, p.
[38] S. CROZIER, J. LODGE, P. GUINAND, & A. HUNT, Performance of turbo codes with relative
prime and golden interleaving strategies, Proceedings of the 6th International Mobile Satellite
Conference, p. 268 – 275, 1999.
[39] Y. WU, http://www.ee.vt.edu/∼yufei/turbo.html, Visitada em 10 de agosto de 2006.
[40] D. E. KNUTH, The Art of Computer Programming, 2aed. Addison-Wesley, 1981, v. 2.
[41] H. SCHILDT, Borland C++: Completo e Total. Makron Books, 1997.
APÊNDICE
IMPLEMENTAÇÃO
COMPUTACIONAL
A comparação entre diferentes sistemas de controle de erros é feita, normalmente, através da análise da curva de desempenho dos mesmos. Logo, torna-se necessário comparar os desempenhos dos códigos turbo utilizando entrelaçadores já propostos na literatura e os entrelaçadores propostos neste trabalho. Desta forma foram desenvolvidas várias funções em MATLAB e C++ para realizar a codificação turbo, simular um canal aditivo gaussiano, realizar a decodificação iterativa, além de algoritmos para a obtenção de entrelaçadores. Este apêndice apresenta as principais funções desen- volvidas.
A.1
Implementação em MATLAB
Em um primeiro momento, foram criadas funções para a implementação computacional de um codificador e de um decodificador turbo para serem utilizadas em um ambiente MATLAB. A escolha desta linguagem de programação foi tomada devido a sua praticidade (a linguagem usada no MATLABfaz automaticamente a alocação dinâmica das variáveis) e ao fato do mesmo possuir uma vasta biblioteca para a simulação de canais e para o tratamento de matrizes e vetores.
Devido ao grande número de operações necessárias para a codificação e decodificação turbo, uma série de funções em arquivos separados (m-files), cada uma realizando uma tarefa específica, foi criada de forma a ser ter um código final o mais estruturado e legível possível. A seguir, as funções criadas para a simulação de códigos turbo são descritas. A ordem de apresentação das mesmas é a de criação, e, normalmente as funções mais complexas fazem uso extensivo das mais simples.