Hardware implementations of trellis based decoders for linear block codes

Detalhes bibliográficos
Autor(a) principal: Leonardi, Eduardo de Melo
Data de Publicação: 2013
Tipo de documento: Trabalho de conclusão de curso
Idioma: eng
Título da fonte: Repositório Institucional da UFRGS
Texto Completo: http://hdl.handle.net/10183/86165
Resumo: Correção de erro do tipo FEC (do Inglês Forward Error Correction) baseados em códigos bloco ou convolucionais é uma importante parte dos sistemas de comunicação atuais. Se códigos convolucionais são usados, normalmente a representação em treliça do código é utilizada na decodificação. Dessa forma, eficientes algoritmos de decodificação podem ser utilizados, como o algoritmo de Viterbi (VA)[3] e o máximo a posteriori (MAP)[4]. Contudo, é mostrado em [1] que códigos bloco lineares também podem ser representados por um diagrama em treliça. Assim, os algoritmos VA e MAP também podem ser utilizados na sua decodificação. Esse trabalho apresenta duas novas arquiteturas para o VA e o MAP para códigos bloco e suas implementações em FPGA. Primeiro, nós construímos um decodificador Viterbi e mostramos como uma rede de permutação de Banyan pode ser usada para resolver o problema da variancia no tempo discreto de um diagrama em treliça para códigos bloco. Depois disso, nós reusamos a unidade de recurção do decodificador Viterbi para implementar um decodificador MAX-Log-MAP para códigos bloco. Para o nosso melhor conhecimento, elas são as primeiras implementações em hardware desse tipo. Nós apresentamos detalhes de implementação em FPGA (Xilinx Virtex 6) do decodificador Viterbi e MAP para diferentes tamanhos de treliça. As implementações em FPGA são analisadas e comparadas, considerando o uso de recursos e vazão de dados. Para um diagrama em treliça com 64 estados, o VA consome 2800 LUTs com uma vazão de 140 Mbit/s. Já o MAP consome 6800 Luts a 70 Mbit/s.
id UFRGS-2_19691f3f17a53eddb185b0985b78d453
oai_identifier_str oai:www.lume.ufrgs.br:10183/86165
network_acronym_str UFRGS-2
network_name_str Repositório Institucional da UFRGS
repository_id_str
spelling Leonardi, Eduardo de MeloScholl, StefanRoesler, Valter2014-01-18T01:53:58Z2013http://hdl.handle.net/10183/86165000910214Correção de erro do tipo FEC (do Inglês Forward Error Correction) baseados em códigos bloco ou convolucionais é uma importante parte dos sistemas de comunicação atuais. Se códigos convolucionais são usados, normalmente a representação em treliça do código é utilizada na decodificação. Dessa forma, eficientes algoritmos de decodificação podem ser utilizados, como o algoritmo de Viterbi (VA)[3] e o máximo a posteriori (MAP)[4]. Contudo, é mostrado em [1] que códigos bloco lineares também podem ser representados por um diagrama em treliça. Assim, os algoritmos VA e MAP também podem ser utilizados na sua decodificação. Esse trabalho apresenta duas novas arquiteturas para o VA e o MAP para códigos bloco e suas implementações em FPGA. Primeiro, nós construímos um decodificador Viterbi e mostramos como uma rede de permutação de Banyan pode ser usada para resolver o problema da variancia no tempo discreto de um diagrama em treliça para códigos bloco. Depois disso, nós reusamos a unidade de recurção do decodificador Viterbi para implementar um decodificador MAX-Log-MAP para códigos bloco. Para o nosso melhor conhecimento, elas são as primeiras implementações em hardware desse tipo. Nós apresentamos detalhes de implementação em FPGA (Xilinx Virtex 6) do decodificador Viterbi e MAP para diferentes tamanhos de treliça. As implementações em FPGA são analisadas e comparadas, considerando o uso de recursos e vazão de dados. Para um diagrama em treliça com 64 estados, o VA consome 2800 LUTs com uma vazão de 140 Mbit/s. Já o MAP consome 6800 Luts a 70 Mbit/s.Forward error correction based on convolutional codes or block codes is an essential part in today’s communication systems. If convolutional codes are used, mostly the graphical trellis representation of a code is used in decoding. Efficient trellis based decoding algorithms can then be used, such as the Viterbi algorithm (VA)[3] or the maximum a posteriori algorithm (MAP)[4]. However, it is shown in [1] that a linear binary block code can also be represented by a Trellis diagram. Then, the efficient VA and MAP can also be applied to block codes. This work presents two new architectures for the VA and MAP for block codes and their implementation on FPGA. First, we construct a Viterbi decoder and show how a Banyan permutation network can be used to solve the time variance problem of a Trellis diagram for block codes. Afterwards, we use part of the presented to design a MAX-Log- MAP decoder for linear block codes. To our best knowledge they are the first hardware implementations of these kind. We present implementation details for FPGA designs (Xilinx Virtex 6) of VA and MAP decoders for different trellis sizes. The FPGA designs are analyzed and compared, regarding resource consumption and data throughput. For a 64 state trellis the VA consumes 2800 LUTs and achieves a throughput of 140 Mbit/s, the MAP consumes 6800 LUTs at 70 Mbit/s.application/pdfengMicroeletrônicaCircuitos autotestaveisFECViterbi algorithmMAP algorithmBlock codesHardware implementations of trellis based decoders for linear block codesImplementações em Hardware de decodificadores baseados em treliça para códigos bloco lineares info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2013Ciência da Computação: Ênfase em Engenharia da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL000910214.pdf000910214.pdfTexto completo (inglês)application/pdf1832514http://www.lume.ufrgs.br/bitstream/10183/86165/1/000910214.pdf1b18cf5f1c02661aaab2f69807baf305MD51TEXT000910214.pdf.txt000910214.pdf.txtExtracted Texttext/plain142100http://www.lume.ufrgs.br/bitstream/10183/86165/2/000910214.pdf.txt6267554960a5516eb977ba4d8e0c3f83MD52THUMBNAIL000910214.pdf.jpg000910214.pdf.jpgGenerated Thumbnailimage/jpeg1055http://www.lume.ufrgs.br/bitstream/10183/86165/3/000910214.pdf.jpgd8a50f6f13796f578d2fdd276a605d4fMD5310183/861652021-05-07 04:45:54.544774oai:www.lume.ufrgs.br:10183/86165Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2021-05-07T07:45:54Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Hardware implementations of trellis based decoders for linear block codes
dc.title.alternative.pt.fl_str_mv Implementações em Hardware de decodificadores baseados em treliça para códigos bloco lineares
title Hardware implementations of trellis based decoders for linear block codes
spellingShingle Hardware implementations of trellis based decoders for linear block codes
Leonardi, Eduardo de Melo
Microeletrônica
Circuitos autotestaveis
FEC
Viterbi algorithm
MAP algorithm
Block codes
title_short Hardware implementations of trellis based decoders for linear block codes
title_full Hardware implementations of trellis based decoders for linear block codes
title_fullStr Hardware implementations of trellis based decoders for linear block codes
title_full_unstemmed Hardware implementations of trellis based decoders for linear block codes
title_sort Hardware implementations of trellis based decoders for linear block codes
author Leonardi, Eduardo de Melo
author_facet Leonardi, Eduardo de Melo
author_role author
dc.contributor.author.fl_str_mv Leonardi, Eduardo de Melo
dc.contributor.advisor1.fl_str_mv Scholl, Stefan
dc.contributor.advisor-co1.fl_str_mv Roesler, Valter
contributor_str_mv Scholl, Stefan
Roesler, Valter
dc.subject.por.fl_str_mv Microeletrônica
Circuitos autotestaveis
topic Microeletrônica
Circuitos autotestaveis
FEC
Viterbi algorithm
MAP algorithm
Block codes
dc.subject.eng.fl_str_mv FEC
Viterbi algorithm
MAP algorithm
Block codes
description Correção de erro do tipo FEC (do Inglês Forward Error Correction) baseados em códigos bloco ou convolucionais é uma importante parte dos sistemas de comunicação atuais. Se códigos convolucionais são usados, normalmente a representação em treliça do código é utilizada na decodificação. Dessa forma, eficientes algoritmos de decodificação podem ser utilizados, como o algoritmo de Viterbi (VA)[3] e o máximo a posteriori (MAP)[4]. Contudo, é mostrado em [1] que códigos bloco lineares também podem ser representados por um diagrama em treliça. Assim, os algoritmos VA e MAP também podem ser utilizados na sua decodificação. Esse trabalho apresenta duas novas arquiteturas para o VA e o MAP para códigos bloco e suas implementações em FPGA. Primeiro, nós construímos um decodificador Viterbi e mostramos como uma rede de permutação de Banyan pode ser usada para resolver o problema da variancia no tempo discreto de um diagrama em treliça para códigos bloco. Depois disso, nós reusamos a unidade de recurção do decodificador Viterbi para implementar um decodificador MAX-Log-MAP para códigos bloco. Para o nosso melhor conhecimento, elas são as primeiras implementações em hardware desse tipo. Nós apresentamos detalhes de implementação em FPGA (Xilinx Virtex 6) do decodificador Viterbi e MAP para diferentes tamanhos de treliça. As implementações em FPGA são analisadas e comparadas, considerando o uso de recursos e vazão de dados. Para um diagrama em treliça com 64 estados, o VA consome 2800 LUTs com uma vazão de 140 Mbit/s. Já o MAP consome 6800 Luts a 70 Mbit/s.
publishDate 2013
dc.date.issued.fl_str_mv 2013
dc.date.accessioned.fl_str_mv 2014-01-18T01:53:58Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/86165
dc.identifier.nrb.pt_BR.fl_str_mv 000910214
url http://hdl.handle.net/10183/86165
identifier_str_mv 000910214
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Repositório Institucional da UFRGS
collection Repositório Institucional da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/86165/1/000910214.pdf
http://www.lume.ufrgs.br/bitstream/10183/86165/2/000910214.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/86165/3/000910214.pdf.jpg
bitstream.checksum.fl_str_mv 1b18cf5f1c02661aaab2f69807baf305
6267554960a5516eb977ba4d8e0c3f83
d8a50f6f13796f578d2fdd276a605d4f
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv
_version_ 1815447118754611200