Você está na página 1de 153

Universidade de Coimbra

Faculdade de Cincias e Tecnologia


Departamento de Engenharia Electrotcnica e de Computadores








CDIGOS BINRIOS DEFINIDOS POR MATRIZES DE
TESTE DE PARIDADE ESPARSAS
ALGORITMOS DE DESCODIFICAO








Marco Alexandre Cravo Gomes









Coimbra
Novembro 2003


CDIGOS BINRIOS DEFINIDOS POR MATRIZES DE
TESTE DE PARIDADE ESPARSAS
ALGORITMOS DE DESCODIFICAO

por


Marco Alexandre Cravo Gomes


Licenciado em Engenharia Electrotcnica e Computadores
pelo Departamento de Engenharia Electrotcnica e de Computadores
da Faculdade Cincias e Tecnologia da Universidade Coimbra








Dissertao submetida para a satisfao parcial dos requisitos do
grau de Mestre em Engenharia Electrotcnica e de Computadores
Especializao em Sistemas de Telecomunicaes








Departamento de Engenharia Electrotcnica e de Computadores
Faculdade Cincias e Tecnologia da Universidade Coimbra


Coimbra
Novembro 2003

Dissertao realizada sob a orientao de
Vtor Manuel Mendes da Silva
Professor Auxiliar do Departamento de Engenharia Electrotcnica e de Computadores
da Faculdade de Cincias e Tecnologia da Universidade de Coimbra



AGRADECIMENTOS
Ao meu orientador, Doutor Vtor Silva, pelo incentivo, pela inesgotvel dedicao e
sobretudo pela sua amizade.

Ao Instituto de Telecomunicaes, pelos meios disponibilizados.

Aos meus amigos e s pessoas do DEEC (professores, alunos e funcionrios), por
todo o seu apoio.

Aos meus pais, pelo seu amor que fez de mim o que hoje sou.

Ao meu irmo, por ser um Irmo.

Sara pelo amor, o carinho e aquele abrao revigorante de todos os dias.


A todos,
Muito Obrigado










Sara e aos meus Pais



RESUMO
Esta dissertao aborda o estudo de algoritmos iterativos para a descodificao de
Cdigos Binrios Definidos por Matrizes de Teste de Paridade Esparsas, tambm
conhecidos por Low Density Parity-Check Codes (LDPC). So considerados como uma
das classes de cdigos que melhor desempenho apresentam e que num futuro prximo
podero integrar vrias normas de comunicao digital. O desenvolvimento cientfico
deste tema, verificado ao longo da ltima dcada, impressionante.
Apresentamos um estudo sobre tcnicas de descodificao iterativas baseadas no
algoritmo Soma de Produtos (SPA). feita uma anlise comparativa e crtica dos vrios
algoritmos do ponto de vista do desempenho e da complexidade computacional. So
abordadas vrias tcnicas de simplificao do algoritmo SPA, com particular destaque
para o algoritmo Soma Mnima.
Finalmente, propomos para o algoritmo SPA uma nova tcnica de normalizao,
cujos resultados obtidos evidenciam uma melhoria significativa do desempenho para
cdigos LDPC longos.

ABSTRACT
The Iterative Decoding of Low Density Parity-Check Codes (LDPC) is the main
subject of this thesis. LDPC are seen as one of most powerful classes of error correcting
codes which in a near future will probably be included in new digital data transmission
standards. In the last decade, the scientific development of this theme was impressive.
The Sum Product Algorithm (SPA) and their simplifications are deeply study, with
special attention to Min-Sum algorithm. A critical and comparison analysis of different
SPA variants is made from the performance and decoding complexity point of view.
Finally, we propose a new normalization technique which significantly improves
the performance of SPA for long LDPC codes.

PALAVRAS-CHAVE:
cdigos definidos por matrizes de teste de paridade esparsas (LDPC),
descodificao iterativa, algoritmo soma de produtos (SPA), algoritmo soma de
produtos normalizado, algoritmo soma mnima (MS-LSPA), algoritmo soma
mnima normalizado.
KEYWORDS:
low density parity-check codes (LDPC), iterative decoding, sum product algorithm
(SPA), belief propagation (BP), normalized sum product algorithm, min-sum
algorithm (MS-LSPA), normalized min-sum algorithm.


i
CONTEDO
CONTEDO....................................................................................................................i

NDICE DE ALGORITMOS ........................................................................................v

GLOSSRIO.................................................................................................................vii

CAPTULO 1 INTRODUO.........................................................................................1
1.1 Motivao...............................................................................................................2
1.2 Objectivos...............................................................................................................2
1.3 Contribuies da Dissertao..................................................................................3
1.4 Organizao da Dissertao....................................................................................3

CAPTULO 2 CDIGOS DE BLOCO LINEARES............................................................5
2.1 Caractersticas Gerais e sua Representao............................................................5
2.1.1 Matriz Geradora............................................................................................6
2.1.2 Matriz Teste de Paridade..............................................................................7
2.1.3 Grficos de Tanner........................................................................................8
2.2 Capacidades de Deteco e Correco de Erros.....................................................9
2.2.1 Distncia de Hamming, Peso de Hamming e Peso Mnimo.........................9
2.2.2 Descodificao regras de deciso............................................................10
2.2.3 Capacidade de Deteco e Correco de um Cdigo Binrio Linear.........11
2.3 Descodificao Mtodo do Sndroma................................................................12

ii
CAPTULO 3 LDPC: CDIGOS LINEARES DEFINIDOS POR MATRIZES DE TESTE DE
PARIDADE ESPARSAS ......................................................................................................15
3.1 Caractersticas Gerais e sua Representao..........................................................15
3.1.1 Cdigos LDPC Regulares e Irregulares......................................................15
3.1.2 Representao Grfica de Tanner ...............................................................17
3.1.3 Conceito de Giro.........................................................................................18
3.2 Construo de Cdigos LDPC..............................................................................20
3.3 Codificao............................................................................................................24

CAPTULO 4 DESCODIFICAO ITERATIVA.............................................................27
4.1 Introduo..............................................................................................................27
4.2 Algoritmos BF e suas variantes.............................................................................28
4.2.1 Algoritmos BF.............................................................................................28
4.2.2 Algoritmos WBF e BWBF..........................................................................32
4.3 O Algoritmo Soma de Produtos............................................................................36
4.3.1 O Canal de Transmisso..............................................................................37
4.3.2 Algoritmo SPA: a forma original ................................................................38
4.3.3 Consideraes sobre o algoritmo SPA........................................................45
4.4 Simplificaes do Algoritmo SPA........................................................................47
4.4.1 Aumento da Eficincia Computacional do Algoritmo SPA e Minimizao
da sua Sensibilidade aos Erros de Quantificao........................................48
4.4.2 Algoritmo PLRA-SPA ................................................................................50
4.4.3 Algoritmo SPA no Domnio Logartmico (LSPA) .....................................55
4.4.4 Simplificaes do Algoritmo LSPA............................................................61
4.5 Gesto Probabilstica do Clculo das Mensagens.................................................82

CAPTULO 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS ........85
5.1 Anlise de Desempenho e Comparao de Cdigos.............................................85
5.1.1 Sistemas de Comunicao e de Armazenamento Digitais..........................85
5.1.2 Medidas de Desempenho............................................................................86
5.1.3 Comparao entre cdigos..........................................................................88
5.1.4 Ganho de Codificao.................................................................................88


iii
5.2 Resultados Experimentais.....................................................................................89
5.2.1 Cdigos Analisados e Condies de Simulao.........................................89
5.2.2 Algoritmos SPA, MS-LSPA e MS-LSPA Normalizado............................92
5.2.3 Gesto Probabilstica..................................................................................99
5.3 Algoritmo LSPA Normalizado...........................................................................105
5.3.1 Normalizao............................................................................................105
5.3.2 Desempenho do Algoritmo SPA Normalizado.........................................107

CAPTULO 6 CONCLUSES E TRABALHO FUTURO ...............................................111
6.1 Concluses..........................................................................................................111
6.2 Trabalho Futuro..................................................................................................112

ANEXO A LEMAS.....................................................................................................115

BIBLIOGRAFIA ........................................................................................................125
v
NDICE DE ALGORITMOS
A1. Algoritmo de descodificao por clculo de sndroma ......................................... 13
A2.... Algoritmo BF ........................................................................................................ 32
A3. Algoritmo WBF..................................................................................................... 34
A4. Algoritmo BWBF.................................................................................................. 36
A5. Algoritmo SPA...................................................................................................... 43
A6. Algoritmo PLRA-SPA .......................................................................................... 52
A7. Algoritmo LSPA.................................................................................................... 60
A8. Algoritmo MS-LSPA ............................................................................................ 69
A9. Algoritmo APP-LSPA........................................................................................... 71
A10. Algoritmo Iterative APP-Based............................................................................. 73
A11. Algoritmo -Min LSPA......................................................................................... 81

vii
GLOSSRIO
ADC Conversor Analgico Digital (Analog Digital Converter)
APP Probabilidade Posteriori (A Posteriori Probability)
APP-LSPA A-Posteriori Probability Logarithmic Sum Product Algorithm
AWGN Rudo Branco Aditivo Gaussiano (Additive White Gaussian Noise)
BCH Cdigo de Bose, Chaudry e Hocquehen (Bose-Chaudry-Hocquehen Code)
BER Taxa de Bits Erros (Bit Error Rate)
BF Algoritmo de Troca de Bits (Bit Flipping Algorithm)
BN Nodo de Bit (Bit Node)
BP Belief Propagation
BPSK Modulao de Desvio de Fase Binrio (Binary Phase Shift Keying)
BSC Canal Binrio Simtrico (Binary Symmetric Channel)
BWBF Algoritmo de Troca de Bits Pesado com Arranque Programado
(Bootstrapped Weight Bit Flipping Algorithm)
CCSDS Comit Consultivo para os Sistemas de Dados Espaciais (Consultative
Committee for Space Data Systems)
CN Nodo de Teste (Check Node)
DSC Difference-Set Cyclic Codes
DSP Processador Digital de Sinal (Digital Signal Processor)
DVB Transmisso de Vdeo Digital (Digital Video Broadcast)

viii
GF(n) Campo de Galois de ordem n (Galois Field)
HD Descodificao por Deciso Firme (Hard Decoding)
LLR Mxima Verosimilhana Logartmica (Log Likelihood Ratio)
LSPA Algoritmo Soma de Produtos no Domnio Logartmico (Logarithmic Sum
Product Algorithm)
MER Taxa de Mensagens Erradas (Message Error Rate)
MS-LSPA Algoritmo Soma Mnima (Min-Sum Sum Product Algorithm)
SD Descodificao por Deciso Programada (Soft Decoding)
SNR Relao Sinal Rudo (Signal-to-Noise Ratio)
SPA Algoritmo Soma de Produtos (Sum Product Algorithm)
SPA-GNP Algoritmo Soma de Produtos com Gesto No Probabilstica
SPA-GP Algoritmo Soma de Produtos com Gesto Probabilstica
TC Turbo Cdigos (Turbo Codes)
TG Grfico de Tanner (Tanner Graph)
WBF Algoritmo de Troca de Bits Pesado (Weight Bit Flipping Algorithm)


CAPTULO 1
INTRODUO
Em 1948, Shannon [Shan] lanou as bases da Teoria de Informao. Cedo se
compreendeu a importncia de dispor de tcnicas de codificao de canal que
permitissem uma transmisso e um armazenamento robusto de dados.
Shannon no s determinou os limites tericos para a taxa mxima de transmisso
de dados atravs de um canal de comunicao, como tambm, colocou um enorme
desafio de investigao: determinar uma tcnica de codificao de canal capaz de atingir
o limite por ele deduzido. A pesquisa no cessou desde ento. Se durante quase 50 anos
o progresso foi lento, em 1993 Berrou, Glavieux e Thitimajshimi [BGT] apresentaram
uma nova tcnica de codificao designada por Turbo Coding (TC), que revolucionou
toda a investigao realizada at ento. Baseado em tcnicas de descodificao
iterativas, foi possvel pela primeira vez aproximar o limite de Shannon a menos de uma
fraco de dB. Os melhoramentos conseguidos foram to surpreendentes e a tcnica
proposta to revolucionria que foram precisos vrios anos para compreender e absorver
os novos conceitos.
medida que a comunidade cientfica concentrava a sua ateno no novo mtodo,
tornou-se claro que os seus fundamentos tinham sido lanados muitos anos antes, em
1960 por Robert Gallager [Gal1], [Gal2], que na sua tese de doutoramento tinha
proposto uma nova classe de cdigos baseados em Matrizes de Teste de Paridade
Esparsas, conhecidos por Low Density Parity-Check Codes (LDPC), e um algoritmo de
descodificao iterativo designado por Algoritmo Soma de Produtos (SPA). Foi Makay
e Neal [Mac2], [MN1], [MN2], que redescobriram os cdigos LDPC e que confirmaram
2 CAP. 1 INTRODUO
as suas excelentes propriedades de correco de erros, tendo provado que semelhana
dos Turbo Codes, os LDPCs conseguiam atingir uma probabilidade de erro muito
prxima do limite de Shannon [Shan], existindo mesmo alguns exemplos com um
desempenho superior relativamente aos melhores Turbo Codes conhecidos.
1.1 MOTIVAO
A recente adopo pela nova norma de transmisso digital de vdeo via satlite
(DVB-S2) de uma soluo de codificao de canal baseado num cdigo LDPC de
comprimento 64800 capaz de suportar taxas de informao de 1 2, 2 3, 3 4, 4 5, 5 6,
7 8, 8 9 e 910, associado a um cdigo BCH, demonstra bem a importncia dos
cdigos LDPC no panorama actual, como uma das classes de cdigos de correco de
erros que melhor desempenho apresentam e que num futuro prximo poder a vir a
fazer parte de outras normas
1
. Os desafios que daqui advm na construo de sistemas
codificadores e descodificadores capazes de cumprir os requisitos temporais impostos
pelas elevadas taxas de transmisso dos sistemas de hoje, aliado s no menos
importantes restries de custo, tm motivado um estudo aprofundado dos cdigos
LDPC ao nvel das melhores tcnicas de codificao e descodificao a serem
implementadas quer em software quer em hardware.
1.2 OBJECTIVOS
Neste trabalho focaremos apenas a problemtica da descodificao dos cdigos
LDPC. Os objectivos fundamentais deste estudo foram:


1
Recentemente o Jet Propulsion Laboratory apresentou uma proposta baseada nos cdigos LDPC ao
Comit Consultivo para os Sistemas de Dados Espaciais (CCSDS) e a indstria de armazenamento de
dados mostrou j um srio interesse em integrar os cdigos LDPC nos sistemas de armazenamento do
futuro.
CAP. 1 INTRODUO 3
Simplificao do algoritmo de descodificao SPA proposto por Gallager
[Gal1], [Gal2], com vista a uma implementao mais eficiente tanto em
software como em hardware.

Anlise de tcnicas de melhoria do desempenho do algoritmo SPA e das
suas simplificaes.

Realizar uma anlise comparativa e crtica das vrias solues propostas do
ponto de vista do desempenho e da complexidade computacional.
1.3 CONTRIBUIES DA DISSERTAO
Nesta dissertao propomos um novo mtodo de normalizao para o algoritmo
LSPA que melhora significativamente o desempenho do algoritmo para cdigos LDPC
longos, sem que tal implique um aumento significativo da complexidade computacional.
1.4 ORGANIZAO DA DISSERTAO
Este documento composto por 6 captulos que abordam o trabalho realizado no
mbito desta dissertao de mestrado.
Sendo os cdigos LDPC, lineares e descritos por matrizes de paridade esparsas,
faremos no captulo 2 uma introduo aos cdigos lineares. So abordadas as suas
caractersticas, formas de representao, capacidades de deteco e a descodificao
pelo mtodo do sndroma.
No captulo 3, ser feita uma descrio das caractersticas principais dos cdigos
LDPC. Procurar-se- evidenciar o seu excelente desempenho e a importncia da
representao de Tanner e do conceito de giro no projecto de bons cdigos LDPC.
Sero apresentadas algumas estratgias para a construo de cdigos. Por fim, ser
abordada de forma muito sucinta como poder ser realizada a sua codificao.
A descodificao de cdigos LDPC abordada com detalhe no captulo 4.
Comearemos por abordar os algoritmos de troca de bits (BF) essenciais para uma
melhor compreenso dos princpios que regem a descodificao iterativa SPA. A
4 CAP. 1 INTRODUO
generalidade do captulo ser dedicada ao estudo do algoritmo SPA e suas
simplificaes.
No captulo 5 sero apresentados resultados experimentais relativos aos diversos
algoritmos apresentados no captulo 4, procurando realizar uma comparao crtica
segundo o ponto de vista do desempenho e da complexidade computacional. Ser
tambm proposto um novo mtodo de normalizao para o algoritmo SPA.
No captulo 6 apresentaremos as principais concluses extradas do trabalho
realizado, terminando com algumas sugestes de trabalho futuro.

CAPTULO 2
CDIGOS DE BLOCO LINEARES
Uma classe muito importante de cdigos de deteco e correco de erros so os
cdigos lineares. Sendo os cdigos LDPC lineares e descritos por matrizes de paridade
esparsas, apresentaremos neste captulo uma pequena introduo teoria subjacente a
este tipo de cdigos.
2.1 CARACTERSTICAS GERAIS E SUA REPRESENTAO
Um cdigo corrector de bloco se a cada mensagem de smbolos do alfabeto X ,
de comprimento fixo k , o codificador de canal fizer corresponder uma palavra de
cdigo de comprimento fixo n , com n . A diferena n k > k representa o nmero de
smbolos de teste utilizados na deteco e correco de erros. No caso de o alfabeto ser
binrio, { } 0,1 X = , o cdigo diz-se binrio
2
.
Uma classe importante de cdigos correctores so os cdigos lineares, na medida
em que estes podem ser descritos matematicamente com base na teoria dos espaos
vectoriais. Existem vrias formas de definir um cdigo linear. Para o caso dos cdigos
binrios lineares utiliza-se aritmtica mdulo 2 e, como tal, dizemos que um cdigo

2
Nota: Neste trabalho consideramos apenas cdigos binrios, embora existam exemplos de bons cdigos
no-binrios lineares como seja o caso dos Reed-Solomon.
6 CAP. 2 CDIGOS DE BLOCO LINEARES
binrio linear se a soma (mdulo 2) de quaisquer palavras de cdigo ainda uma
palavra de cdigo. Tendo em conta as propriedades da adio mdulo 2, facilmente
conclumos que a soma de uma palavra de cdigo consigo prpria o vector nulo, pelo
que uma das condies necessrias (mas no suficiente) para que um cdigo seja linear
que uma das palavras de cdigo seja o vector nulo.
A teoria de Galois [Mac1], permite generalizar a definio dada para um cdigo
binrio linear descrito em GF(2) para um cdigo linear no binrio definido em GF(q).
Existem outras definies [Wel1], [Nay] que nos conduzem s vrias formas de
representao de um cdigo binrio linear, que passaremos a referir.
2.1.1 MATRIZ GERADORA
Dado um cdigo binrio linear ( ) , n k , ou seja, um cdigo em que as palavras so
vectores de dimenso do tipo, n
[ ]
0 1 1 n
c c c

= c (2.1)
e as mensagens a codificar so vectores de dimenso (com ) do tipo k n k >
[ ]
0 1 1 k
m m m

= m , (2.2)
a forma mais simples de representar esse cdigo com base numa matriz G de
dimenses . As palavras de cdigo podem ser obtidas a partir da seguinte equao k n
= c mG. (2.3)
Devido ao facto de cada palavra de cdigo ser gerada a partir do produto da mensagem
pela matriz , esta designada por Matriz Geradora. m G
Facilmente se conclui, a partir da equao (2.3), que cada bit da palavra de cdigo
uma combinao linear dos bits da mensagem. No entanto, esta observao no
suficiente para afirmar que o conjunto dos vectores
{ }
0 1
2 1
, , ,
k

c c c , obtidos a partir da
equao (2.3) para o conjunto de mensagens
{ }
0 1
2 1
, , ,
k

m m m , constitui um cdigo til.


De facto, estamos perante um cdigo se mensagens diferentes derem origem a palavras
de cdigo diferentes. S desta forma possvel a sua descodificao. Ora, tendo por
base (2.3), facilmente se conclui que cada elemento de
{ }
0 1
2 1
, , ,
k

c c c uma
combinao linear das linhas da matriz G , pelo que necessrio que estas sejam
linearmente independentes e, nesse caso, todos os vectores , com
i
c 0, , 2 1
k
i = , so
distintos.
CAP. 2 CDIGOS DE BLOCO LINEARES 7
Resumindo, podemos dizer que qualquer matriz G , de dimenses k (com
), com caracterstica k , define um cdigo binrio linear
n
n k > ( ) , n k .
No caso de o cdigo ser sistemtico as palavras de cdigo so (por ex.) do tipo
[ ] [ ]
0 1 1 0 1 1 0 1 1 n n k
c c c b b b m m m
k
= = c , (2.4)
onde os bits , com , so designados por bits de teste de paridade.
Neste caso os bits de mensagem so transmitidos de forma separada dos bits de teste de
paridade, sendo estes obtidos como combinao linear dos primeiros,
i
b 0, , 1 i n k =
[ ]
0 1 1 n k
b b b

= = b mP , (2.5)
com a Matriz de Paridade de dimenso P ( ) k n k . Neste caso, a matriz geradora
pode ser representada na forma sistemtica

k
=

G P I , (2.6)
em que a matriz identidade de dimenso
k
I k k .
2.1.2 MATRIZ TESTE DE PARIDADE
Designando por o bit i de uma palavra de cdigo, uma outra definio possvel
para um cdigo binrio linear
i
c
( ) , n k a seguinte: um cdigo binrio diz-se linear se
todas as 2 palavras de cdigo satisfazem um conjunto de n
k
k equaes lineares
homogneas em com , isto , um sistema de
i
c 0, , 1 i = n n k equaes homogneas
a incgnitas. Qualquer sistema linear de equaes homogneas define pois um cdigo
linear. Estas equaes so designadas por Equaes de Teste de Paridade.
n
O sistema de equaes pode ser descrito na forma matricial

( ) 1
T
n k
= Hc 0 , (2.7)
em que H a Matriz de Teste Paridade, de dimenses ( ) n k n , formada pelos
coeficientes do sistema de equaes homogneas a incgnitas. n k n
semelhana do que foi dito para a matriz G , necessrio que as linhas da matriz
sejam linearmente independentes para que o cdigo seja H ( ) , n k . No caso de as linhas
de no serem linearmente independentes a matriz define um cdigo de bloco H ( ) , n k
com (por eliminao das linhas linearmente dependentes). k k >
Pelas equaes (2.3) e (2.7) resulta que:
. (2.8)
( ) ( ) ( ) ( ) 1 1 1
T T T T
n k n k n k k n k
= = = = Hc 0 cH 0 mGH 0 GH 0
8 CAP. 2 CDIGOS DE BLOCO LINEARES
Um cdigo linear definido por uma matriz H de mxima caracterstica sempre
sistematizvel e, nesse caso, por aplicao de operaes linear s linhas de H , esta
poder ser pode ser escrita na forma sistemtica,

T
n k

=

H I P , (2.9)
com a matriz identidade de dimenses
n k
I ( ) ( ) n k n k , de acordo com (2.6) e (2.8).
2.1.3 GRFICOS DE TANNER
Os Grficos de Tanner
3
(TG) [KFL], [Ryan], so uma das formas mais simples de
representar um cdigo binrio linear.
Sabemos que um cdigo binrio linear ( ) , n k pode ser definido por um sistema de
( ) n k equaes lineares homogneas a n incgnitas (os bits das palavras de cdigo).
Podemos construir a partir deste sistema de equaes, um grfico bipartido formado por
dois tipos de nodos:
( ) n k nodos designados por nodos de teste (CNs - check nodes), um por
cada uma das equaes lineares homogneas do sistema.
nodos designados por nodos das variveis (BNs - bit nodes n
4
), um por cada
uma das variveis do sistema de equaes.
Cada CN ligado a todos os BNs que intervm na equao qual o CN est
associado. Por sua vez, cada BN associado a um dado bit da palavra de cdigo,
ligado a todos os CNs correspondentes s equaes de paridade na qual o bit
intervm. Devido a este facto, apenas existem ligaes entre BNs e CNs e nunca entre
nodos do mesmo tipo (grfico bipartido). A um grfico deste tipo d-se o nome de
Grfico de Tanner.
i
c
i
c
Dada a matriz de teste de paridade H de um cdigo binrio linear ( ) ,
facilmente se pode obter o seu TG e vice-versa. Assim, basta atender a que existem
, n k

3
Na literatura aparece muitas vezes a designao genrica de Factor Graph que engloba no s o caso
particular dos TGs, utilizados para descrever os cdigos binrio lineares, mas tambm outros tipos de
grficos aos quais possvel aplicar tcnicas de factorizao [KFL].
4
Os BNs so tambm designados na literatura por variable nodes ou symbol nodes.
CAP. 2 CDIGOS DE BLOCO LINEARES 9
( ) n k CNs associados a cada linha da matriz , BNs associados a cada coluna de
e que cada CN ligado ao BN i sempre que na matriz o elemento .
H n
H j H 1
ji
h =

Exemplo 2.1:
Considere-se o cdigo binrio linear ( ) 6,3 , definido pela matriz de teste de paridade:
1 1 0 0 1 0
0 1 1 0 0 1
1 0 1 1 0 0
=





H .
O TG associado a este cdigo :
1
c
2
c
3
c
4
c
5
c
6
c
1
f
2
f
3
f
Check Node
Bit Node
i
c



A importncia dos TG como forma de representao de cdigos binrios lineares
reside no facto de muitos dos algoritmos de descodificao destes cdigos terem por
base esta representao grfica. sobre alguns desses algoritmos, em particular, o
algoritmo SPA e suas simplificaes que incidiu o trabalho de investigao realizado e
que se encontra documentado de forma mais pormenorizada ao longo dos captulos 4 e
5 desta dissertao.
2.2 CAPACIDADES DE DETECO E CORRECO DE ERROS
2.2.1 DISTNCIA DE HAMMING, PESO DE HAMMING E PESO MNIMO
Dado um cdigo binrio de bloco, define-se distncia de Hamming, , entre duas
palavras de cdigo como sendo o nmero de posies para as quais as duas palavras
diferem.
H
d
Da mesma forma, define-se Peso de Hamming,
H
, de uma palavra de cdigo no
nula como sendo o nmero de 1s dessa palavra.

10 CAP. 2 CDIGOS DE BLOCO LINEARES
Exemplo 2.2:
Dadas as palavras e [ ] 1 0 1 1 0 0 = a [ ] 0 1 1 0 1 1 = b tem-se:
distancia de Hamming: ( ) , 5
H
d = a b
peso de Hamming: , ( ) 3
H
= a ( ) 4
H
= b


Define-se tambm Distncia Mnima de um cdigo C, ( )
min
d C , como sendo a
menor distncia de Hamming verificada para todos os pares distintos de palavras de
cdigo.
Como usamos aritmtica mdulo 2, conclumos que para duas palavras quaisquer
de um cdigo binrio de bloco, a e , ento: b
( ) ( ) ,
H H
d = + a b a b . (2.10)
Atendendo a que para um cdigo linear a soma de quaisquer palavras de cdigo
uma palavra de cdigo, ento podemos concluir que a distncia mnima de um cdigo
binrio linear igual ao peso de Hamming mnimo de todas as palavras de cdigo
diferentes do vector nulo. Como todas as palavras de cdigo verificam a equao (2.7)
ento, a distncia mnima de um cdigo binrio linear igual ao menor nmero de
colunas de que somadas geram o vector nulo. H
2.2.2 DESCODIFICAO REGRAS DE DECISO
Normalmente durante a transmisso de dados atravs de um canal ocorrem erros.
Suponhamos que transmitimos uma palavra de cdigo a atravs de um canal ruidoso e
que a palavra recebida b . O objectivo de qualquer boa regra de deciso minimizar a
probabilidade de erro, ou seja, considerando um cdigo binrio linear ( devemos
escolher a palavra de cdigo
) , n k
{ }
0
2 1
, ,
k

a c c para a qual a probabilidade de erro menor,


isto :

( ) ( )
0, ,2 1
k
i
p p i = a b c b . (2.11)
Fazendo uso do teorema de Bayes e admitindo que todas as palavras de cdigo
ocorrem com igual probabilidade podemos optar por uma descodificao de mxima
verosimilhana, ou seja, por escolher
{ }
0
2 1
, ,
k

a c c para a qual:

( ) ( )
0, ,2 1
k
i
p p i = b a b c . (2.12)
CAP. 2 CDIGOS DE BLOCO LINEARES 11
2.2.3 CAPACIDADE DE DETECO E CORRECO DE UM CDIGO BINRIO
LINEAR
Uma das regras de deciso de mxima verosimilhana para a descodificao de um
cdigo binrio linear ( baseia-se precisamente na distncia de Hamming. Assim,
considerando que as palavras de cdigo ocorrem com igual probabilidade, que so
transmitidas atravs de um canal binrio simtrico (BSC), com probabilidade de
um bit transmitido estar errado, e admitindo que ao ser transmitida a palavra de cdigo
, a palavra recebida b , ento, sendo
) , n k
0.5 q <
a ( ) ,
H
D = a b , temos que

( ) ( ) 1
n D
D
p q q

= b a . (2.13)
Uma regra de deciso de mxima verosimilhana consiste em escolher a palavra de
cdigo
{ }
0
2 1
, ,
k

a c c para a qual,
( ) ( ) , , 0, ,2
k
H H i
d d i 1 = a b c b . (2.14)
Para o caso em que b no uma palavra de cdigo mas existe uma nica palavra
de cdigo que verifica (2.14), ento, dir-se- que os erros de transmisso foram
corrigidos. Caso exista mais do que uma palavra de cdigo que verifique (2.14), ento, a
palavra recebida no poder ser corrigida.
a
As capacidades de correco e deteco de erros de um cdigo so expressas pelas
seguintes propriedades [Wel1]:

Deteco de Erros
Um cdigo C detecta todos os erros, se e s se, a sua distncia mnima for maior
que , isto ,
t
t
( )
min
d C > t . (2.15)

Correco de Erros
Um cdigo C capaz de corrigir todos os t erros, se e s se, a sua distncia
mnima for maior que , isto , 2t
( )
min
2 d C t > . (2.16)
12 CAP. 2 CDIGOS DE BLOCO LINEARES
2.3 DESCODIFICAO MTODO DO SNDROMA
Um dos mtodos mais eficientes na descodificao de cdigos de bloco lineares
, para baixos valores de , consiste na utilizao do conceito de Sndroma. ( , n k) n
Considere-se ento que ao transmitirmos uma dada palavra de cdigo c , a palavra
recebida
= + r c e , (2.17)
com o padro de erro introduzido pelo canal de transmisso. A primeira etapa da
descodificao consiste em averiguar se a palavra recebida uma palavra de cdigo.
Para tal, verificada a equao (2.7), pelo que efectuado o seguinte clculo
e
. (2.18)
T
= s r H
O vector assim obtido, de dimenses s ( ) 1 n k designado por Sndroma.
No caso de o sndroma ser o vector nulo a palavra recebida uma palavra de cdigo
e portanto, a descodificao imediata. A palavra mensagem pode neste caso ser obtida
rapidamente a partir da palavra de cdigo recebida. No caso de um cdigo sistemtico,
conhecida automaticamente a mensagem por eliminao dos ( ) n k bits de teste de
paridade. Para cdigos no sistemticos a forma mais simples dispor de uma tabela em
memria que faz corresponder a cada palavra de cdigo a respectiva palavra mensagem.
Facilmente se conclui que esta forma de afectao de palavras de cdigo s respectivas
mensagens levanta problemas de realizao para cdigos com valores de k muito
elevados.
O caso mais comum a obteno de um sndroma s 0 , o que significa que a
palavra recebida no uma palavra de cdigo (contm erros). Torna-se pois necessrio
corrigir os erros ocorridos em funo do sndroma, s . Assim, por (2.17) e (2.7) tem-se
substituindo em (2.18):
(2.19)
( )
.
T T T
T T
= = + = +
= + =
s r H s c e H s c H e H
s 0 e H s e H
T
Da equao (2.19) podemos concluir que o sndroma, s , depende unicamente do
padro de erro, e . Este dado pela soma das colunas de H correspondentes aos bits
errados, isto , dado pelas posies dos bits a 1 do padro de erro. Conclui-se ainda a
partir de (2.19) que padres de erro que diferem entre si de uma palavra de cdigo
produzem o mesmo sndroma. Existem portanto 2
n k
sndromas distintos tendo cada um
CAP. 2 CDIGOS DE BLOCO LINEARES 13
deles associado a si um conjunto de 2 vectores de erro distintos designado por Classe
Complementar associada ao sndroma
k
5
.
Visto que associados a cada sndroma existem 2 vectores de erro distintos, o
problema que se coloca saber qual deve ser seleccionado.
k
Considerando descodificao de mxima verosimilhana para um canal BSC com
probabilidade de erro q , chegamos concluso que o padro de erro a seleccionar
dever ser o que contm o menor nmero de bits a 1 (Elemento Principal da classe
associado a esse sndroma). Se o elemento principal associado a um dado sndroma for
nico, ento, diz-se que o erro pode ser corrigido. Caso contrrio, apenas poderemos
detectar a ocorrncia de erros de transmisso, mas no os poderemos corrigir (no existe
certeza).
O algoritmo para a descodificao de uma palavra recebida :

A1. Algoritmo de descodificao por clculo do sndroma:
(0) Clculo do sndroma: ;
T
= s r H
(1) Determinao do elemento principal, e , da classe complementar associado a esse
sndroma;
Nota: A forma mais simples consiste em dispor de uma tabela em memria que faz
corresponder a cada sndroma o respectivo elemento principal. No entanto, tal
soluo levanta problemas de implementao para cdigos em que ( ) n k um
valor elevado.
(2) Determinao da palavra de cdigo transmitida por = + c r e ;
(3) Determinao da mensagem por tabela de consulta (cdigo no sistemtico) ou por
remoo dos bits de teste (cdigo sistemtico).


5
Podemos constatar que:
(Nmero de Classes Complementares) x (Nmero de Elementos de Cada Complementar) = 2
n
CAPTULO 3
LDPC CDIGOS LINEARES DEFINIDOS POR
MATRIZES DE TESTE DE PARIDADE ESPARSAS
Neste captulo iniciaremos o estudo dos cdigos definidos por matrizes de paridade
esparsas (LDPC). O conhecimento das suas caractersticas e a interiorizao de alguns
conceitos so fundamentais para o estudo dos algoritmos iterativos utilizados na sua
descodificao, objectivo primeiro do nosso trabalho. So essas caractersticas que
levam a que sejam hoje considerados uma das mais poderosas famlias de cdigos
correctores de erros.
3.1 CARACTERSTICAS GERAIS E SUA REPRESENTAO
Um cdigo LDPC caracterizado por uma matriz de teste de paridade H com uma
baixa densidade de 1s. Dentro dos cdigos LDPC comum fazer-se a distino entre
cdigos regulares e irregulares.
3.1.1 CDIGOS LDPC REGULARES E IRREGULARES
Os cdigos LDPC regulares foram propostos pela primeira vez por Robert Gallager
em 1962, na sua dissertao de Doutoramento [Gal1]. Gallager definiu um cdigo
LDPC regular , com ( , ,
c
n k w ) k
c
w m n = , como sendo um cdigo de bloco linear
16 CAP. 3 LDPC
cuja matriz de teste de paridade tem dimenses H ( ) n k n , contendo exactamente
1s por coluna e
c
w
r c
n
w w
m
= 1s por linha
6
. Obviamente, existe um conjunto enorme de
cdigos que cumprem este requisito.
Gallager provou ainda que fazendo , o conjunto de cdigos LDPC ( )
que podem ser obtidos possuem, na sua grande maioria, uma distncia mnima elevada,
bastando para tal seguir algumas regras simples de construo como, por exemplo,
garantir que quaisquer duas colunas da matriz H possuam quanto muito um s 1 em
comum. Devido baixa densidade de 1s da matriz H garantimos que o nmero
mnimo de colunas de H que so necessrias somar de forma a obter o vector nulo
elevado e, logo, que o cdigo possua uma distncia mnima elevada de acordo com o
que foi referido na seco 2.2.
3
c
w , ,
c
n k w
Apesar das suas excelentes caractersticas, os cdigos LDPC, salvo raras excepes,
no foram alvo de qualquer ateno por parte da comunidade cientfica at meados dos
anos 90, altura em que foram redescobertos por Makay e Neal [Mac2], [MN1] e [MN2].
Makay e Neal provaram que estes conseguem atingir uma probabilidade de erro muito
prxima do limite de Shannon [Shan] (existindo mesmo alguns com desempenho
superior relativamente aos melhores Turbo Codes conhecidos).
A razo do seu esquecimento durante tantos anos talvez se tenha devido elevada
complexidade computacional necessria a todos os nveis: na gerao da matriz H que
garanta um boa distncia mnima do cdigo, na codificao (cdigo normalmente no
sistemtico) e ainda na sua descodificao, tendo por base o algoritmo Soma de
Produtos (SPA) inicialmente proposto por Gallager. No entanto, os avanos
tecnolgicos, o surgimento de simplificaes do algoritmo SPA, bem como, de formas
alternativas de projecto fazendo uso de mtodos algbricos e geomtricos [PN], [KLF],
[Weld], [J W], tornaram-nos num dos principais alvos de investigao cientfico nos dias
de hoje.
Mais recentemente comearam a ser estudados os cdigos LDPC irregulares cuja
matriz de teste de paridade possui uma baixa densidade de 1s mas em que o nmero
de 1s por coluna e por linha no constante. Em [RU] feita a prova de que os cdigos
H

6
A nomenclatura utilizada significa column weight e significa row weight.
c
w
r
w
CAP. 3 LDPC 17
LDPC irregulares so superiores aos regulares para blocos longos. No entanto, a
realizao em hardware dos cdigos LDPC regulares mais simples visto que a sua
estrutura pode ser explorada com vista a simplificar o descodificador. Alm disso, para
comprimentos de bloco mais curtos, os cdigos irregulares possuem, na maioria dos
casos, uma distncia mnima inferior aos regulares, da a preferncia por estes ltimos
nessa situao.
Uma outra explicao para o melhor desempenho dos cdigos LDPC irregulares
tem por base a sua representao em TG, assim como, a forma como estes so
descodificados.
3.1.2 REPRESENTAO GRFICA DE TANNER
Michael Tanner [Tan1] foi um dos poucos investigadores que estudou os cdigos
LDPC antes do seu ressurgimento por via de Mackay e Neal [Mac2], [MN1], [MN2]. O
seu contributo veio-se a revelar de extrema importncia visto que muita da investigao
actual na pesquisa de bons cdigos LDPC regulares e irregulares, bem como, o
desenvolvimento de muitos dos algoritmos de descodificao assenta nos TGs por ele
introduzidos.
Como foi referido na seco 2.1.3, Tanner considerou que qualquer cdigo linear
de bloco e, em particular, qualquer cdigo LDPC, podia ser representado por intermdio
de um TG. Este grfico bipartido formado por dois tipos de nodos, BNs e CNs, em
que cada BN s pode estar ligado a CNs e cada CN a BNs (no podem existir ligaes
entre nodos do mesmo tipo, da se dizer que o grfico bipartido).
Feita que foi uma breve introduo aos TGs na seco 2.1.3, convm agora
introduzir novos conceitos. As ligaes entre os nodos designam-se por caminhos
(edges). O nmero de caminhos que chegam a cada nodo designado por o grau desse
nodo. Dado um cdigo LDPC ( ) , n k , onde o grau do BN i e o grau do CN
, conclumos que
ci
w
rj
w
j

1 1
n n k
ci rj
i j
w

= =
= w

, (3.1)
ou seja, a soma dos graus de todos os BNs igual soma dos graus de todos os CNs.
18 CAP. 3 LDPC
No caso de se tratar de um cdigo LDPC regular ( ) , ,
c
n k w , ento, todos os BNs
tm o mesmo grau, , e todos os CNs tm o mesmo grau, , e atendendo s
dimenses da matriz temos
c
w
r
w
H
( )
c r r c
n
n w n k w w w
n k
= =

, (3.2)
tal como havia sido referido aquando da definio dos cdigos LDPC regulares. O TG
possui neste caso uma estrutura altamente regular (ver figura 3-1) que pode ser
explorada na descodificao do cdigo.

2
c
3
c
4
c
5
c
6
c
1
c
7
c
8
c
9
c
10
c
1
f
2
f
3
f
4
f
5
f
CN
BN
i
c

Figura 3-1 Cdigo LDPC regular ( ) 10,5,2 .
3.1.3 CONCEITO DE GIRO
Um dos mais importantes conceitos relativos aos TGs a definio de giro (girph)
de comprimento l como sendo um percurso fechado formado por l caminhos [LS],
[MB1]. Por exemplo, tendo por base a figura 3-1 podemos observar um ciclo de
comprimento 6 que se encontra assinalado a negrito. O menor comprimento de todos os
ciclos existentes num TG designado por giro.
Na prtica, ao projectar um cdigo LDPC procura-se evitar a existncia de ciclos de
pequeno comprimento no seu TG de forma a melhorar o desempenho do algoritmo SPA.
De facto, prova-se que o algoritmo SPA tem desempenho ptimo quando aplicado a
grficos sem ciclos [KF], [Forn], [KFL], [Ksch]. Na presena de grficos com ciclos, a
sua eficincia diminui, sendo inferior para cdigos com um baixo giro. Por outro lado,
prova-se tambm que TG sem ciclos no suportam bons cdigos [ETV], pelo que
necessrio obedecer a algumas regras na construo dos cdigos LDPC por forma a que
estes possuam boas propriedades (distncia mnima e um giro elevados).
CAP. 3 LDPC 19
Identificao de ciclos e determinao do giro de um cdigo LDPC
Qualquer ciclo de um TG tem um comprimento par e o seu valor mnimo 4
correspondendo a uma matriz de teste de paridade em que existem duas colunas com
dois 1s em comum (ver figura 3-2). Uma das regras de construo da matriz H, para
evitar a existncia de ciclos de dimenso 4, consiste em garantir que quaisquer duas
colunas da matriz , possuam quanto muito um s 1 em comum. H

2
c
1
c
1
f
2
f
Check Node
Bit Node
i
c


1 1
1 1



=




H


Figura 3-2 Exemplo de um ciclo de comprimento 4 num TG e a respectiva matriz de teste de
paridade.
J os ciclos de comprimento 6 so mais difceis de identificar na matriz H. Na
figura 3-3 apresentamos um exemplo.

1
f
2
f
3
f
1
c
2
c
3
c
Check Node
Bit Node
i
c


1 1
1 1
1 1
H


=





Figura 3-3 Exemplo de um ciclo de comprimento 6 num TG e a respectiva matriz de teste de
paridade.
Mao e Banihashemi apresentam [MB2] uma forma simples de determinar o giro
associado a cada BN, isto , o ciclo mais curto que passa por cada BN. O mtodo
consiste em construir para cada BN uma rvore a partir do TG ou da matriz H do
cdigo. Assim, considera-se como raiz da rvore o BN
i
cujo giro pretendemos
determinar. A rvore ento construda passo a passo. No nvel k de descendncia da
rvore so includos todos os nodos a uma distncia k do BN
i
. O procedimento
repetido at ao nvel de descendncia n em que includo um nodo que se encontra
ligado no TG do cdigo a pelo menos dois nodos j includos no nvel de descendncia
. Isto identifica a formao do primeiro ciclo, sendo 2 o giro do BN 1 n n
i
.
Em resumo, o mtodo consiste em adicionar como descendentes, a cada n da
rvore, todos os ns que a ele se encontram ligados no TG, com excepo do n pai,
j
20 CAP. 3 LDPC
terminando o algoritmo quando encontrado um n que descendente de mais do que
um n diferente.
Na figura 3-4 podemos observar a aplicao do mtodo anteriormente descrito na
determinao do giro do BN do cdigo descrito pelo TG da figura 3-1. Como pode
ser observado, s no 3 nvel de descendncia da rvore encontramos um n
descendente simultaneamente de mais do que um n, pelo que se conclui que o giro do
BN 6. A negrito encontra-se identificado um dos ciclos de comprimento 6 que
contm o BN .
1
c
1
c
1
c
1
c
2
f
1
f
2
c
3
c
4
c
5
c
6
c
7
c
3
f
4
f
5
f
CN
BN
i
c
i
f
1 Nvel de Descendncia
2 Nvel de Descendncia
3 Nvel de Descendncia
Raiz

Figura 3-4 Determinao do giro do BN do cdigo LDPC descrito pelo TG da figura 3-1.
1
c
McGowan e Williamson apresentam em [MW] um mtodo algbrico de
determinao do giro de cada BN, baseado no conceito de matriz adjacente. Dado um
cdigo LDPC descrito por uma matriz de teste de paridade , a sua matriz adjacente
definida por,
H

T

=


0 H
A
H 0
, (3.3)
pelo que cada n do TG do cdigo (BN ou CN) representado por uma linha e por uma
coluna da matriz . A
McGowan e Williamson provaram que o elemento ( ) , i j da matriz o nmero
de percursos com comprimento n entre os ns i e do cdigo. Neste sentido, cada
elemento diagonal da matriz , , representa o nmero de ciclos de dimenso n que
contm o n i . O mtodo descrito permite determinar rapidamente o giro de cada BN,
bem como, o giro do cdigo.
n
A
j
n
A
n
ii
a
CAP. 3 LDPC 21
3.2 CONSTRUO DE CDIGOS LDPC
A forma mais simples de projectar um cdigo LDPC ( ) , n k , consiste na construo
da matriz de teste de paridade que cumpra um conjunto requisitos pretendidos, como
sejam, definir um cdigo regular (caracterizado por um dado peso para cada coluna, )
ou irregular (podendo ser especificado o grau de cada BN e CN), ou ainda, garantir um
dado giro mnimo.
H
c
w
Obviamente, para qualquer conjunto de restries existe um conjunto imenso de
cdigos que cumprem as referidas especificaes. A construo da matriz H feita de
forma quase aleatria, mas seguindo algumas regras que maximizam a probabilidade do
cdigo obtido possuir um bom desempenho. No entanto, essas regras no nos do
qualquer garantia de que tal acontea. Podero inclusive suceder situaes em que a
matriz obtida no de caracterstica mxima e, portanto, define um cdigo LDPC
com .
H
( , ' n k )

' k k >
Makay e Neal apresentam em [Mac2] um conjunto de estratgias para gerar cdigos
LDPC. Estas estratgias so apresentadas de forma numerada, sendo convico dos
autores que as de ordem superior maximizam a probabilidade do cdigo obtido possuir
um melhor desempenho. No entanto, eles prprios reconhecem no possuir qualquer
prova deste facto.
Estratgias apresentadas por Mackay e Neal para construo de cdigos LDPC:

(i) A matriz H gerada partindo de uma matriz de zeros de dimenses
e aleatoriamente negando bits em cada coluna (o cdigo
assim gerado poder ser irregular);
( ) n k n
c
w
(ii) A matriz H gerada criando aleatoriamente colunas de peso de Hamming
;
c
w
(iii) A matriz H gerada criando aleatoriamente colunas de peso de Hamming
e procurando uniformizar ao mximo o peso de Hamming de cada
linha;
c
w
r
w
22 CAP. 3 LDPC
(iv) A matriz H gerada com colunas de peso de Hamming , linhas de peso
de Hamming , e no possuindo quaisquer duas colunas com mais de um
1 em comum;
c
w
r
w
(v) A matriz H gerada de acordo com o procedimento do ponto anterior mas
tendo como objectivo a maximizao do giro do cdigo;
(vi) A matriz H gerada de acordo com o procedimento referido em (iv)
procurando obter uma matriz de caracterstica mxima, de preferncia na
forma
H
1 2
=

H H H com ou invertvel.
1
H
2
H

Mackay e Neal apresentam ainda em [MN1] um conjunto de tcnicas que fazem
uso de algumas das estratgias antes referidas. Essas tcnicas so vulgarmente
conhecidas por 1A, 2A, 1B e 2B, sendo usadas por muitos investigadores na
classificao dos cdigos LDPC estudados.
A estratgia 1A diz respeito ao ponto (iii) com 3
c
w = , e em que introduzida a
restrio de o cdigo possuir um giro superior a 4.
A estratgia 2A baseia-se na construo da matriz H com colunas (com M
sendo o nmero de linhas da matriz H ) de peso 2, sem que exista qualquer 1 em
comum entre elas, e em que as restantes colunas tm peso 3, Simultaneamente,
procura-se que o peso seja o mais uniforme possvel, impondo como restrio o
facto de quaisquer duas colunas de H no terem mais do que um 1 em comum.
Consiste pois numa implementao da estratgia (iv) anteriormente mencionada.
/ 2 M
r
w
As estratgias 1B e 2B resultam da eliminao de um pequeno nmero de colunas
da matriz H obtidas segundo as estratgias 1A e 2A, respectivamente, de forma a
eliminar todos os ciclos do cdigo de tamanho inferior a um dado valor l estipulado,
procurando, desta forma, maximizar o giro de acordo com a estratgia (v).
Um dos problemas que se colocado precisamente a forma de eliminar os ciclos de
comprimento inferior a um dado valor. McGowan e Williamson baseados no conceito
de matriz adjacente, definida anteriormente, apresentam um mtodo em [MW] para
remoo desses ciclos por alterao da matriz A, garantindo, simultaneamente, que no
so gerados novos ciclos do mesmo tamanho ou inferior.
Como j foi referido, seguindo qualquer uma destas estratgias, o conjunto de
cdigos admissveis muito grande, tornando-se necessrio dispor de alguns critrios
CAP. 3 LDPC 23
de seleco por forma a escolher os susceptveis de apresentarem um melhor
desempenho.
Mao e Banihashemi sugerem em [MB2], como critrio de seleco a escolha do
cdigo que apresente o giro mais elevado. Este mtodo implica a determinao do giro
de cada um dos cdigos o que coloca, desde logo, limitaes sua aplicao em
comprimentos de bloco elevados. Estes autores mostraram que para cdigos obtidos
segundo o mtodo de construo 2A, o critrio de seleco por eles proposto, conduzia
escolha de um cdigo com uma menor probabilidade de erro de descodificao.
Um outro critrio de seleco consiste na escolha do cdigo que possui uma maior
distncia mnima (sem dvida, um bom parmetro de avaliao do desempenho de um
cdigo linear). A determinao da distncia mnima de um cdigo linear , no entanto,
uma tarefa complexa para cdigos com comprimentos de bloco elevados. Berrou, Vaton,
J zquel e Douillard apresentam em [BVJ D] um mtodo iterativo para a determinao
da distncia mnima de um cdigo linear, que designam por Mtodo do Erro Impulsivo.
O mtodo baseia-se na resposta de um descodificador iterativo de mxima
verosimilhana do tipo Soft-In / Soft-Out
7
a um erro do tipo impulsivo
8
num canal
Gaussiano. Os autores provaram que a amplitude mnima de rudo que provoca um erro
de descodificao igual distncia mnima do cdigo em causa.
Abordagens alternativas para a construo de cdigos LDPC
Existem outras formas de construo de cdigos LDPC. Por exemplo, Prabhakar e
Narayanan apresentam em [PN] um mtodo algbrico de construo de cdigos LDPC
regulares. Este apresenta como grande vantagem o facto de a estrutura do TG poder ser
gerada algebricamente usando um procedimento recursivo.
O mtodo algbrico apresentado por Prabhakar e Narayanan pretende construir um
cdigo LDPC regular de dimenses ( ) , n k , sendo o peso de cada BN e o peso de
c
w
r
w

]
7
O conceito de descodificao iterativa do tipo Soft-In / Soft-Out ser abordado detalhadamente no
captulo 4.
8
A palavra de cdigo transmitida apenas corrompida num bit com rudo
impulsivo de amplitude , dando origem a uma palavra recebida do tipo
.
[
0 1 1 1 i i i n
c c c c c c
+
= c
i
A
[ ]
0 1 1 1 i i i i n
c c c c c c
+
= ( + ) r
24 CAP. 3 LDPC
cada CN. Existem ligaes a BNs (conexo BN) e a CNs (conexo CN) em que
cada caminho do TG liga uma conexo BN a uma conexo CN. Designando por
c
n w
i
A a
conexo CN qual liga a conexo BN
i
, com
i
A pertencente ao CN
i r
A w

e a conexo
BN
i
pertencente ao BN
c
i w

, ento, Prabhakar e Narayanan propuseram que a


sequncia fosse obtida da seguinte forma recursiva:
0 1 2 1
, , , ,
c
n w
A A A A

( )
1
. mod c/ e 0
i i c
A a A b M M n w i M
+
= + = , (3.4)
com e nmeros inteiros satisfazendo um conjunto de condies por eles deduzidas
e
a b
0
A um nmero inteiro entre e 0 M .
Ao todo so nove as restries colocadas por Prabhakar e Narayanan que garantem
que o cdigo gerado por este mtodo LDPC e no possui ciclos de comprimento
inferior a seis. Estas condies no so muito restritivas, permitindo que seja gerado um
vasto conjunto de cdigos LDPC com diferentes comprimentos e taxas de informao.
O desempenho do cdigo gerado depende tambm dos valores escolhidos para a , e b
0
A .
Uma abordagem alternativa para a construo de bons cdigos LDPC irregulares
apresentada por Richardson, Shokrollahi e Urbanke em [RSU] e Chung, Forney,
Richardson e Urbanke em [CFRU] que se baseia num estudo sobre a distribuio dos
pesos de cada BN que optimiza o desempenho do cdigo.
3.3 CODIFICAO
Antes de referir outros mtodos de construo de cdigos LDPC, torna-se
necessrio ter uma ideia de como realizada a codificao conhecida a matriz H ou o
TG de um cdigo.
Sendo os cdigos LDPC lineares e tendo em conta o que foi referido na seco
2.1.1, a forma obvia de realizar a codificao seria partindo do conhecimento da matriz
geradora determinar as palavras de cdigo de acordo com a equao (2.3), ou seja,
fazendo . No entanto, os mtodos utilizados na construo de cdigos LDPC,
assentam na obteno da sua matriz de teste de paridade H ou no equivalente TG. Na
G
= c mG
CAP. 3 LDPC 25
grande maioria das vezes a matriz H obtida no sistemtica nem de caracterstica
mxima. A matriz pode, no entanto, ser expressa na forma sistemtica (2.9) H
9
usando
o mtodo de Gauss. A obteno da matriz G depois imediata. Podem, no entanto,
surgir situaes em que para obter H na forma (2.9) se torne necessrio efectuar troca
de colunas, obtendo-se desta forma um cdigo LDPC diferente mas com o mesmo
desempenho do original.
Embora de fcil implementao, o mtodo anterior extremamente dispendioso em
termo do nmero de operaes a realizar na codificao de cada palavra de cdigo. Tal
deve-se ao facto de a sistematizao da matriz H no conduzir, necessariamente,
obteno de uma matriz G com baixa densidade de 1s, pelo que a codificao por (2.3)
exige a realizao de um nmero extremamente elevado de operaes.
Uma aproximao alternativa para a soluo deste problema consiste na obteno
de cdigos LDPC por mtodos algbricos e geomtricos em que a codificao possa ser
realizado por circuitos simples baseados em registos de deslocamento. o caso dos
cdigos apresentados por J ohnson e Weller em [J W], que sugerem uma famlia de
cdigos LDPC quase cclicos com giro no inferior a 6. tambm o caso de Kou, Lin e
Fossorier que apresentam em [KLF] uma abordagem para a construo de cdigos
LDPC baseada em linhas e pontos de uma geometria finita, como a geometria
Euclidiana e a geometria projectiva em campos finitos. Os cdigos construdos por este
mtodo so tambm cclicos ou quase cclicos.

9
No caso da matriz H no ser de caracterstica mxima ao aplicarmos o algoritmo de Gauss vamos obter
uma ou mais linhas de zeros que podero ser eliminadas obtendo uma matriz de paridade equivalente
a , expressa na forma da equao (2.9).
' H
H

CAPTULO 4
DESCODIFICAO ITERATIVA
Devido ao seu desempenho os cdigos LDPC so hoje reconhecidos como a classe
de cdigos que melhor se aproxima do limite de eficincia de Shannon [Shan]. De facto,
o sucesso dos cdigos LDPC deve-se em grande medida sua simplicidade e ao
algoritmo de descodificao iterativo introduzido por Gallager [Gal1] e cuja
redescoberta por MacKay e Neal [MN1], [MN2], veio tornar clara a sua importncia.
O algoritmo apresentado por Gallager [Gal1] tem por base a representao grfica
dos cdigos LDPC e vulgarmente conhecido como algoritmo Soma de Produtos
(SPA). No entanto, o seu campo de aplicao vai muito para alm da descodificao de
cdigos LDPC, abrangendo reas do processamento de sinal, das comunicaes digitais
e da inteligncia artificial, onde conhecido por Belief Propagation
10
(BP) devido sua
aplicao em redes Bayesianas.

10
A designao do algoritmo SPA por Belief Propagation comum no contexto da descodificao de
cdigos LDPC. Ambos os termos sero empregues ao longo do texto de forma indiferenciada.
28 CAP. 4 DESCODIFICAO ITERATIVA
4.1 INTRODUO
Na descodificao de um cdigo, existem duas abordagens possveis: Hard
Decoding (HD) e Soft Decoding (SD)
11
. A primeira, considera que o conjunto de
smbolos diferentes entrada do descodificador finito, ou seja, no caso de um cdigo
binrio entrada do descodificador teremos apenas bits, ao passo que na descodificao
SD tida em conta a distribuio probabilstica dos smbolos recebidos.
Se por um lado, os algoritmos do tipo HD so na sua grande maioria menos
complexos e menos exigentes computacionalmente, tambm verdade que tomando em
conta a distribuio probabilstica dos dados recebidos pelo descodificador, os
algoritmos SD apresentem um melhor desempenho em termos de uma menor taxa de
erros quer BER quer MER.
No contexto dos cdigos LDPC ambas as abordagens de descodificao tm vindo
a ser objecto de investigao procurando um compromisso entre complexidade, latncia
e desempenho. Os algoritmos iterativos HD propostos so normalmente designados por
algoritmos de troca de bits (bit flipping algorithms) [Rich], e os SD por algoritmos de
troca de mensagens (message passing algorithms).
Comeamos por descrever o algoritmo de troca de bits (BF - Bit Flipping Algorithm)
proposto por Gallager [Gal1], [Gal2], bem como duas das suas variantes: o algoritmo de
troca de bits pesado (WBF Weight Bit Flipping Algorithm) proposto por Kou, Lin e
Fossorier [KLF] e o algoritmo de troca de bits pesado com arranque programado
(BWBF Bootstraped Weight Bit Flipping) proposto por Nouh e Banihashemi [NB]. O
algoritmo BF alm de ser o mais simples de entre os diversos algoritmos propostos para
a descodificao dos cdigos LDPC, permite lanar as bases para uma melhor
compreenso do algoritmo SPA e suas variantes sobre o qual incidiu grande parte do
nosso estudo.

11
Existem no entanto alguns algoritmos de descodificao cuja abordagem um misto de HD com SD.
o caso dos algoritmos WBF e BWBF a que ser feita referncia.
CAP. 4 DESCODIFICAO ITERATIVA 29
4.2 ALGORITMOS BF E SUAS VARIANTES
4.2.1 ALGORITMOS BF
Os algoritmos BF [Gal1], [Gal2], [KLF], [Rich] so algoritmos HD de baixa
complexidade. A ideia base [Ryan], [LMSS1], [KLF] consiste em negar o nmero
mnimo de bits da palavra de cdigo recebida por forma a que todas as equaes de
paridade expressas pela matriz H sejam satisfeitas. Este processo torna-se mais simples
quando a matriz possui uma baixa densidade de 1s e quando o grau dos BNs e dos
CNs do TG que representa o cdigo baixo.
H
A forma mais simples de descrever a descodificao HD atravs de um exemplo:

Exemplo 4.1:
Consideremos o cdigo de Hamming ( ) 7, 4 , definido pela matriz de teste de paridade

1 1 0 0 1 0 1
0 1 1 0 0 1 1
1 0 1 1 0 0 1
=





H .
A palavra de cdigo transmitida foi
[ ] 1 0 0 0 0 1 1 = c ,
e a palavra recebida
[ ] [ ] 0 0 1 0 0 0 0 1 0 1 0 0 1 1 = + = y c .
A palavra recebida y dever ser descodificada de forma a corrigir o erro ocorrido.

Resoluo:

Uma forma simples e instrutiva de compreender o processo de descodificao HD consiste na
representao esquemtica do conjunto de restries de teste de paridade. Cada restrio
representada por um crculo contendo o conjunto de variveis que intervm nessa restrio em que
a soma de todas as variveis contidas dentro do crculo dever ser nula. Para o caso do cdigo
dado, obtemos a representao esquemtica da figura 4-1 em que , com , representam
os bits da palavra recebida y . Substituindo os pelos respectivos valores, verificamos que as
restries
i
y 1, , 7 i =
i
y
2
f e
3
f passam a ser violadas, conforme se pode verificar pela figura 4-2.

Da interseco dos crculos
2
f e
3
f verificamos que as variveis comuns a ambas as restries
so e , pelo que negando um destes bits ambas as restries passariam a ser satisfeitas. No
3
y
7
y
30 CAP. 4 DESCODIFICAO ITERATIVA
entanto, faz tambm parte da restrio
7
y
1
f , restrio que passaria a ser violada caso o bit
fosse negado. Logo, o bit a negar dever ser e a palavra descodificada ser,
7
y
3
y
[ ] ' 1 0 0 0 0 1 1 y = ,
que de facto corresponde palavra transmitida.

1
y
4
y
3
y
7
y
6
y
5
y
2
y
1
f
2
f
3
f

Figura 4-1 Representao esquemtica
do conjunto de restries de teste de
paridade expressas pela matriz H.
1
0
1
1
1 0 0
1
f
2
f
3
f

Figura 4-2 Ao substituir os bits da
palavra recebida y constata-se que as
restries
2
f e
3
f so violadas.

O exerccio poderia tambm ser resolvido recorrendo ao TG do cdigo (figura 4-3).
1
y
2
y
3
y
4
y
5
y
1
f
2
f
3
f
6
y
7
y
1 0 1 1 0 0 1

Figura 4-3 TG associado ao cdigo de Hamming ( ) 7, 4 . Para a palavra recebida y as restries
2
f e
3
f so violadas.
A nica restrio que no violada
1
f , pelo que o CN
1
f envia a informao aos BNs , ,
e de que estes bits devero permanecer inalterados. Restam como possveis candidatos a serem
alterados , e . No entanto, tendo em conta a regra de descodificao HD (negar o menor
nmero de bits da palavra recebida de forma a satisfazer todas as condies), facilmente
conclumos que somente a alterao de faz com que as trs equaes de paridade sejam
simultaneamente verificadas, correspondendo, de facto, ao bit que estava errado na palavra
recebida.
1
y
2
y
5
y
7
y
3
y
4
y
6
y
3
y

CAP. 4 DESCODIFICAO ITERATIVA 31
Como pudemos verificar no exemplo anterior, a restrio
1
f no era violada. Os
bits nela envolvidos fornecem um tipo de informao extrnseca s restantes restries
2
f e
3
f , ajudando a identificar os possveis bits errados. este conceito de informao
extrnseca e de passagem de informao/mensagens entre nodos que est na base do
algoritmo SPA e das suas variantes.
Na descodificao BF desenvolvida por Gallager [Gal1], [Gal2], [KLF], a palavra
recebida previamente binarizada. Assim, consideremos um cdigo LDPC ( ) , N K
12

cujas palavras de cdigo, c , so transmitidas atravs de um canal Gaussiano aditivo.
Para tal, os bits da palavra de cdigo { } 0,1
n
c , com 1, , n N = , so modulados em
BPSK, fazendo-lhes corresponder os smbolos . Os smbolos da palavra
recebida , podem ento ser expressos por,
( ) 1
n
c
n
x =
y
n n
y x n
n
= + , com rudo Gaussiano de
mdia nula e desvio padro
n
n
. A palavra binria recebida r ento obtida fazendo,
se e se . 0
n
r = 0
n
y > 1
n
r = 0
n
y <
De acordo com (2.18) o descodificador calcula o sndroma, s . Todos os bits
contidos em mais do que um dado nmero de equaes de teste de paridade no
satisfeitas (equaes correspondes aos bits a 1 de s ) so ento negados e o sindroma
recalculado. O processo repete-se iterativamente at que todas as equaes sejam
satisfeitas, ou at que um nmero mximo de iteraes seja atingido, situao em que
declarado uma falha na descodificao.
O parmetro de projecto , designado por limiar, dever ser escolhido de forma a
minimizar o BER e o MER da descodificao e, simultaneamente, o nmero de
iteraes do algoritmo. O valor de depende dos parmetros do cdigo e da relao
sinal rudo (SNR) do canal.
O nmero de iteraes do algoritmo uma varivel aleatria funo da SNR do
canal e das caractersticas do cdigo. Um facto de realce no contexto da descodificao
iterativa de um cdigo LDPC, que o conceito de distncia mnima perde importncia
[KLF], na medida em que possvel corrigir muitos padres de erro com peso superior
s capacidades de correco expressas pela equao (2.16). Devido estrutura dos
cdigos LDPC e ao facto de a descodificao ser iterativa, a rpida convergncia de

12
Por convenincia de notao passamos a designar as dimenses de um cdigo por ( ) , N K .
32 CAP. 4 DESCODIFICAO ITERATIVA
alguns BNs para o seu valor correcto, ajuda convergncia dos restantes BNs
incorrectos.
O parmetro tem pois influncia no desempenho do algoritmo BF. Um dos
algoritmos BF mais simples o seguinte:

A2. Algoritmo BF:
(0) Calcular o sindroma . Se
T
= s r H = s 0 parar a descodificao palavra
correctamente descodificada.
(1) Calcular para cada BN
n
, o nmero de equaes de teste de paridade no satisfeitas
n
f ,
que o contm, com ; 1, , n N =
(2) Identificar o conjunto de BNs para os quais
n
f maior.
(3) Negar os bits do conjunto , obtendo uma nova palavra . ' r
(4) Repetir com a nova palavra r os passos (0) a (3) at que todas as equaes de teste
de paridade sejam satisfeitas, ou, um nmero mximo de iteraes seja atingido,
situao em que declarada falha na descodificao.

4.2.2 ALGORITMOS WBF E BWBF
Os algoritmos WBF [KLF], [NB] e BWBF [NB] so j de alguma forma do tipo
SD. Embora as palavras descodificadas continuem a ser obtidas por troca de bits da
palavra recebida, r , essa troca pesada por informao recebida sada do canal (soft
information). A sua descrio nesta seco permite lanar os fundamentos para uma
melhor compreenso da descodificao SD, da qual faz parte o algoritmo SPA e as suas
variantes.
Algoritmo WBF
Consideremos um cdigo LDPC ( , ) N K cujas palavras de cdigo, c , so
transmitidas atravs de um canal Gaussiano, com modulao BPSK e seja
, a palavra recebida sada do canal. Uma medida da fiabilidade da
deciso binria tomada para cada smbolo, , recebido o seu mdulo,
1 2
( , , , )
N
y y y = y
n
y
n
y . De facto,
ao considerar, se e se 0
n
r = 0
n
y > 1
n
r = 0
n
y < , ento, quanto maior for
n
y maior
probabilidade de a deciso tomada se encontrar correcta. O algoritmo WBF toma
precisamente em considerao este facto.
CAP. 4 DESCODIFICAO ITERATIVA 33
Designemos por:
( ) N m o conjunto de BNs ligados ao CN
m
ou seja:
{ } ( ) : 1
mn
N m n h = = . (4.1)
( ) \ N m n o conjunto de BNs ligados ao CN
m
excluindo o BN
n
.
( ) M n o conjunto de CNs ligados ao BN
n
, ou seja:
{ } ( ) : 1
mn
M n m h = = . (4.2)
( ) \ M n m o conjunto de CNs ligados ao BN
n
excluindo o CN
m
.

Por (2.18) calculamos o sndroma s associado palavra recebida r , determinando
para cada CN
m
, a necessidade de negar, ou no, algum dos BNs a ele ligados
13
. Para
cada CN
m
, com , podemos determinar o menor valor absoluto dos smbolos
recebidos correspondentes aos bits que intervm nesse CN, ou seja,
1, , m= M

{ }
( )
min
min : ( )
m
n
y y n N m = . (4.3)
Este valor determina o peso do CN
m
, na deciso de negar, ou no, os BNs que a ele se
encontram ligados. Desta forma, para cada BN
n
, com 1, , n N = , calculado um peso
com base na informao fornecida pelos CNs a ele ligados, sendo este peso dado por,
( )
( )
min
( )
2 1
m
n m
m M n
E s y

. (4.4)
O BN com maior peso ento negado, e o processo de clculo do sindroma e dos pesos
repetido at que , ou um nmero mximo de iteraes seja atingido. 0 = s
O algoritmo pode pois ser expresso na seguinte forma:

13
Se o elemento
m
s de s for igual a tal significa que a equao de teste de paridade associada ao CN 0
m

verificada e, como tal, no existe necessidade de negar nenhum dos bits de r que intervm no clculo
dessa equao de paridade. Caso 0
m
s , pelo menos um dos bits que intervm na equao de paridade
ter de ser negado. m
34 CAP. 4 DESCODIFICAO ITERATIVA
A3. Algoritmo WBF
(0) Calcular o sindroma . Se
T
= s r H = s 0 parar a descodificao palavra
correctamente descodificada.
(1) Calcular para cada CN
m
, com 1, , m M = ,

{ }
( )
min
min : ( )
m
n
y y n N = m .
(2) Calcular para cada BN
n
, com 1, , n N = ,
( )
( )
min
( )
2 1
m
n m
m M n
E s y

.
(3) Negar o bit para o qual
n
r
n
E mximo.
(4) Repetir com a nova palavra r os passos (0), (2) e (3), at obter = s 0 ou at que o
nmero mximo de iteraes estipulado seja atingido. Nesta situao declarada falha
na descodificao.

Algoritmo BWBF
O algoritmo BWBF difere apenas do algoritmo WBF no que toca aos smbolos da
palavra recebida y sobre os quais efectuada a deciso binria. Sendo
n
y uma medida
de fiabilidade da deciso binria tomada para o smbolo , lgico pensar que para
valores de
n
y
n
y inferiores a um dado limiar, , a informao recebida no fidedigna e,
como tal, a deciso binria sobre o bit no dever ser tomada tendo em conta , mas
sim, a informao fidedigna proveniente dos CNs nos quais esse bit intervm. Neste
sentido, um CN
n
r
n
y
m
considerado fidedigno em relao a um BN
n
, se todos os BNs a ele
ligados, com excepo do BN
n
, forem considerados BN fidedignos, isto ,

'
, ' ( ) \
n
y n N m > n . (4.5)
A descodificao comea por identificar os BNs no fidedignos e os CNs
fidedignos. Para um BN
n
, no fidedigno ligado a pelo menos um CN fidedigno, a
informao recebida, , corrigida tendo por base a informao proveniente dos CNs
fidedignos, de acordo com a equao
n
y
( )
'
' ( )\
( ) ' ( )\
sgn min
f
n n n n
n N m n
m M n n N m n
y y y y



= +


'

, (4.6)
com:
( )
f
M n o conjunto de CNs fidedignos ligados ao BN
n
.
CAP. 4 DESCODIFICAO ITERATIVA 35
O factor de correco pode ser compreendido tendo em conta alguns factos j
referidos anteriormente. Sabemos que o sinal de cada smbolo recebido, , est na base
da deciso binria tomada para cada BN. Assim, para um dado CN
n
y
n
r
m
fidedigno,
ligado ao BN
n
, sabemos que ( )
'
' ( )\
sgn
n
n N m n
y

o produto dos sinais de todas as


mensagens recebidas correspondentes aos BNs que intervm no CN
m
, com excepo do
BN
n
e, como tal, no mais do que o sinal que deveria possuir por forma a que a
restrio correspondente ao CN
n
y
m
fosse verificada.
No entanto, de entre os CNs fidedignos ligados ao BN
n
, poder haver alguns que
requeiram , ao passo que outros requeiram 0
n
y > 0
n
y < . Torna-se pois necessrio pesar
a fiabilidade da deciso imposta por cada um desses CNs. Tal tomada em conta pelo
termo
'
' ( )\
min
n
n N m n
y

que determina para cada CN


m
fidedigno a menor amplitude dos
smbolos fidedignos a ele ligados. De facto, tendo j sido referido que
n
y uma
medida de fiabilidade da deciso binria tomada para o smbolo , se
n
y
'
' ( )\
min
n
n N m n
y

um
valor elevado, ento, com grande probabilidade se pode concluir que as mensagens
(com ) so fidedignas e, como tal, estar correcta a deciso de sinal
imposta pelo CN
' n
y
' ( ) \ n N m n
(
'
' ( )\
sgn
n
n N m n
y

) m
fidedigno, para o BN
n
no fidedigno.
O somatrio presente em (4.6) no mais do que uma pesagem das contribuies
de cada CN fidedigno na deciso a ser tomada para o BN
n
no fidedigno.
Corrigidos os valores recebidos, o mtodo de descodificao segue os mesmos
passos do algoritmo WBF. De referir ainda que o parmetro
n
y
funo do cdigo e do
seu TG [NB], bem como, do SNR do canal.
O algoritmo pode ser pois expresso na seguinte forma:

36 CAP. 4 DESCODIFICAO ITERATIVA
A4. Algoritmo BWBF
(0) Identificao do conjunto I dos BNs no fidedignos de acordo com a equao

n
y < .
(1) Identificao do conjunto ( )
f
M n dos CNs fidedignos ligados a cada BN
n
I .
(2) Calcular:

( )
' '
' ( )\
( ) ' ( )\
sgn . min ,
,
f
n n n
n N m n
m M n n N m n n
n
y y y
y
y s



se n I
e n I
+
=


,
e determinar r em que:

0 , 0
1 , 0
n
n
n
se y
r
se y
>
=

<

.
(3) Calcular o sindroma . Se
T
= s r H = s 0 parar a descodificao palavra
correctamente descodificada.
(4) Calcular para cada CN
m
, com 1, , m M = ,

{ }
( )
min
min : ( )
m
n
y y n N = m .
(5) Calcular para cada BN
n
, com 1, , n N = ,
( )
( )
min
( )
2 1
m
n m
m M n
E s y

.
(6) Negar o bit para o qual
n
r
n
E mximo.
(7) Repetir com a nova palavra r os passos (3), (5) e (6), at obter = s 0 ou at que o
nmero mximo de iteraes estipulado seja atingido. Nesta situao declarada falha
na descodificao.

4.3 O ALGORITMO SOMA DE PRODUTOS
As melhorias de desempenho [KLF], [NB], dos algoritmos WBF e BWBF
relativamente ao algoritmo BF, tornam bem patentes a importncia do valor absoluto da
informao recebida, y , presente entrada do descodificador. Tomando conscincia
deste facto, Gallager [Gal1], [Gal2] props tambm um algoritmo de descodificao
iterativo do tipo SD que toma em conta a distribuio probabilstica dos smbolos
recebidos pelo descodificador. Este algoritmo vulgarmente conhecido por Algoritmo
Soma de Produtos (SPA), sendo tambm designado por Belief Propagation (BP).
CAP. 4 DESCODIFICAO ITERATIVA 37
O algoritmo SPA opera sobre o TG de um cdigo binrio linear e funciona,
basicamente, como um algoritmo de passagem de mensagens entre nodos. De uma
forma simplista, cada nodo pode ser visto como um processador de mensagens
(opinies) recebidas dos seus vizinhos (nodos a ele se ligados), aos quais devolve
mensagens actualizadas. As mensagens recebidas por um BN
n
dos CNs que a ele se
encontram ligados ( ( ) M n ), ou as enviadas desse BN para esses CNs, no so mais do
que opinies, ou convices
14
, sobre o valor lgico desse BN. Essas convices so
expressas em termos de probabilidades que tm em conta, como j se referiu, a
distribuio probabilstica dos smbolos recebidos pelo descodificador.
O algoritmo SPA apresenta na descodificao de cdigos LDPC o melhor
desempenho, tendo Chung, Forney, Richardson e Urbanke [CFRU] demonstrado ser
possvel aproximar (a menos de 0.0045 dB) a capacidade de um canal Gaussiano aditivo
considerando no limite um cdigo de comprimento infinito. Nesta medida, em toda a
literatura cientfica em que abordada a descodificao SD de cdigos LDPC, o
algoritmo SPA descrito na forma original, e no domnio logartmico [MN1], [MN2],
[Mac1], [Mac2], [KFL], [Ksch], [Ryan], [CF1], [CF2], [PL], [LLWP], [HEAD], [EMD],
[FMI] e [HM], entre muitos outros. No entanto, apesar do seu desempenho, a sua
implementao limitada pela grande complexidade, pelo que na maioria dos artigos
anteriormente referidos so propostas simplificaes.
De seguida, apresentaremos o algoritmo SPA na forma original, precedido de uma
breve referncia ao canal de transmisso.
4.3.1 O CANAL DE TRANSMISSO
Como foi j referido, o algoritmo SPA toma em conta a distribuio probabilstica
dos smbolos recebidos. Para tal, necessrio conhecer previamente as caractersticas
do canal. Geralmente, os canais considerados no estudo do desempenho de um dado
algoritmo de descodificao so os chamados canais bem comportados, como sejam,
o canal Binrio Simtrico (BSC), o canal Binrio Errneo (BEC) e o canal aditivo
Gaussiano (AWGN) [Bos] [Carl]. Na realidade, as caractersticas dos canais de
comunicao usados variam ao longo do tempo, pelo que a sua perfeita caracterizao

14
O conceito de convico ou opinio est na base da designao de Belief Propagation (BP).
38 CAP. 4 DESCODIFICAO ITERATIVA
estatstica torna-se complicada, seno impossvel, o que origina um pior desempenho
dos algoritmos de descodificao.
No que diz respeito descodificao de cdigos LDPC, tendo por base o algoritmo
SPA, a grande maioria dos investigadores considera que o canal Gaussiano (com
caractersticas parecidas com as comunicaes em espao livre e de mais fcil
tratamento terico). Neste sentido, na descrio que a seguir se apresenta do algoritmo
SPA, consideramos tambm que o canal aditivo Gaussiano, sem que isso, no entanto,
impea a sua generalizao para outro tipo de canais.
4.3.2 ALGORITMO SPA: A FORMA ORIGINAL
Consideremos um cdigo binrio LDPC ( ) , N K cujas palavras de cdigo so
transmitidas atravs de um canal aditivo Gaussiano. Para tal, os bits da palavra de
cdigo { } 0,1
n
c , com , so modelados em BPSK, fazendo-lhes corresponder
os smbolos, . Os smbolos recebidos so designados por , com, ,
e rudo Gaussiano de mdia nula e desvio padro
1, , n = N
n
( ) 1
n
c
n
x =
n
y
n n
y x n = +
n
n .
O TG pode pois ser modificado de forma a incluir a informao recebida, como o
objectivo de facilitar a descrio do algoritmo (ver exemplo 4.2).

Exemplo 4.2:
Considere-se o cdigo de Hamming ( ) 7, 4 do exemplo 4.1. O TG deste cdigo pode ser alterado de
forma a tomar em conta os smbolos recebidos, obtendo-se o seguinte grfico:
1
f
2
f
3
f
1
x
2
x
3
x
5
x
1
y
2
y
3
y
4
y
5
y
6
y
7
y
4
x
6
x
7
x

Figura 4-4 TG modificado por forma a incluir a informao recebida.

Como j foi dito, o algoritmo SPA baseia-se na passagem de informao entre
nodos. Assim, cada BN
n
envia para cada um dos CNs a ele ligados toda a informao
CAP. 4 DESCODIFICAO ITERATIVA 39
que ele recebeu com excepo da informao que o CN em causa j possui. Ou seja,
sendo um CN ligado ao BN m
n
, a informao enviada por este BN para o CN
m
inclui a
informao que recebeu do canal, , e a informao recebida de todos os outros CNs
ligados ao BN
n
y
n
, designada por Informao Extrnseca.
Da mesma forma, cada CN
m
envia para cada BN que a ele se encontra ligado toda a
informao extrnseca que ele recebeu dos restantes BNs a ele ligados. No entanto,
neste caso a informao enviada tem que verificar a restrio associada a esse CN.

Exemplo 4.3:
Considere-se os seguintes grficos parciais obtidos do TG da figura 4-4:
3
f
1
f
1
x
1
y

Figura 4-5
7
y
7
x
5
x
5
y
2
x
2
y
1
x
1
y
1
f

Figura 4-6
Na figura 4-5, a mensagem que o BN
1
x envia para o CN
1
f formada pela informao
recebido do canal e pela informao extrnseca recebida do CN
1
y
3
f .
Da mesma forma, na figura 4-6, a informao que o CN
1
f envia para o BN
2
x formada pela
informao extrnseca recebida dos nodos
1
x ,
5
x e
7
x .

Tratando-se de um algoritmo do tipo SD que considera a distribuio probabilstica
dos smbolos recebidos, facilmente se conclui que as mensagens a serem transmitidas
entre os nodos, no so mais do que probabilidades. O objectivo do algoritmo SPA
maximizar a probabilidade posteriori de um bit , da palavra descodificada c , ser 1
ou 0 tendo em conta a palavra recebida y e o conjunto de restries que o bit tem
de satisfazer. O que pretendemos pois calcular:
n
c
n
S
n
c

( )
Pr 0 ,
n
c = y
n
S , (4.7)
e
( )
Pr 1 ,
n
c S = y
n
. (4.8)
40 CAP. 4 DESCODIFICAO ITERATIVA
Designemos por:

( )
Pr 1
n n n
p c y = = com o i-simo smbolo da palavra recebida, ;
n
y y
k-simo bit da j-sima equao de teste de paridade envolvendo ;
kj
c
n
c
, com AWGN Smbolo recebido correspondente a ; ( ) 1
kj
c
kj
y = + n n
kj
c

( )
Pr 1
kj kj kj
p c y = = .
Assumindo que os smbolos da palavra recebida y so estatisticamente
independentes, Gallager [Gal1], [Gal2] apresentou um teorema no qual provou que a
razo entre as probabilidades posteriori (4.7) e (4.8) dada por:

( )
( )
( )
( )
'
( ) ' ( )\
'
( ) ' ( )\
1 1 2
Pr 0 ,
1
Pr 1 ,
1 1 2
n m
m M n n N m n n n
n
n n n
n m
m M n n N m n
p
c S
p
p c S
p



+

=


=
=





y
y

. (4.9)
Para provar (4.9) Gallager fez uso do lema L1 (ver anexo A) que diz que dada uma
sequncia de m dgitos binrios estatisticamente independentes, ( )
1 2
, , ,
m
a a a = a , em
que , ento, a probabilidade de conter um nmero par de 1s ( ) Pr 1
k k
p a = = a
(
1
1 1
1 2
2 2
m
k
k
) p
=
+

(4.10)
e a probabilidade de conter um nmero impar de 1s a
(
1
1 1
1 2
2 2
m
k
k
) p
=

. (4.11)
Por aplicao do teorema de Bayes chegamos concluso que:

( )
( )
( ) ( )
( ) ( )
( ) ( ) ( )
( ) ( ) ( )
Pr 0 , Pr 0, , Pr ,
Pr 1, , Pr , Pr 1 ,
Pr 0, Pr 0 Pr
Pr 1, Pr 1 Pr
n n n n n
n n n n n
n n n
n n n
c S c S S
c S S c S
S c c
S c c
= =
=
= =
= =
=
= =
y y y
y y y
y y
y y
y
y
. (4.12)
Partindo do pressuposto que o canal de comunicao no tem memria, os smbolos
da palavra recebida so estatisticamente independentes e, como tal, y

( ) ( )
Pr 1 Pr 1
n n n
c c
n
y p = = = = y , (4.13)
pelo que obtemos

( )
( )
( ) ( )
( )
Pr 0 , Pr 0, 1
Pr 1 , Pr 1,
n n n n n
n n n n n
c S S c p
p c S S c
= =
=
= =
y y
y y
. (4.14)
CAP. 4 DESCODIFICAO ITERATIVA 41
Considerando , os restantes bits a 1 duma equao de teste de paridade
envolvendo , devero ser em nmero par por forma a que a equao seja verificada.
Assim, seja m uma das equaes de teste de paridade que depende de . Se
0
n
c =
n
c
n
c 0
n
c = ,
ento, pelo Lema L1, a probabilidade de existir um nmero par de 1s entre os restantes
bits que fazem parte da equao de teste de paridade : m
(
'
' ( )\
1 1
1 2
2 2
n m
n N m n
p

) . (4.15)
Logo, a probabilidade de todas as equaes de teste de paridade dependentes de ,
n
c
( ) M n , serem satisfeitas para 0
n
c =

( ) (
'
( ) ' ( )\
1 1
Pr 0, 1 2
2 2
n n n m
m M n n N m n
S c p


= = +



y )

. (4.16)
De forma idntica, poderamos concluir que para 1
n
c = , temos

( ) (
'
( ) ' ( )\
1 1
Pr 1, 1 2
2 2
n n n m
m M n n N m n
S c p


= =



y )

, (4.17)
pelo que substituindo (4.16) e (4.17) em (4.14) obtemos a razo (4.9).

semelhana de Gallager, facilmente podemos concluir que o clculo da razo (4.9)
entre as probabilidades posteriori demasiado complexo. Gallager props um
algoritmo iterativo para determinar essas probabilidades posteriori, isto , o algoritmo
SPA.
Com vista a descrever o algoritmo necessrio referir alguma notao adicional.
Assim, designemos:
com ( )
nm
q b { } 0,1 b
b
mensagem que enviada do BN
n
para o CN
m

indicando a probabilidade de , baseado na
informao recebida do canal, , e em todos os
CNs dependentes de com excepo do CN
n
c =
n
y
n
c
m
;
com ( )
mn
r b { } 0,1 b mensagem que enviada do CN
m
para o BN
n

indicando a probabilidade de , baseado em
todos os BNs ligados ao CN
n
c b =
m
com excepo do
BN
n
;
com ( )
n
Q b { } 0,1 b pseudo-probabilidade posteriori de .
n
c b =

42 CAP. 4 DESCODIFICAO ITERATIVA
Tendo em conta a definio de ( )
mn
r b , o Lema L1 expresso pelas equaes (4.10) e
(4.11) e o facto de que a informao que o CN
m
recebe de todos os BNs, ,
dada pelos valores , ento, podemos concluir que
' ( ) \ n N m n
' n m
q
( ) ( ) ( ) (
'
' ( )\ ' ( )\
1 1 1 1
0 1 2 1 2
2 2 2 2
mn n m n m
n N m n n N m n
r p

= + = +

)
'
1 q , (4.18)
( ) ( ) ( ) (
'
' ( )\ ' ( )\
1 1 1 1
1 1 2 1 2
2 2 2 2
mn n m n m
n N m n n N m n
r p

= =

)
'
1 q , (4.19)
e logo, a razo (4.9) pode ser expressa na forma,

( )
( )
( )
( )
( )
( )
0
Pr 0 ,
1
1 Pr 1 ,
mn
n n m M n
n
n mn n n
m M n
r
c S
p
p r c S

=

=
=

y
y
. (4.20)
De igual modo, tendo em conta a definio de ( )
nm
q b e de acordo com as ideias
veiculadas no exemplo 4.3, podemos concluir que
( ) ( ) ( )
'
' ( )\
0 1 0
nm n m n
m M n m
q p r

=

, (4.21)
( ) ( )
'
' ( )\
1
nm n m n
m M n m
q p r

= 1

. (4.22)
A deciso sobre o valor binrio do bit n da mensagem recebida ento tomada
tendo por base as pseudo-probabilidades posteriori,
( ) ( ) ( )
( )
0 1 0
n n m
m M n
Q p r

=
n
, (4.23)
( ) ( )
( )
1
n n mn
m M n
Q p r

= 1

, (4.24)
onde o bit da palavra descodificada dado por n c

( )
( )
1 1

0 1
n
n
n
Q
c
Q
>

=

<

0.5
0.5
(4.25)
As equaes (4.21) e (4.22), bem como, (4.23) e (4.24) devero ser normalizadas
por forma a que ( ) ( ) 0 1 1 ( ) ( ) 0 1 1
n n
Q Q + = e .
nm nm
q q + =
O algoritmo pode ser descrito do seguinte modo:
CAP. 4 DESCODIFICAO ITERATIVA 43
A5. Algoritmo SPA
Para todos os pares ( ) ,
n m
BN CN , ou seja, todos os pares ( ) , n m para os quais na matriz
de teste de paridade se tem H 1
mn
h = .
(0) Inicializaco:
( ) 0 1
nm n
q p = ,
( ) 1
nm n
q p = .
(1) Calcular a mensagem que o CN
m
envia para o BN
n
:
( ) ( ) ( )
'
' ( )\
1 1
0 1 2
2 2
mn n m
n N m n
r q

= +

1 ,
. ( ) ( ) 1 1 0
mn mn
r r =
(2) Calcular a mensagem que o BN
n
envia para o CN
m
:
( ) ( ) ( )
'
' ( )\
0 1
nm nm n m n
m M n m
q k p r

= 0

,
( ) ( )
'
' ( )\
1 1
nm nm n m n
m M n m
q k p r

=

,
onde as constantes so escolhidas por forma a que
nm
k ( ) ( ) 0 1
nm nm
q q + =1.
(3) Calcular as pseudo-probabilidades posteriori:
( ) ( ) ( )
( )
0 1
n n n mn
m M n
Q k p r

=

0 ,
( ) ( )
( )
1 1
n n n mn
m M n
Q k p r

=

,
onde as constantes so escolhidas por forma a que
n
k ( ) ( ) 0 1
n n
Q Q 1 + = .
(4) fazer: , n

( )
( )
1 1

0 1
n
n
n
Q
c
Q
>

=

<

0.5
0.5
.
Se a palavra descodificada verificar as equaes de teste de paridade ( c
T
= cH 0) ou
o nmero mximo de iteraes tiver sido atingido, ento, parar. Caso contrrio, voltar
a (1).
Em caso de paragem devolver: - Palavra descodificada se ; c
T
= cH 0
- Erro se (# iteraes = max_iteraes).

Como podemos verificar a deduo do algoritmo foi feita apenas no pressuposto do
canal no ter memria e, como tal, os smbolos recebidos, , so estatisticamente
independentes entre si. Neste sentido, o algoritmo perfeitamente genrico, qualquer
que seja o canal de transmisso sem memria considerado. Apenas na inicializao do
n
y
44 CAP. 4 DESCODIFICAO ITERATIVA
mesmo, temos que considerar a distribuio estatstica dos smbolos recebidos que
determinada pelas caractersticas do canal.
n
y
No caso de um canal AWGN, com mdia nula e desvio padro , admitindo que
os smbolos , transmitidos com modulao BPSK, so de igual probabilidade, temos,
n
c

( ) ( )
2
2
1
Pr 1 Pr 1
1
n
n n n n n y
p c y x y
e

= = = = =
+
, (4.26)

( ) ( )
2
2
1
1 Pr 0 Pr 1
1
n
n n n n n y
p c y x y
e

= = = = + =
+
, (4.27)
conforme demonstrado no lema L2 do anexo A.

No caso de um canal BSC com probabilidade de erro q e probabilidade de acerto
1 p q = , os smbolos recebidos so binrios e, como tal, obtemos de acordo com o
lema L3 do anexo A,
n
y

1
n n
y y
n
p q p

= , (4.28)

1
1
n
y y
n
n
p q p

= . (4.29)
A primeira iterao do algoritmo SPA pode, neste caso, ser simplificada na medida
em que por (4.28) verificamos que toma apenas um de dois valores,
n
p p ou ,
conforme ou
q
1
n
y = 0
n
y = , respectivamente. Assim sendo, nas expresses (4.18) e (4.19)
o termo ( )
'
1 2 1
n m
q poder ser substitudo por

( )
( )( )
'
' '
'
'
1 2 1 1 2
1 2 0
1 2 1
1
n
n m n
n
n
y
q p
q y
p y
p q
=
=
=

=
, (4.30)
e logo, os valores da primeira iterao podero ser calculados a partir das
expresses:
( )
mn
r b

( ) ( )( )
( )
[ ]
( )
'
'
' ( )\
# ( ) 1
' ( )\
1 1
0 1
2 2
1 1
1
2 2
n
n
y
mn
n N m n
N m y
n N m n
r p q
p q

= +
= +

, (4.31)
( ) ( )
[ ]
( )
'
# ( ) 1
' ( )\
1 1
1
2 2
n
N m y
mn
n N m n
r p q

1 . (4.32)
CAP. 4 DESCODIFICAO ITERATIVA 45
Como se pode constatar, as mensagens ( )
mn
r b enviadas pelo CN
m
tomam apenas
um de dois valores e dependem unicamente do facto de a restrio associada a esse CN
ser ou no satisfeita. Assim, se a restrio for satisfeita:
( ) ( ) ( )
[ ] # ( ) 1 1 1
0 1
2 2
N m
mn mn
r r p q

= = + (4.33)
e caso contrrio
( ) ( ) ( )
[ ] # ( ) 1 1 1
0 1
2 2
N m
mn mn
r r p q

= = . (4.34)
Quando o cdigo LDPC regular, ento, o termo ( )
[ ] # ( ) 1 N m
p q

igual qualquer
que seja o CN
m
considerado, o que reduz ainda mais a complexidade computacional.
As pseudo probabilidades posteriori podem neste caso ser calculadas por,

( ) ( ) ( )
( ) ( )
[ ]
( )
[ ]
[ ]
( )
# ( )
# ( ) 1 # ( ) 1
0 1 0
1 1 1 1
1
2 2 2 2
n n n mn
m M n
S M
N m N m
n n
Q k p r
k p p q p q

=

= +

n S

, (4.35)
( ) ( )
[ ]
( )
[ ]
[ ] # ( )
# ( ) 1 # ( ) 1 1 1 1 1
1
2 2 2 2
S M
N m N m
n n n
Q k p p q p q


= +


n S

, (4.36)
onde o nmero de CNs ligados ao BN S
n
, cujas equaes de teste de paridade so
satisfeitas.
4.3.3 CONSIDERAES SOBRE O ALGORITMO SPA
SPA um algoritmo ptimo
Prova-se que o algoritmo Soma de Produtos (SPA) [Gal] de mxima
verosimilhana quando aplicado a cdigos descritos por grficos de Tanner sem ciclos,
ou seja, calcula com exactido as probabilidades posteriori (APP) [Pearl], [KFL],
[Tan1], [ETV].
De facto, possvel obter ao fim de um nmero finito de iteraes as
probabilidades posteriori
( )
Pr 0 ,
n n
c S = y e
( )
Pr 1 ,
n
c S = y
n
, na medida em que as
pseudo-probabilidades posteriori, ( ) 0
n
Q e ( ) 1
n
Q , convergem para esses valores
medida que o nmero de iteraes aumenta. No entanto, grficos de Tanner sem ciclos
no suportam bons cdigos [ETV] em virtude de estes possurem uma baixa distncia
mnima.
46 CAP. 4 DESCODIFICAO ITERATIVA
Quando aplicado a cdigos cujos TG possuem ciclos, o algoritmo deixa de ser
ptimo na medida em que os ciclos introduzem uma realimentao positiva nas
mensagens enviadas entre nodos. De facto, dado um cdigo LDPC com giro g , apenas
as mensagens enviadas ao longo das primeiras 2 g iteraes so independentes,
passando haver correlao entre elas nas iteraes seguintes. Este o motivo pelo qual
na construo dos cdigos LDPC se procura maximizar o giro [LS], [Lech]. No entanto,
a sua aplicao a certos cdigos LDPC provou ser possvel aproximar a capacidade de
um canal Gaussiano a menos de 0.0045dB [CFRU] [Mac]. Apesar de no ser ptimo, os
resultados experimentais mostram que o algoritmo SPA apresenta um bom desempenho
na descodificao de cdigos LDPC, sobretudo nos de maior giro e nos cdigos com
comprimentos de bloco mais longos.
Erros de Descodificao
Outra considerao importante a tecer acerca do algoritmo SPA o facto de ele
permitir no s corrigir erros ocorridos, como tambm, detectar a existncia de erros na
medida em que a matriz de teste de paridade H conhecida. Esta uma grande
vantagem relativamente ao algoritmo Viterbi utilizado na descodificao dos cdigos
convolucionais e do algoritmo BCJR utilizado na descodificao dos Turbo Codes, uma
vez que estes algoritmos no nos informam da eventualidade da sequncia
descodificada ainda possuir erros.
No que diz respeito aos erros de descodificao de referir o estudo realizado por
Lechner e Sayir [LS], [Lech], sobre os diversos tipos de erros que podem ocorrer na
descodificao. Lechner e Sayir identificaram trs tipos de erros:
1. Convergncia para uma palavra de cdigo errada;
2. Convergncia das pseudo-probabilidades posteriori para um
mximo local;
( )
n
Q x
3. A no convergncia das pseudo-probabilidades posteriori para um
ponto de equilbrio.
( )
n
Q x
Os dois ltimos tipos de erros podem ser detectados, com o algoritmo a declarar
falha na descodificao ao atingir o nmero mximo de iteraes estipulado. Estes
devem-se sobretudo existncia de ciclos e realimentao positiva que estes originam.
J o primeiro tipo de erros mais grave na medida em que estes no podem ser
detectados. Este tipo de erros est directamente relacionado com a distncia mnima do
CAP. 4 DESCODIFICAO ITERATIVA 47
cdigo e, como tal, no poder ser evitado por uma simples melhoria do algoritmo de
descodificao. Lechner e Sayir chegaram, no entanto, concluso que para cdigos
LDPC com comprimentos de bloco superiores a 1000 esse tipo de erros era
praticamente desprezvel.
Cdigos LDPC Regulares vs Irregulares
Aquando da definio dos cdigos LDPC regulares e irregulares no captulo 3,
ficou por explicar a razo do melhor desempenho dos cdigos irregulares face aos
cdigos regulares.
Luby, Mitzenmacher, Shokrollahi e Spielman apresentam em [LMSS1] [LMSS2]
uma das razes para esse melhor desempenho. Tendo em conta o algoritmo SPA,
conclumos que quanto maior for o grau de cada BN, maior ser a quantidade de
informao que ele recebe e, logo, mais facilmente ele poder inferir sobre qual o valor
correcto que deve possuir. Por outro lado, do ponto de vista de cada CN quanto menor
for o seu grau, menor o nmero de BNs dos quais depende e logo, menor a
probabilidade de transmitir mensagens incorrectas para cada BN a ele ligado.
Conclumos, portanto, que o grau de cada BN dever ser o maior possvel e o de cada
CN o menor possvel. Estes dois requisitos so contraditrios. No entanto, a opo por
cdigos LDPC irregulares, em que os nodos tm graus diferentes, permite
contrabalanar estes dois requisitos levando a uma melhoria do desempenho do
algoritmo SPA [LS]. De facto, os BNs de maior grau tendem mais rapidamente para o
valor correcto, fornecendo ao CNs a ele ligados informao fivel que transmitida
aos BNs de menor grau, fazendo com que estes tendam para o valor correcto.
4.4 SIMPLIFICAES DO ALGORITMO SPA
Face ao bom desempenho do algoritmo SPA, so poucos os investigadores que se
tm preocupado em melhorar o seu desempenho na descodificao dos cdigos LDPC
[MB1] [Foss]. Pelo contrrio, a implementao eficiente do algoritmo SPA quer em
hardware quer em software tem sido um tpico de crescente interesse.
So vrios os desafios colocados ao nvel do desempenho, expressa em termos de
BER e MER, da latncia e da complexidade computacional do algoritmo. Relativamente
a estes dois ltimos pontos h que salientar o elevado nmero de operaes aritmticas,
48 CAP. 4 DESCODIFICAO ITERATIVA
nomeadamente, multiplicaes, que so necessrias executar. H tambm a referir os
elevados requisitos de memria para armazenar os valores das mensagens enviadas
entre nodos. A implementao do algoritmo SPA usando processadores de vrgula fixa,
onde necessrio realizar a quantificao dos valores das mensagens enviadas entre
nodos, mostrou tambm ser sensvel aos erros de quantificao [PL].
Das vrias modificaes propostas ao algoritmo h a destacar a implementao no
domnio logartmico [CF1], [CF2], [HM], [HEAD]. De facto, sistemas de
descodificao usando mximas verosimilhanas logartmicas (LLRs) apresentam
grandes vantagens uma vez que as multiplicaes so substitudas por adies e o passo
de normalizao eliminado. Neste sentido, quase todas as alteraes propostas so no
domnio logartmico (LSPA).
4.4.1 AUMENTO DA EFICINCIA COMPUTACIONAL DO ALGORITMO SPA E
MINIMIZAO DA SUA SENSIBILIDADE AOS ERROS DE QUANTIFICAO
Antes de abordarmos a implementao do algoritmo SPA no domnio logartmico,
convm referir algumas tcnicas que nos permitem melhorar a eficincia computacional
do algoritmo e minimizar a sua sensibilidade aos erros de quantificao.
Uma forma simples de melhorar a eficincia computacional do algoritmo SPA em
termos do nmero de operaes realizadas, consiste na aplicao do mtodo frente e
verso (FB) no clculo das mensagens enviadas entre CNs e BNs [EMD] [PL]. No
clculo da mensagem que um dado CN envia para um dado o BN a ele ligado so
efectuados um conjunto de clculos comuns mensagem que esse mesmo CN envia
para qualquer outro BN a ele ligado. O mtodo FB minimiza o nmero de operaes a
realizar, procurando tirar o mximo de partido dos clculos comuns s mensagens que
um dado CN envia para os BNs a ele ligados e, vice-versa.
Dado um CN
m
, com grau ( ) # k N m = , ou seja, ligado a k BNs, facilmente se
conclui que o nmero de multiplicaes envolvidas no clculo de todas as mensagens
que esse CN envia para todos BN a ele ligados de
mn
r ( ) 1 k k , isto , de
complexidade
( )
2
O k . No entanto, por aplicao do algoritmo FB, o nmero de
multiplicaes pode ser reduzido para cerca de ( ) 3 # 5 N m

, ou seja, ( ) O k . Para
cdigos LDPC longos, em que o grau de cada CN elevado, existe a uma reduo
significativa do nmero de multiplicaes a realizar.
CAP. 4 DESCODIFICAO ITERATIVA 49
Como exemplo, veja-se uma das formas de aplicar o algoritmo FB no clculo das
mensagens que um dado CN
m
envia para todos BN a ele ligados. Seja ( ) # k N m = e
{ }
1 2
, , ,
k
n n n os elementos de k ( ) N m . Do algoritmo SPA temos:

( ) ( ) ( )
( )
( ) ( ) (
( )
\
\
1 1
0 1 2
2 2
1 1
0
2 2
i
i
i i
i
mn n m
n N m n
n m n m
n N m n
r q
q q

= +
= +

)
1
1
. (4.37)
Definindo:
(passagem para a frente) ( ) ( ) ( )
1
0 1
i i
i i n m n m
q q

= c/ 1, , 1 i k = e
0
1
2
= , (4.38)
(passagem para trs) ( ) ( ) ( )
1
0 1
i i
i i n m n m
q q
+
= c/ , , 2 i k = e
1
1
k

+
= , (4.39)
podemos, ento, calcular com uma nica passagem:
( )
1 1
1
0
2
i
mn i i
r
+
= + c/ 1, , i k = , (4.40)
( ) ( ) 1 1 0
i
mn mn
r r =
i
. (4.41)
O algoritmo FB pode ser aplicado tambm no clculo das mensagens que cada BN
envia para os diversos CNs a ele ligados, ( )
nm
q x , com { } 0,1 x = . No entanto, por
observao do algoritmo SPA podemos concluir que neste caso o nmero de operaes,
envolvidas (quase exclusivamente multiplicaes) ainda mais elevado. necessrio
calcular ( ) 0
nm
q , e efectuar a normalizao destes valores por forma a que ( ) 1
nm
q
( ) ( ) 0 1
nm nm
q q + 1 = . O mesmo ocorre no clculo de ( )
n
Q x com { } 0,1 x .
O nmero de operaes a realizar drasticamente reduzido se em vez do clculo
das probabilidades, , ,
n
p ( )
mn
r x ( )
nm
q x e ( )
n
Q x , com { } 0,1 x , optarmos por calcular as
mximas verosimilhanas,

1
n
n
n
p
u
p

= ,
( )
( )
0
1
mn
mn
mn
r
w
r
= ,
( )
( )
0
1
nm
nm
nm
q
v
q
= e
( )
( )
0
1
n
n
n
Q
V
Q
= , (4.42)
usando a notao de Ping e Leung [PL].
Estes autores mostraram que a implementao directa do algoritmo SPA em
hardware ou em processadores de vrgula fixa, levanta enormes problemas, motivados
pela degradao do desempenho do algoritmo em virtude de o clculo das mensagens
ser baseado nas diferenas de probabilidades, ( )
mn
r x ( ) ( ) 0
nm nm
q q 1 . Estes clculos so
muito sensveis aos erros de quantificao, provocando uma acumulao de erros ao
longo das vrias iteraes do algoritmo. Como alternativa, propuseram um mtodo
50 CAP. 4 DESCODIFICAO ITERATIVA
baseado na funo de paridade de mxima verosimilhana, ( ) plr x , perfeitamente
equivalente em termos aritmticos ao algoritmo SPA, mas muito menos sensvel aos
erros de quantificao.
4.4.2 ALGORITMO PLRA-SPA
De forma a apresentar o algoritmo SPA baseado na funo de paridade de mxima
verosimilhana proposto por Ping e Leung [LP1] e designado por PLRA-SPA, temos
que fazer uso do lema L4 (ver anexo A). Dado um conjunto de variveis aleatrias
binrias,
1 2
, , ,
n
x x x , com , e sendo a varivel aleatria resultante da soma
mdulo 2 das variveis aleatrias
2 n
n
y
i
x , com 1, , i n = , ou seja,
1 2 n n
y x x x = ,
ento, a mxima verosimilhana de funo das mximas verosimilhanas das
variveis
n
y
i
x , dada por
( )
( )
( )
( )
( )
1
1
mv 1
1
mv 1
mv
mv 1
1
mv 1
n
i
i i
n
n
i
i i
x
x
y
x
x
=
=

+


+

, (4.43)
ou na forma recursiva por
( )
( ) ( )
( ) ( )
1
1
mv mv 1
mv
mv mv
n n
n
n n
y x
y
y x

+
=
+
, (4.44)
em que a mxima verosimilhana de uma varivel aleatria x definida por
( )
( )
( )
Pr 0
mv
Pr 1
x
x
x
=
=
=
. (4.45)
O resultado apresentado pode ser transposto para o clculo das mensagens enviadas
de um CN para cada BN a ele ligado [PL] [HM] [EMD]. De facto, designemos por,
{ }
1 2
, , ,
N
c c c , as variveis aleatrias binrias associadas a cada um dos BN do cdigo.
Relembrando a definio de , com ( )
mn
r x { } 0,1 x , sabemos que ( )
mn
r x a mensagem
que enviada do CN
m
para o BN
n
indicando a probabilidade de
n
c x = , baseado em
todos os BNs ligados ao CN
m
, com excepo do BN
n
, ou seja,
, (4.46)
'
' ( )\
( ) Pr
mn n
n N m n
r x c x

=

CAP. 4 DESCODIFICAO ITERATIVA 51
onde um somatrio mdulo 2 e em que as probabilidades dos envolvidos no
clculo so os .

' n
c
' n m
q
Logo, a mxima verosimilhana da mensagem
mn
w ( )
mn
r x pode ser calculada a
partir de (4.43) e (4.44) do lema L4, em que a mxima verosimilhana de cada uma das
variveis aleatrias , com
' n
c ' ( ) \ n N m n , envolvidas no clculo , tal como foi
definida em (4.42). Se dvidas houvessem quanto veracidade do resultado (4.46),
poderamos simplesmente recorrer definio de , isto ,
' n m
v
mn
w

( )
( )
( ) ( )
( ) ( )
( ) ( )
( ) ( )
' '
' ( )\ ' ( )\
'
'
' ( )\
' ( )\
1 1
1 2 1 1 1 2 1
0 2 2
1 1
1 1 1 2
1 2 1
2 2
n m n m
n N m n n N m n mn
mn
mn n m
n m
n N m n
n N m n
q q
r
w
r q
q

+ +
= = =


1
, (4.47)
o que atendendo a, ( ) ( )
' '
0 1
n m n m
q q + 1 = vem,

( ) ( )
( ) ( )
( ) ( )
( ) ( )
( )
( )
( )
( )
( )
( )
( )
( )
' '
' ( )\ ' '
' '
' ( )\ ' '
'
'
' ( )\ '
'
'
'
' ( )\ '
'
'
'
0 1
1
0 1
0 1
1
0 1
0
1
1
1
0
1
1
0
1
1
1
0
1
1
1
1
1
n m n m
n N m n n m n m
mn
n m n m
n N m n n m n m
n m
n m
n N m n n m
n m
n m
n m
n N m n n m
n m
n m
n m
q q
q q
w
q q
q q
q
q
q
q
q
q
q
q
v
v


+


+

=



+

+


=

+
+
=

' ( )\
'
' ( )\ '
'
' ( )\
1
1
1
mv
n N m n
n m
n N m n n m
n
n N m n
v
v
c


+


=

. (4.48)

Tendo em conta este facto, Ping e Leung [PL] propuseram uma nova forma de
implementao do algoritmo SPA, baseado na funo razo de paridade de mxima
verosimilhana, definida na seguinte forma:

52 CAP. 4 DESCODIFICAO ITERATIVA
Funo Razo de Paridade de Mxima Verosimilhana
Seja { }
1 2
, , ,
K
Z z z z = um conjunto de valores reais positivos. Representando o smbolo
a unio de dois subconjuntos de Z sem elementos em comum, a funo ( ) plr x definida
por,
( )
{ }
( ) ( ) ( )
1 1
# 1 . .
plr plr , plr # 1
/ # 0 # 0
z Z i e Z
Z f X Y Z e Z X Y
c X e Y
= =

> =

> >


z
, (4.49)
em que a funo ( ) f x dada por
( )
1
,
ab
f a b
a b
+
=
+
. (4.50)

Facilmente se conclui por anlise da equao (4.50) e por comparao com (4.44)
que esta nos d a mxima verosimilhana da soma mdulo 2 de duas variveis
aleatrias binrias cujas mximas verosimilhanas so e . a b

Designando por
( ) { }
:
m nm
V v n N m = (4.51)
chegamos concluso que o algoritmo SPA pode agora ser escrito na forma:

A6. Algoritmo PLRA-SPA
Para todos os pares ( ) ,
n m
BN CN , ou seja, todos os pares ( ) , n m para os quais na matriz
de teste de paridade H se tem 1
mn
h = .
(0) Inicializaco:

1
n
nm
n
p
v
p

= .
(1) Calcular a mensagem que o CN
m
envia para o BN
n
:
{ } ( )
plr \
mn m nm
w V v = .
(2) Calcular a mensagem que o BN
n
envia para o CN
m
:

( )
'
' ( )\
1
n
nm m n
m M n m n
p
v w
p

=

.
(3) Calcular as pseudo-probabilidades posteriori:

( )
( )
1
n
n m
m M n n
p
V w
p

=
n
.
CAP. 4 DESCODIFICAO ITERATIVA 53
(4) fazer: , n
.
1 1

0 1
n
n
n
V
c
V
<
=

>

Se a palavra descodificada verificar as equaes de teste de paridade ( c


T
= cH 0) ou
o nmero mximo de iteraes tiver sido atingido, ento, parar. Caso contrrio, voltar
a (1).
Em caso de paragem devolver: - Palavra descodificada se ; c
T
= cH 0
- Erro se (# iteraes = max_iteraes).

Consideraes sobre o algoritmo PLRA-SPA
Podemos constatar que no algoritmo PLRA-SPA o passo de normalizao
necessrio no clculo dos valores ( )
nm
q x e ( )
n
Q x foi eliminado. Alm disso, podemos
observar que o algoritmo acima descrito pode usar tambm o algoritmo FB no clculo
dos , e . Estes dois ltimos valores so calculados simultaneamente.
mn
w
nm
v
n
V

Clculo dos recorrendo ao mtodo FB [PL]
mn
w
Sejam { }
1 2
, , ,
k
n n n os ndices dos ( ) # k N m = BNs ligados ao CN
m
. Por (4.48)
sabemos que no clculo das mensagens , basta ter em conta que
mn
w

( )
( )
( ) ( ) ( )
1 1 1
1 2
1 2
mv
mv
plr Z , plr Z
i i i
mn n n n n
w c c c
z z
f
+
=
=
=

k
c
, (4.52)
com , ,
1 1
1
i
n n
z c c

=
1
2
i k
n n
z c c
+
=
{ }
1 2 1
1
, , ,
i
n n n
Z c c c

= e
{ }
1 2
2
, , ,
i i k
n n n
Z c c c
+ +
=
para { } 1, , i k . Assim, os valores dos podem ser calculados da seguinte forma:
Seja
mn
w
{ }
1
, ,
i i
n m n m n m
A v v = , com 1, , 1 i k = , e
{ }
, ,
i i k
n m n m n m
B v v = , com , ento,
podemos escrever,
2, , i = k
1 + 1
\
i i i
m mn n m n m
V v A B

= , (4.53)
em que se considera e como sendo conjuntos vazios. Ento, a passagem para
a frente do algoritmo FB pode ser definida por,
0
n m
A
1 k
n m
B
+

( ) ( ) ( )
1
plr plr ,
i i
n m n m n m
A f A v

=
i
, (4.54)
com e 2, , 1 i k =
54 CAP. 4 DESCODIFICAO ITERATIVA

( )
1
plr
n m n m
A v =
1
. (4.55)
De forma anloga a passagem para trs pode ser definida por

( ) ( ) ( )
1
plr plr ,
i i
n m n m n m
B f B v
+
=
i
, (4.56)
com e 1, , 2 i k =

( )
plr
k
n m n m
k
B v = . (4.57)
Ento de acordo com (4.52) podemos escrever,

( ) ( ) ( ) ( )
1
plr \ plr , plr
i i i
mn m mn n m n m
w V v f A B
+
= =
1 i
, (4.58)
onde so realizadas desta forma [ ] 3 # ( ) 6 N m operaes do tipo ( ) , f a b (compostas
por duas adies e duas multiplicaes) nos clculos de para cada CN
mn
w
m
.

Clculo dos recorrendo ao mtodo FB [PL]
nm
v
No clculo das mensagens consideremos
nm
v ( ) # j M n = e
{ }
1 2
, , ,
j
m m m os ndices
dos CNs ligados ao BN j
n
. A passagem para a frente do algoritmo FB definida por

1
.
i i
m n m n m n
w
i


= , (4.59)
com e 1, , i j =

0
m n n
u = . (4.60)
A passagem para trs consiste no clculo de

1
.
i i
m n m n m n
w
i

+
= , (4.61)
com e em que , , 2 i j =

1
1
j
m n

+
= . (4.62)
Podemos, ento, calcular os valores atravs de
nm
v

1
.
i i i
nm m n m n
v
1

+
= , (4.63)
com e em que a razo de mxima verosimilhana das pseudo-probabilidades
posteriori dada por
1, , i = j
n
j
n m
V = , (4.64)
onde so realizadas [ ] 3 # ( ) N m multiplicaes por cada BN.

Se do ponto de vista da eficincia expressa em termos do nmero de operaes
realizadas, o algoritmo PLRA-SPA praticamente equivalente ao algoritmo SPA, o
CAP. 4 DESCODIFICAO ITERATIVA 55
mesmo j no se pode dizer no que diz respeito minimizao dos erros de
quantificao (implementao em vrgula fixa).
Em primeiro lugar, necessrio definir a forma como so quantificados os valores
envolvidos nos clculos. Ping e Leung [PL] adoptaram no caso do algoritmo SPA, um
esquema de quantificao uniforme. Esta opo faz todo o sentido na medida em que o
clculo das mensagens feito com base nas diferenas, ( )
mn
r x ( ) ( ) 0
nm nm
q q 1 , que
tomam valores entre 0 e 1. Demonstraram que so necessrios 12 bits de quantificao
para obter um desempenho idntico do algoritmo SPA sem quantificao (para valores
de ). J para o algoritmo PLRA-SPA tendo em conta que os valores
envolvidos nos clculos so mximas verosimilhanas (valores entre 0 e
)
, o esquema
de quantificao adoptado por Ping e Leung define um conjunto de nveis de
quantificao dados por
5
BER 10

i
s , com 1 s > (inteiro),
( )
1
0, 1, 2, , 2 1
L
i

= e o nmero
de bits de quantificao, o que corresponde a um quantificador uniforme no domnio
logartmico. Com este tipo de quantificao provaram ser necessrios apenas de 6 bits
para obterem um desempenho (para valores de
L
5
BER 10

) idntico do algoritmo
SPA sem quantificao. No entanto, em termos do algoritmo PLRA-SPA, para
obtermos o desempenho reportado necessrio truncar os valores de entrada da funo
(4.50) de forma a evitar erros grosseiros de clculo [PL]. Assim, do ponto de vista da
eficincia computacional expressa em termos de memria, verificamos que o algoritmo
PLRA-SPA mais vantajoso do que o SPA.
4.4.3 ALGORITMO SPA NO DOMNIO LOGARTMICO (LSPA)
Uma anlise do algoritmo SPA na forma original [Gal1], [Gal2] [Mac2] [MN1] ou
na forma proposta por Ping e Leung (algoritmo PLRA-SPA) [PL], mesmo aplicando o
algoritmo FB no clculo das mensagens enviadas entre nodos, permite concluir que
estes requerem um nmero elevado de multiplicaes. Uma vez que as multiplicaes
so mais dispendiosas computacionalmente do que as adies, vamos transferir os
clculos para o domnio logartmico onde as multiplicaes so convertidas em adies.
Este o princpio que est na origem da implementao do algoritmo SPA no domnio
logaritmo [CF1], [CF2], [HM], [HEAD], [Ryan].
56 CAP. 4 DESCODIFICAO ITERATIVA
Comecemos por definir as mximas verosimilhanas logartmicas das mensagens,
e , transmitidas entre os nodos, bem como, as probabilidades posteriori e as
pseudo-probabilidades posteriori . Seja:
mn
r
nm
q
n
p
n
Q
( )
( )
( )
Pr 0
1
ln ln
Pr 1
n n
n
n
n n n
c y
p
L c
p c y
=

= =
=
, (4.65)

( )
( )
( )
0
ln
1
mn
mn
mn
r
L r
r
= , (4.66)

( )
( )
( )
0
ln
1
nm
nm
nm
q
L q
q
= , (4.67)

( )
( )
( )
0
ln
1
n
n
n
Q
L Q
Q
= . (4.68)
A condio de inicializao do algoritmo SPA passa a ser
( ) ( )
1
ln
n
nm n
n
p
L q L c
p

= = . (4.69)
No caso do canal aditivo Gaussiano, e de acordo com as expresses (4.26) e (4.27)
para e

(
n
p ) 1
n
p , a condio de inicializao uma expresso muito menos exigente
do ponto de vista computacional (apenas 2 multiplicaes). De facto, por substituio
em (4.69) vem

( ) ( )
2
2
2 2 2
2
2 2 2 2
1
2
1
2
2
2 2
1
1
ln ln
1
1
ln ln
1
y
n
nm n
y
n
y y y
y
y y y y
e
p
L q L c
p
e
e e e
e
e e e e


2y


= = =

+




+


+

= = =

+ +



. (4.70)
No que toca mensagem que cada BN
n
envia para cada CN
m
, por substituio de
(4.21) e (4.22) em (4.67) resulta,
CAP. 4 DESCODIFICAO ITERATIVA 57

( )
( )
( )
( ) (
( )
)
( ) ( )
( )
( ) ( )
'
' ( )\
'
' ( )\
'
' ( )\
'
'
' ( )\
0
ln
1
1 0
ln
1
1 0
ln
1
nm
nm
nm
nm n m n
m M n m
nm n m n
m M n m
n m n
m M n m
n m
n m n
m M n m
q
L q
q
K p r
K p r
p r
p r
L c L r

= +
= +

n
. (4.71)
Da mesma forma, para as pseudo-probabilidades posteriori, resulta por
substituio de (4.23) e (4.24) em (4.68) a seguinte expresso,
( )
( )
( )
( ) ( )
( )
0
ln
1
n
n n
m M n n
Q
L Q L c L r
Q

= = +
mn
. (4.72)
As equaes (4.71) e (4.72) envolvem apenas somas pelo que o seu clculo muito
menos exigente do que o clculo dos e do algoritmo SPA, e dos e do
algoritmo PLRA-SPA. Alm disso, podemos verificar que o clculo de (4.71) e de (4.72)
pode ser realizado numa nica passagem. De facto, podemos verificar facilmente que:
nm
q
n
Q
nm
v
n
V
( ) ( ) ( )
nm n mn
L q L Q L r = (4.73)
ou seja, necessitamos de realizar apenas, e s, [ ] 2 # ( ) M n adies para calcular
simultaneamente todas as # ( ) M n mensagens que um dado BN
n
envia para todos os
CNs a ele ligados e a mxima verosimilhana logartmica da pseudo probabilidade
posteriori associada a esse BN. A eficincia computacional melhorada uma vez que o
nmero de operaes a realizar menor e so menos complexas (adies).
Quanto ao clculo da mensagem que cada CN
m
envia para cada BN
n
no basta
substituir (4.18) e (4.19) em (4.66), pois o resultado obtido seria demasiado complexo
de calcular. De facto, a eficincia computacional do algoritmo SPA no domnio
logartmico depende da forma como so calculadas as mensagens que cada CN envia
para todos os BNs a ele ligados. So dois os parmetros determinantes da
complexidade computacional deste clculo. O primeiro a topologia do cdigo
directamente relacionada com o grau de cada CN e, logo, com a taxa de informao
15
. O

15
Cdigos com taxas de informao elevadas possuem grficos de Tanner em que cada CN est ligado a
muitos BNs, ou seja, em que o grau de cada CN elevado.
58 CAP. 4 DESCODIFICAO ITERATIVA
segundo parmetro a forma como implementada a operao base (fundamental) do
clculo das as mensagens que cada CN envia para todos os BNs a ele ligados.
Uma soluo possvel para o problema foi proposta por Gallager [Gal1], [Gal2],
[Ryan] e [ZWP]. Comecemos por considerar o seguinte resultado:

0
0 1
1
1
tanh log 1 2
2
p
1
p p
p

= =



p . (4.74)
onde e so probabilidades com,
0
p
1
p
0 1
1 p p + = .
Subtraindo (4.18) e (4.19) obtemos,
( ) ( ) ( ) ( )
'
' ( )
0 1 1 2 1
mn mn n m
n N m
r r q

, (4.75)
donde por (4.74) resulta que os termos ( ) ( ) 0 1
mn mn
r r

e ( )
'
1 2 1
n m
q

podem ser
expressos por:
( ) ( )
( )
( )
( )
0
1
0 1 tanh log tanh
2 1 2
mn
mn mn mn
mn
r
r r L r
r


= =




1

, (4.76)
( )
( )
( )
( )
'
' '
'
0 1
1 2 1 tanh log tanh
2 1 2
n m
n m n m
n m
q
q
q


= =




1
L q

. (4.77)
Logo, a mxima verosimilhana logartmica da mensagem que o CN
m
envia para o BN
n


( ) ( )
1
'
' ( )\
1
2tanh tanh
2
mn n m
n N m n
L r L q

)
. (4.78)
A expresso obtida para ainda envolve multiplicaes, ao contrrio das
expresses obtidas para e
( )
mn
L r
(
nm
L q ( )
n
L Q . Alm disso, podemos constatar que a
expresso (4.78) depende da funo tangente hiperblica, cuja implementao difcil
[HMO], [LLHT], [HM].
Com vista a simplificar (4.78), vamos rescrever ( )
nm
L q na forma [Gal1], [Gal2]
[Ryan],
( )
nm nm nm
L q = , (4.79)
com
( ) ( )
sgn
nm nm
L q = , (4.80)
( )
nm nm
L q = . (4.81)
Atendendo a que a funo ( ) tanh x impar resulta de (4.78), (4.79), (4.80) e (4.81)
que
CAP. 4 DESCODIFICAO ITERATIVA 59

( ) ( )
'
' ( )\
'
' ( )\ ' ( )\
1 1
tanh tanh
2 2
1
tanh
2
mn n m
n N m n
n m n m
n N m n n N m n
L r L q



=



=

'

(4.82)

e logo,

( )
1
' '
' ( )\ ' ( )\
1 1
' '
' ( )\ ' ( )\
1 1
' '
' ( ' ( )\
1
2tanh tanh
2
1
2tanh log log tanh
2
1
2tanh log log tanh
2
mn n m n m
n N m n n N m n
n m n m
n N m n n N m n
n m n m
n N n N m n
L r








=






=



( )
)\
' '
' ( )\ ' ( )\
m n
n m n m
n N m n n N m n






=


(4.83)

onde
( )
1
log tanh log
2 1
x
x
e
x x
e
1 +
= =



(4.84)
e
( ) ( )
1
x x

= . (4.85)
Comparando agora as expresses (4.83) e (4.78), podemos constatar que todas as
multiplicaes foram convertidas em adies o que representa uma melhoria
significativa da eficincia computacional do algoritmo. claro que estamos a excluir o
clculo do produto dos sinais dos vrios termos que intervm no clculo da mensagem
(simples operao EXOR - soma mdulo 2). (
mn
L r )
) A funo base na qual assenta o clculo das mensagens (
mn
L r ( ) x , cuja
implementao deve ser o mais eficiente possvel. Como pode ser observado na
figura 4-7 a funo ( ) x contnua para valores de , apresentando, no entanto,
uma de descontinuidade para
0 x >
0 x = .
60 CAP. 4 DESCODIFICAO ITERATIVA
0 1 2 3 4 5 6 7
0
0.5
1
1.5
2
2.5
3

Figura 4-7 Funo ( ) x para . 0 x >
Como forma de ultrapassar este problema e, simultaneamente, diminuir a
complexidade do algoritmo, a funo ( ) x muitas vezes implementada com recurso a
uma tabela de consulta ou a uma aproximao linear por partes em que o declive de
cada segmento de recta uma potncia de 2. De referir que esta ltima soluo
bastante simples de realizar em hardware fazendo uso de registos de deslocamento.
Obviamente, ao aproximar a funo ( ) x , estamos a cometer pequenos erros de clculo
com consequncias a nvel do desempenho do algoritmo [HEAD].
O algoritmo SPA no domnio logartmico pode ser descrito do seguinte modo:

A7. Algoritmo LSPA
Para todos os pares ( ) ,
n m
BN CN , ou seja, todos os pares ( ) , m n para os quais na matriz
de teste de paridade H se tem 1
mn
h = .
(0) Inicializaco:
( ) ( )
2
2
n
nm n
y
L q L c

= =
(1) Calcular a mxima verosimilhana logartmica da mensagem que o CN
m
envia para o
BN
n
:
( ) ( )
' '
' ( )\ ' ( )\
mn n m n m
n N m n n N m n
L r


=



com
( ) ( )
sgn
nm nm
L q = ,
( )
nm nm
L q = ,
CAP. 4 DESCODIFICAO ITERATIVA 61
( )
1 1
logtanh log
2 1
x
x
e
x x
e
+
= =




.
(2) Calcular a mxima verosimilhana logartmica da mensagem que o BN
n
envia para o
CN
m
:
( ) ( ) ( )
'
' ( )\
nm n m n
m M n m
L q L c L r

= +

.
(3) Calcular a mxima verosimilhana logartmica das pseudo-probabilidades posteriori:
( ) ( ) ( )
'
' ( )
n n m
m M n
L Q L c L r

= +
n
.
(4) fazer: , n

( )
( )
1 0

0 0
n
n
n
L Q
c
L Q
<

=

>


Se a palavra descodificada verificar as equaes de teste de paridade ( c
T
= cH 0) ou
o nmero mximo de iteraes tiver sido atingido, ento, parar. Caso contrrio, voltar
a (1).
Em caso de paragem devolver: - Palavra descodificada se ; c
T
= cH 0
- Erro se (# iteraes = max_iteraes).

4.4.4 SIMPLIFICAES DO ALGORITMO LSPA
Uma anlise atenta do algoritmo LSPA permite concluir que a sua complexidade
reside no clculo das mensagens enviadas de cada CN
m
para cada BN
n
, semelhana do
que acontece com as outras variantes j apresentadas do algoritmo SPA. Em [LLWP],
[HEAD] e [HM] podemos encontrar um tratamento anlogo ao seguido por Gallager
[Gal1], [Gal2] para o clculo das mensagens ( )
mn
L r , que no s resolve o problema da
descontinuidade da funo ( ) x , como tambm, serve de ponto de partida para
algumas simplificaes do algoritmo LSPA, nomeadamente, o min-sum (MS-LSPA).
O desenvolvimento presente em [LLWP], [HEAD] e [HM] faz uso da funo de
mxima verosimilhana logartmica e do lema L5 (ver anexo A). Seja a varivel
aleatria resultante da soma mdulo 2 de variveis aleatrias
n
y
i
x , com , ou seja,
, ento, a mxima verosimilhana logartmica de funo das
mximas verosimilhanas logartmicas das variveis
1, , i = n
n 1 2 n
y x x x =
n
y
i
x dadas por,
62 CAP. 4 DESCODIFICAO ITERATIVA
( )
( )
( )
( )
( )
mvl
mvl
1
mvl
mvl
1
e 1
1
e
mvl
e 1
1
e 1
i
i
i
i
x
n
x
i
n
x
n
x
i
y
=
=

1

+


+

, (4.86)
ou na forma recursiva por,
( )
( ) ( )
( ) ( )
1
1
mvl +mvl
mvl mvl
e
mvl ln
e e
n n
n
y x
n
y x
y


1
n
+
=

, (4.87)
em que a mxima verosimilhana de uma varivel aleatria x definida por
( )
( )
( )
Pr 0
mvl ln
Pr 1
x
x
x
=
=

. (4.88)
Por uma questo de simplificao, vamos adoptar a notao seguida por Hu e
Mittelholzer [HM] que definem a operao + como sendo:
( ) ( ) ( )
( ) ( )
( ) ( )
1 2
1 2
mvl +mvl
1 2 1 2
mvl mvl
e
mvl mvl mvl ln
e e
x x
x x
x x x x

1 +
+ =

(4.89)
e de forma idntica podemos escrever:
( ) ( ) ( )
1 2
1
mvl mvl mvl
K
n K
i
y x x x
=
= = +
i
x

(4.90)
Podemos constatar que (4.86) e (4.87) resultam simplesmente da aplicao da
funo logaritmo natural s expresses (4.43) e (4.44) do lema L4, usadas na
formulao do algoritmo PLRA-SPA. O desenvolvimento presente em [LLWP],
[HEAD] e [HM] pois em tudo idntico ao que foi seguido no algoritmo PLRA-SPA.
Tomemos o resultado obtido em (4.46) no qual provmos que sendo, { }
1 2
, , ,
N
c c c ,
as variveis aleatrias binrias associadas a cada um dos BN do cdigo, a mensagem
que enviada do CN ( )
mn
r x
m
para o BN
n
indicando a probabilidade de com
n
c = x
{ } 0, 1 x , dada por

( )
'
' \
( ) Pr
mn n
n N m n
r x c x


= =

. (4.91)
Recorrendo definio de mxima verosimilhana logartmica conclumos que a
mxima verosimilhana logartmica da mensagem que enviada do CN
m
para o BN
n

dado por:
( ) ( )
'
' ( )\
' ( )\
mvl
mn n n m
n N m n
n N m n
L r c L q


= = +
'


. (4.92)
CAP. 4 DESCODIFICAO ITERATIVA 63
A expresso assim obtida perfeitamente equivalente expresso (4.48) obtida para o
algoritmo PLRA-SPA, em que a simples aplicao da funo logaritmo natural a (4.48)
conduz obteno de (4.92).
Pode-se tambm provar que (4.92) equivalente expresso (4.78) obtida por
Gallager [Gal1], [Gal2], de acordo com o lema L6 (ver anexo A) ou seja,
( ) ( ) ( )
1
1
2tanh tanh 2 tanh 2 log
e
e e



+

+
=

+

. (4.93)
Implementao srie do algoritmo LSPA
A operao + torna possvel a aplicao do algoritmo FB no clculo das
mensagens semelhana do realizado para o algoritmo PLRA-SPA [HEAD],
[HM].
( )
mn
L r
De facto, sejam { }
1 2
, , ,
k
n n n os ndices dos ( ) # k N m = BNs ligados ao CN
m
. A
passagem para a frente do algoritmo pode ento ser definida por

( )
1
i
i i n m
A A L q

= + , (4.94)
com e 2, , 1 i k =

( )
1
1 n m
A L q = . (4.95)
De forma anloga, a passagem para trs pode ser definida por

( )
1
i
i i n m
B B L q
+
= + , (4.96)
com e 1, , 2 i k =

( )
k
k n
B L q =
m
. (4.97)
Ento, de acordo com (4.52), podemos escrever:

( )
2
1 1
1
1
1, , 1
i
mn i i
k
B i
L r A B i k
A i k
+

= + =

, (4.98)
sendo realizadas desta forma apenas [ ] 3 # ( ) 6 N m operaes do tipo + .
A aplicao do algoritmo FB no clculo das mensagens ( )
mn
L r que cada CN
m
envia
para os BNs a ele ligados corresponde a uma implementao srie do
algoritmo LSPA que opera sobre uma rvore do tipo da figura 4-8 e, como tal, a latncia
do algoritmo assim implementado, na actualizao das mensagens enviadas por cada
# ( ) k N m =
64 CAP. 4 DESCODIFICAO ITERATIVA
BN
n
, da ordem de ( ) # ( ) O N m . A operao + permite tambm uma implementao
paralela com uma latncia da ordem de ( )
2
log # ( ) O N m

.
2 n
c
3 n
c
m
f
...
k n
c
1 n
c
1 n
c
2 n
c
3 n
c
k n
c
.
.
.
0
0
P
a
s
s
a
g
e
m

p
a
r
a

a

F
r
e
n
t
e
P
a
s
s
a
g
e
m

p
a
r
a

T
r

s

Figura 4-8 Configurao srie para o clculo das mensagens que cada CN
m
envia para os BNs a
ele ligados.
Implementao eficiente da operao +
A partir de (4.89) onde a operao + definida, verificamos que
( ) ( )
( ) ( )
( ) ( )
( ) ( )
1 2
1 2 2 1
1 2
0 mvl =0 mvl
mvl mvl mvl mvl =
mvl mvl =
x x
x x x x
x x

+ =

0 =
, (4.99)
pelo que 0 o elemento absorvente da operao e que o elemento neutro. Se o
problema da descontinuidade da funo ( ) x aparentemente parece resolvido com a
nova operao + , necessrio, no entanto, uma implementao eficiente desta pois
fundamental no clculo dos , nos quais reside a complexidade do algoritmo
LSPA.
( )
mn
L r
Comecemos por aplicar o lema L7 (ver anexo A) definio da operao + . O
referido lema diz que dados dois nmeros reais quaisquer x e , ento, y

( ) ( )
( )
log max , log 1
x y x y
a
a a x y a

+ = + +
a
. (4.100)
pelo que a expresso (4.89) pode ser escrita na forma
CAP. 4 DESCODIFICAO ITERATIVA 65

( ) ( )
( ) ( )
( ) ( )
( ) ( )
( )
( ) ( )
( )
( ) ( ) ( )
( ) ( )
( )
( ) ( ) ( )
( ) ( )
( )
1 2
1 2
1 2 1 2
1 2
1 2
mvl +mvl
1 2
mvl mvl
mvl +mvl mvl mvl
mvl +mvl
1 2
mvl mvl
1 2
e 1
mvl mvl ln
e e
ln e 1 ln e e
max 0, mvl +mvl ln 1+e
max mvl , mvl ln 1+e
x x
x x
x x x x
x x
x x
x x
x x
x x



+
+ =


+

= + +
= +

. (4.101)

Atendendo ao lema L8 (ver anexo A) que diz que dados dois nmeros quaisquer, x
e , ento, y
( ) ( ) ( ) ( ) ( )
max 0, max , sgn sgn min , x y x y x y x + = y , (4.102)
vem que

( ) ( ) ( ) ( ) ( )
( ) ( )
( )
( ) ( ) ( )
( ) ( )
( )
( ) ( ) ( ) ( ) ( )
( ) ( )
( )
( ) ( )
( )
1 2
1 2
1 2 1 2
mvl +mvl
1 2 1 2
mvl mvl
1 2
1 2 1
mvl +mvl mvl mvl
mvl mvl max 0, mvl +mvl ln 1+e
max mvl , mvl ln 1+e
sgn mvl sgn mvl min mvl , mvl
ln 1+e ln 1+e
x x
x x
x x x x
x x x x
x x
2
x x x



+ = +

=

+
x
. (4.103)

Definindo a funo
( )
( )
ln 1
x
g x e

= + , (4.104)
podemos constatar que a operao + pode ser implementada custa de 4 adies, uma
comparao e duas correces, correspondentes aos termos ( ) ( )
1 2
mvl mvl g x x +

e
( ) ( )
1 2
mvl mvl g x x

.
Como pode ser observado na figura 4-9, a funo ( ) g x contnua, no
apresentando qualquer descontinuidade para 0 x = , ao contrrio do que acontecia com a
funo ( ) x , o que torna a sua implementao mais simples. A funo ( ) g x pode,
semelhana da funo ( ) x ser implementada com recurso a uma tabela de consulta ou
utilizando uma aproximao linear por partes. Em [HEAD] mostrado ser possvel
implementar a funo com uma tabela de quantificao de 3 bits, cometendo um erro de
quantificao mximo inferior a 0.05, com uma reduzida diminuio do desempenho do
algoritmo LSPA. Como j foi referido anteriormente a implementao da funo
recorrendo a uma aproximao linear por partes em que o declive dos segmentos de
recta potncia de 2 bastante simples de realizar em hardware fazendo uso de registos
de deslocamento [HEAD].
66 CAP. 4 DESCODIFICAO ITERATIVA
0 1 2 3 4 5 6 7
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7

Figura 4-9 Funo ( ) g x para . 0 x >
A questo que pode ser colocada a razo de implementar o algoritmo LSPA
recorrendo operao + com a funo ( ) g x e no antes optar pela funo ( ) x .
Aparentemente, a opo pela operao + requer que sejam realizadas mais 4 adies e
1 comparao por clculo.
Tanto para a operao + , como para a funo ( ) x , o resultado (mxima
verosimilhana logartmica) um valor pertencente ao intervalo ] [ ; + , o que
origina erros de quantificao elevados para valores de x prximos de 0, na
implementao da funo ( ) x com recurso a uma tabela de consulta. J no caso da
implementao da operao + por (4.103) o resultado determinado pelo termo
( ) ( ) ( ) ( ) ( )
1 2 1
sgn mvl sgn mvl min mvl , mvl
2
x x x

x com os termos ( ) ( )
1 2
mvl mvl g x x +


e ( ) ( )
1
mvl mvl
2
g x x

a corresponderem apenas a pequenas correces ao resultado


(ver contradomnio da funo ( ) g x , ( ) ln 2 0;

). Logo, a diminuio de desempenho do
algoritmo LSPA, devido aos erros de quantificao da funo ( ) g x muito menor do
que no caso da funo ( ) x .
Algoritmo Soma Mnima (Min-Sum)
Uma das principais verses simplificadas do algoritmo LSPA, resulta da
aproximao,
( ) ( ) ( ) ( ) ( ) ( ) ( )
1 2 1 2 1
mvl mvl sgn mvl sgn mvl min mvl , mvl
2
x x x x x +

x (4.105)
em que os restantes termos da expresso (4.103) correspondem, como j foi dito, a uma
correco do valor (4.105). Desta forma, a operao + passa a poder a ser
CAP. 4 DESCODIFICAO ITERATIVA 67
implementada custa de apenas 1 comparao. A multiplicao dos sinais de ( )
1
mvl x e
( )
2
mvl x pode ser realizada de forma extremamente eficiente recorrendo a uma simples
operao EXOR [CF1], [CF2].
Desta forma, no algoritmo LSPA o clculo das mensagens pode ser
simplificado por
( )
mn
L r

( ) ( )
( ) ( ) ( )
'
' ( )\
'
' ( )\
' ( )\
sgn min
mn n m
n N m n
n m n m
n N m n
n N m n
L r L q
L q L q

= +

=

'
. (4.106)
Na medida em que o somatrio da equao (4.83) aproximado pelo menor dos
seus termos, o algoritmo designa-se por Soma Mnima (MS-LSPA
16
) [CF1], [CF2],
[HEAD], [HM], [Ryan].
Uma anlise atenta da equao (4.106) permite concluir que na configurao srie
do clculo das mensagens que o CN
m
envia para os [ ] # ( ) k N m = CNs a ele ligados,
estas podem ser calculadas numa nica passagem da rvore da figura 4-8, sendo
realizadas apenas operaes 1 k + compostas por 1 multiplicao de sinais e uma
comparao. De facto, considere-se:

( )
sgn
i
n m n m
L q
i

=

, (4.107)

( )
i
n m n m
L q =
i
(4.108)
com e . ( )
i
n N m 1, , i k =
Nessa passagem nica na rvore efectuado o produto dos sinais de todas as
mensagens
( )
i
n m
L q recebidas pelo CN
m
, ou seja, calculado

'
' ( )
n m
n N m

=

. (4.109)
Simultaneamente, so determinados os dois menores valores
i
n m
recebidos pelo
CN
m
. Designemos por e , os ndices do menor e do segundo menor valor
min
n
sec min
n

i
n m
,
respectivamente. O envio das mensagens do CN
m
para os k BNs a ele ligados
realizado com uma segunda passagem na rvore mas, envolvendo apenas 1
multiplicao de sinal por mensagem. Assim, as mensagens enviadas so,

16
O algoritmo referido pela sigla MS-LSPA designado em [CF1] e [CF2] por BP-Based Algorithm.
68 CAP. 4 DESCODIFICAO ITERATIVA
. (4.110)
( )
min
sec min
min
min
i
i
i
n m n m i
mn
n m n m i
A n
L r
A n



=

=

n
n
Desta forma, relativamente ao LSPA, no s o nmero de operaes aritmticas que
so necessrias realizar para cada CN sofre uma reduo acentuada, como tambm a
latncia diminui.

Outro ponto importante na anlise dos diversos algoritmos j apresentados diz
respeito memria necessria para guardar em cada iterao as mensagens enviadas dos
CNs para os BNs e, vice-versa. Todos os algoritmos da famlia SPA estudados at
agora, com excepo do MS-LSPA, requerem para cada CN
m
, # ( ) k N m = unidades de
memria, e requerem para cada BN
n
, # ( ) j M n = unidades de memria. Para o algoritmo
MS-LSPA so necessrias apenas duas unidades de memria por CN, o que
corresponde a uma reduo acentuada, sobretudo para cdigos LDPC com taxa de
informao elevada (o grau mdio de cada CN significativo
17
).
Devido simplificao efectuada, o algoritmo MS-LSPA apresenta, para o mesmo
nmero de iteraes, um menor desempenho relativamente ao LSPA como mostrado
em [CF1], [CF2], [HEAD], [HM]. No entanto, a sua baixa complexidade computacional
(apenas adies, comparaes e multiplicaes de sinais), bem como, os baixos
requisitos de memria tornam-no num dos mais adequados implementao em
processadores digitais de sinal (DSPs) ou mesmo em hardware [ZWP], [YNA] [BNK].
O algoritmo MS-LSPA pode pois ser descrito do seguinte modo:


17
Seja # ( ) N m e # ( ) M n o peso mdio de cada CN e cada BN, respectivamente. Para um cdigo LDPC
regular , temos que ( , N K) ( ) # ( ) # ( ) N M n N K N m = . Como # ( ) M n normalmente 3 ou 4,
verificamos que para cdigos com taxa de informao elevada # ( ) N m considervel.
CAP. 4 DESCODIFICAO ITERATIVA 69
A8. Algoritmo MS-LSPA
Para todos os pares ( ) ,
n m
BN CN , ou seja, todos os pares ( ) , m n para os quais na matriz
de teste de paridade se tem H 1
mn
h = .
(0) Inicializaco:
( ) ( )
2
2
n
nm n
y
L q L c

= =
(1) Calcular a mxima verosimilhana logartmica da mensagem que o CN
m
envia para o
BN
n
:
( ) ( ) ( ) ( )
' '
' ( )\
' ( )\
sgn min
mn n m n m
n N m n
n N m n
L r L q L q


(2) Calcular a mxima verosimilhana logartmica da mensagem que o BN
n
envia para o
CN
m
:
( ) ( ) ( )
'
' ( )\
nm n m n
m M n m
L q L c L r

= +

.
(3) Calcular mxima verosimilhana logartmica das pseudo-probabilidades posteriori:
( ) ( ) ( )
'
' ( )
n n m
m M n
L Q L c L r

= +
n
.
(4) fazer: , n

( )
( )
1 0

0 0
n
n
n
L Q
c
L Q
<

=

>


Se a palavra descodificada verificar as equaes de teste de paridade ( c
T
= cH 0) ou
o nmero mximo de iteraes tiver sido atingido, ento, parar. Caso contrrio, voltar
a (1).
Em caso de paragem devolver: - Palavra descodificada se ; c
T
= cH 0
- Erro se (# iteraes = max_iteraes).

Outra grande vantagem do algoritmo MS-LSPA reside na fase de inicializao. Na
medida em que os passos (1) e (2) envolvem apenas adies, comparaes e
multiplicaes de sinais, logo a multiplicao dos ( )
n
L c por uma constante positiva no
altera o desempenho do algoritmo. Neste sentido, o passo de inicializao poder ser
substitudo por
( )
n
L c y
n
= , (4.111)
70 CAP. 4 DESCODIFICAO ITERATIVA
de onde se conclui que no necessrio conhecer partida a SNR do canal (sem
qualquer reduo do desempenho do algoritmo [CF1]
18
).
Os algoritmos APP-LSPA e UMP-LSPA
A simplificao do algoritmo LSPA pode tambm ser realizada ao nvel do
processamento realizado nos BNs [CF2].
No algoritmo LSPA, para cada BN
n
so realizados dois tipos de clculos. O
primeiro realizado no passo (2), calcula para cada CN
m
ligado a esse BN a mensagem
que este lhe envia, ( )
nm
L q . Esta depende da informao recebida de todos os CNs
ligados ao BN
n
com excepo do CN
m
pelo que, de alguma forma, no se
correlaciona com a mensagem recebida previamente pelo BN
(
nm
L q )
( )
mn
L r
n
do CN
m
.
O segundo clculo efectuado no passo (3) e consiste em calcular a mxima
verosimilhana logartmica das pseudo-probabilidades posteriori, ( )
n
L Q , com base na
qual efectuada uma deciso sobre o valor binrio do bit recebido. n
No algoritmo Iterative APP-LSPA
19
proposto por Chen e Fossorier [CF2], o passo
(2) do algoritmo LSPA eliminado e cada BN
n
envia a todos os CNs a ele ligados a
mesma mensagem, ( )
n
L Q . A sigla APP diz respeito ao facto de o processamento
realizado nos BNs, se basear apenas no clculo das probabilidades posteriori. Neste
sentido, o algoritmo pode ser descrito por:

18
Este algoritmo designado em [CF1] e [CF2] por Uniformly Most Powerful BP-Based Algorithm
(UMP BP-Based Algorithm).
19
Passamos a designar o algoritmo Iterative APP-LSPA apenas por APP-LSPA.
CAP. 4 DESCODIFICAO ITERATIVA 71
A9. Algoritmo APP-LSPA
Para todos os pares ( ) ,
n m
BN CN , ou seja, todos os pares ( ) , m n para os quais na matriz
de teste de paridade se tem H 1
mn
h = .
(0) Inicializaco:
( ) ( )
2
2
n
nm n
y
L q L c

= =
(1) Calcular a mxima verosimilhana logartmica da mensagem que o CN
m
envia para o
BN
n
:
( ) ( )
' '
' ( )\ ' ( )\
mn n n
n N m n n N m n
L r


=



com
, ( ) ( )
sgn
n n
L Q =
( )
n n
L Q = ,
( )
1 1
logtanh log
2 1
x
x
e
x x
e
+
= =




.
(2) Calcular mxima verosimilhana logartmica das pseudo-probabilidades posteriori:
( ) ( ) ( )
'
' ( )
n n m
m M n
L Q L c L r

= +
n
.
(3) fazer: , n

( )
( )
1 0

0 0
n
n
n
L Q
c
L Q
<

=

>


Se a palavra descodificada verificar as equaes de teste de paridade ( c
T
= cH 0) ou
o nmero mximo de iteraes tiver sido atingido, ento, parar. Caso contrrio, voltar
a (1).
Em caso de paragem devolver: - Palavra descodificada se ; c
T
= cH 0
- Erro se (# iteraes = max_iteraes).

A grande vantagem do algoritmo APP-LSPA advm do facto de ser apenas
necessrio calcular e armazenar um valor por cada BN. Assim, comparando com a
implementao mais eficiente do algoritmo LSPA, em que feito uso do algoritmo FB
no clculo das mensagens enviadas por cada BN
n
para os # ( ) j M n = CNs a ele ligados,
verificamos que so realizadas com o algoritmo APP-LSPA menos adies e
preciso apenas uma unidade de memria em vez de .
j
j
72 CAP. 4 DESCODIFICAO ITERATIVA
No entanto, esta reduo de complexidade computacional e das necessidades de
armazenamento no suficiente para compensar a diminuio de desempenho
verificada para muitos cdigos LDPC. Esta diminuio deve-se ao facto de no algoritmo
APP-LSPA existir correlao entre a mensagem ( )
n
L Q , que cada BN
n
envia para todos
os CNs a ele ligados e as mensagens ( )
mn
L r que ele recebe desses mesmos CNs. Esta
correlao tanto maior quanto menor o peso desse BN, o que provoca uma
diminuio acentuada do desempenho do algoritmo APP-LSPA face ao LSPA,
conforme pode ser verificado em [CF2]. Esta reduo de desempenho pode, no entanto,
ser compensada por normalizao [CF2].
J para cdigos LDPC cujos BNs possuem um maior peso, como seja o caso dos
cdigos DSC
20
, a diminuio de desempenho do algoritmo APP-LSPA muito menos
significativa, tornando-o numa boa alternativa face complexidade do LSPA [CF2].

Simplificando o algoritmo LSPA simultaneamente ao nvel do processamento
realizado nos BNs [CF2] e nos CNs [CF1], [CF2], [HEAD], [HM], [Ryan], podemos
reduzir ao mnimo as necessidades computacionais e de armazenamento. O algoritmo
assim obtido, no mais do que uma combinao dos algoritmos MS-LSPA e
APP-LSPA. Designado por Chen e Fossorier [CF2] por Iterative APP-Based Algorithm,
pode ser descrito por:

20
Os DSC (Difference-Set Cyclic Codes) so uma das classes de cdigos LDPC, referidos no captulo 3,
obtidos por mtodos algbricos cuja geometria quasi-cclica permite a sua implementao com base em
registos de deslocamento. No entanto, a sua matriz possui um peso por coluna bastante superior a 3 ou
4 como caracterstico dos cdigos LDPC comuns.
H
CAP. 4 DESCODIFICAO ITERATIVA 73
A10. Algoritmo Iterative APP-Based
Para todos os pares ( ) ,
n m
BN CN , ou seja, todos os pares ( ) , m n para os quais na matriz
de teste de paridade se tem H 1
mn
h = .
(0) Inicializaco:
( ) ( )
2
2
n
nm n
y
L q L c

= =
(1) Calcular a mxima verosimilhana logartmica da mensagem que o CN
m
envia para o
BN
n
:
( ) ( ) ( ) ( )
' '
' ( )\
' ( )\
sgn min
mn n n
n N m n
n N m n
L r L Q L Q


(2) Calcular mxima verosimilhana logartmica das pseudo-probabilidades posteriori:
( ) ( ) ( )
'
' ( )
n n m
m M n
L Q L c L r

= +
n
.
(3) fazer: , n

( )
( )
1 0

0 0
n
n
n
L Q
c
L Q
<

=

>


Se a palavra descodificada verificar as equaes de teste de paridade ( c
T
= cH 0) ou
o nmero mximo de iteraes tiver sido atingido, ento, parar. Caso contrrio, voltar
a (1).
Em caso de paragem devolver: - Palavra descodificada se ; c
T
= cH 0
- Erro se (# iteraes = max_iteraes).

A diminuio de desempenho que se verifica relativamente ao algoritmo LSPA
para cdigos LDPC convencionais
21
, praticamente a mesma que ocorria para o
algoritmo APP-LSPA, o que mostra que a combinao de ambas as simplificaes no
acarreta uma degradao adicional do desempenho, como atestam os resultados
experimentais apresentados em [CF2]. O mesmo j no se passa com os cdigos LDPC
geomtricos para os quais se verifica uma degradao acentuada de desempenho.

21
Designamos por cdigos LDPC convencionais, aqueles que so construdos segundo as estratgias
propostas por Mackay e Neal (ver captulo 3).
74 CAP. 4 DESCODIFICAO ITERATIVA
Mtodos de melhoria de desempenho dos algoritmos MS-LPSA, APP-LSPA e
Iterative APP-Based
Os algoritmos resultantes da simplificao do algoritmo LSPA colocam menores
restries ao nvel das necessidades computacionais e de armazenamento custa duma
diminuio de desempenho expresso em termos de BER e MER (para o mesmo nmero
de iteraes). No entanto, necessrio referir que alguns destes algoritmos conseguem
descodificar a mesma mensagem correctamente custa de um maior nmero de
iteraes. Tal no pode ser considerado uma vantagem na medida em que o ganho de
eficincia (diminuio da complexidade computacional) perdido com o maior nmero
de iteraes necessrias para conseguir o mesmo desempenho.
Portanto, em cada aplicao prtica h que pesar devidamente os diversos factores,
como sejam: a capacidade de processamento e armazenamento disponvel, o
desempenho pretendido expresso em termo da taxa mxima de erros de bit (BER) ou de
bloco (MER) para um dado SNR do canal, os requisitos de transmisso (por ex:
transmisso em tempo real), entre outros.
Seria desejvel melhorar o desempenho dos algoritmos MS-LSPA, APP-LSPA e
Iterative APP-Based sem que isso implique um aumento significativo da sua
complexidade computacional (grande vantagem).
A diminuio do desempenho resulta, no caso da simplificao do processamento
nos CNs, da estimao por excesso das mensagens ( )
mn
L r que realizada ao aproximar
(4.92) por (4.106) devido simplificao (4.105). Hu, Eleftheriou, Arnold e Dholakia
sugerem em [HEAD] semelhana do que proposto em [EMD], a aproximao da
operao + por

( ) ( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
1 2 1 2 1
1 2 1 2
1 2 1
1 2
2 1
mvl mvl sgn mvl sgn mvl min mvl , mvl
mvl +mvl mvl mvl
sgn mvl sgn mvl min mvl , mvl
mvl 2 mvl 2 mvl
mvl 2 mvl 2 mvl
0 Outros Casos
2
2
1
2
x x x x x
g x x g x x
x
x x x
c x x
c x x
+ =

+


< >

+ < >

x
x
x
, (4.112)
com uma constante pr-determinada de acordo com o SNR do canal e as
caractersticas do cdigo. Desta forma, a operao base
c
+ implementada custa de
duas comparaes, uma multiplicao de sinal e uma adio, pelo que o aumento da
CAP. 4 DESCODIFICAO ITERATIVA 75
complexidade computacional muito baixo, quando comparado com o aumento do
desempenho do algoritmo, conforme mostram os resultados presentes em [HEAD] e
[EMD].
Chen e Fossorier propem em [CF1], [CF2] uma abordagem diferente que procura
resolver, simultaneamente, o problema da simplificao do processamento ao nvel dos
BNs em que passa a existir correlao entre a mensagem ( )
n
L Q , que cada BN
n
envia
para todos os CNs a ele ligados e as mensagens ( )
mn
L r que ele recebe desses mesmos
CNs. Esta correlao contribui de forma significativa para uma m estimao dos
valores das mensagens na iterao seguinte que, por sua vez, vai contribuir para
uma m estimao das pseudo-probabilidades posteriori
(
mn
L r )
( )
n
L Q , ou seja, um ciclo com
acumulao de erros que provoca uma diminuio efectiva do desempenho expresso em
termos de BER e MER. Neste sentido, Chen e Fossorier [CF1], [CF2], propem uma
normalizao das mensagens ( )
mn
L r obtidas por (4.106). Assim sendo, seja o valor
obtido por (4.78), para a mxima verosimilhana logartmica da mensagem enviada de
um CN
1
L
m
para um BN
n
segundo o algoritmo LSPA, e por o valor obtido para a
mesma mensagem por (4.106), ou seja,
2
L
( )
1
1
' ( )\
1
2tanh tanh
2
n m
n N m n
L

=




'
L q

, (4.113)
( ) ( ) ( )
2 '
' ( )\
' ( )\
sgn min
n m n m
n N m n
n N m n
L L q L

=

'
q . (4.114)
Facilmente se prova que [CF1]
( ) ( )
1
sinal sinal L =
2
L , (4.115)

2
L L >
1
, (4.116)
pelo que Chen e Fossorier sugerem uma normalizao do valor , ou seja, a diviso de
por um factor
2
L
2
L 1 > por forma a que o valor calculado para a mxima verosimilhana
logartmica da mensagem enviada de um CN (
mn
L r ) m
para um BN
n
, seja o mais
prximo possvel do valor .
1
L
Com vista a determinar , Chen e Fossorier sugerem que a mdia do mdulo dos
valores normalizados
2
L seja igual mdia do mdulo dos valores
1
L , ou seja,

( )
( )
2
1
E L
E L
= . (4.117)
76 CAP. 4 DESCODIFICAO ITERATIVA
Com este pressuposto, o valor pode ser calculado com base em simulaes de
Monte Carlo (sugesto de Chen e Fossorier). Em [CF1] apresentado o
desenvolvimento terico do valor de a utilizar na primeira iterao no caso do
algoritmo MS-LSPA. Chen e Fossorier alm de afirmarem que a deduo terica dos
valores de para as iteraes seguintes no simples, observaram tambm,
experimentalmente, que apenas uma pequena melhoria produzida com a utilizao de
valores de diferentes, de iterao para iterao. Observaram ainda que apesar do
valor ptimo de ser funo da SNR do canal, este poder ser considerado fixo, desde
que o valor escolhido para seja o correspondente SNR para o qual o
BER . Para cada cdigo LDPC passa a estar associado um valor especfico
de
4 3
10 ,10

pr-conhecido que depende do algoritmo de descodificao. Como obvio, este


menor para o algoritmo MS-LSPA do que para o Iterative APP-Based.
A complexidade computacional neste caso um pouco maior do que a da proposta
apresentada por Hu, Eleftheriou, Arnold e Dholakia em [HEAD], na medida em que por
cada mensagem efectuada mais uma diviso. No entanto, refira-se que se o
valor de
( )
mn
L r
for uma potncia de 2, esta pode ser implementada eficazmente com base
em registos de deslocamento. A proposta de Chen e Fossorier permite tambm
compensar a diminuio de desempenho provocada pela simplificao ao nvel dos
BNs. O mesmo j no se verifica com a proposta apresentada por Hu, Eleftheriou,
Arnold e Dholakia.
Implementao paralela do algoritmo LSPA e suas simplificaes
A operao + permite uma implementao paralela do algoritmo LSPA com uma
latncia da ordem de ( )
2
log # ( ) O N m

. De facto, em aplicaes com elevadas taxas de


transmisso, o algoritmo FB (apesar de minimizar o nmero de operaes + a realizar
no clculo das mensagens ), obriga a que a rvore da figura 4-8 seja percorrida 2
vezes e, como tal, a latncia seja da ordem de
( )
mn
L r
[ ] # ( ) O N m .
Hu, Eleftheriou, Arnold e Dholakia propem em [HEAD] uma implementao
paralela do algoritmo LSPA. Considere-se,
( ) ( )
'
' ( )
' ( )
mvl
m n
n N m
n N m
L S c L q


= = +
' n m

, (4.118)
CAP. 4 DESCODIFICAO ITERATIVA 77
como sendo a soma + de todas as mensagens recebidas pelo CN
m
dos a
ele ligados. O valor anterior pode ser calculado rapidamente recorrendo estrutura
paralela da figura 4-10, isto , com uma latncia da ordem de
# ( ) k N m =
[ ] # ( ) O N m .
1 n
c
2 n
c
3 n
c
4 n
c
3 k n
c
2 k n
c
1 k n
c
k n
c
2 n
c
3 n
c
m
f
...
k n
c
1 n
c
m
f
Figura 4-10 rvore equilibrada correspondente configurao paralela para clculo das mensagens que
cada CN
m
envia para os BNs a ele ligados.
Conhecido ( )
m
L S podemos calcular simultaneamente todas as mensagens que o
CN
m
envia para cada um dos k BNs a ele ligados. De facto, de acordo com (4.118)
vem,
( ) ( ) (
'
' ( )\
mvl
m n n nm
n N m n
L S c c L q L r


= = +

)
mn
, (4.119)
pelo que efectuando alguma manipulao algbrica, com base na definio da operao
+ temos que,

( )
( ) ( )
( ) ( )
( )
( ) ( ) ( ) ( )
( )
1
ln
1
ln 1 ln 1
nm m
nm m
nm m nm m
L q L S
mn m
L q L S
L q L S L q L S
m
e
L r L S
e
e e
+

+ +


= L S . (4.120)
Definindo a operao como sendo,
( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ln 1 ln 1
nm m nm m
L q L S L q L S
mn m nm m
L r L S L q e e L S
+ +
= = , (4.121)
podemos obter uma implementao paralela do clculo das mensagens enviadas por
cada CN, representada na figura seguinte,
78 CAP. 4 DESCODIFICAO ITERATIVA
+
+
+
( )
1
n m
L q
+
+
+
+
+
+
+
+
( )
2
n m
L q
( )
2
n m
L q
( )
4
n m
L q
( )
3 k
n m
L q

( )
2 k
n m
L q

( )
1 k
n m
L q

( )
k
n m
L q
-
-
-
( )
1
n m
L q
( )
2
n m
L q
( )
k
n m
L q
( )
k
mn
L r
( )
2
mn
L r
( )
1
mn
L r

Figura 4-11 Configurao paralela para o clculo das mensagens que cada CN
m
envia para os BNs
a ele ligados.
Definindo a funo,
( ) ln 1
x
h x e = , (4.122)
ento, a expresso (4.120) pode ser escrita na forma
( ) ( ) ( ) ( ) ( ) ( )
mn nm m nm m m
L r h L q L S h L q L S L S = +

, (4.123)
o que implica o clculo da funo ( ) h x nos pontos ( ) ( )
nm m
L q L S + e ( ) (
nm m
L q L S ) . No
entanto, a funo ( ) h x apresenta uma descontinuidade em 0 (ver figura 4-12) similar
funo ( ) x . A forma mais simples de implementar esta funo recorrendo a uma
aproximao linear por partes em que os factores multiplicadores so potncias de 2
conforme sugerido em [HEAD]. Neste caso, resultados experimentais [HEAD]
demonstram que a diminuio de desempenho praticamente desprezvel face ao LSPA
implementado sem qualquer aproximao.
CAP. 4 DESCODIFICAO ITERATIVA 79
-6 -4 -2 0 2 4 6
-6
-4
-2
0
2
4
6

Figura 4-12 Funo ( ) h x .
A estrutura paralela da figura 4-10 serve de ponto de partida para uma
simplificao do algoritmo LSPA proposta por Hu e Mittelholzer [HM], que se baseia
no ordenamento estatstico das mensagens ( )
mn
L q recebidas pelo CN
m
, em tudo
semelhante que proposta por Guilloud, Boutillon e Danger [GBD].
O algoritmo MS-LSPA pode ser aplicado, tal como foi definido, s estruturas
paralelas das figuras 4-10 ou 4-11. Designando por e , os ndices do menor e
do segundo menor valor
min
n
sec min
n

( )
i
n m
L q recebido pelo CN
m
, facilmente conclumos que a
latncia para determinar ( ) sgn
m
S ,
( )
min
n m
L q e
( )
sec min
n m
L q

, claramente inferior
verso srie. Conhecidos estes valores podemos determinar, simultaneamente, as
mensagens que o CN
2
log k
(
i
mn
L r
) m
envia para cada um dos BNs a ele ligados. De acordo
com (4.110) temos,

( )
( ) ( ) ( )
( ) ( ) ( )
min
sec min
min
min
sgn sgn
sgn sgn
i
i
i
m n m n m i
mn
m n m n m i
L S L q L q n n
L r
L S L q L q n n





=


=


(4.124)
A determinao de
( )
min
n m
L q e
( )
sec min
n m
L q

obriga a um ordenamento dos
( )
i
n m
L q
recebidos, com . Aps a sua determinao, todas as restantes mensagens
recebidas so consideradas como fidedignas, ou seja,
1, , i = k
( )
i
n m
L q = se e
. Como s importante o seu sinal na determinao das mensagens
min i
n n
sec min i
n n

( )
i
mn
L r ,
ento, a estrutura da figura 4-11 produz precisamente sua sada as mensagens do
80 CAP. 4 DESCODIFICAO ITERATIVA
algoritmo MS-LSPA
22
. Esta aproximao considerando apenas os dois menores valores,
conduz, no entanto, a uma diminuio de desempenho face ao algoritmo LSPA.
A ideia proposta por Hu e Mittelholzer [HM], [GBD], considerar no apenas os 2
menores valores, mas sim, os menores
( )
i
n m
L q , com 2, , k = , classificando as
restantes k mensagens recebidas como perfeitamente fidedignas. Neste sentido, a
rvore da figura 4-10 pode ser decomposta em duas sub-rvores. A primeira cujas
folhas so os menores
( )
i
n m
L q e a segunda cujas folhas so as restantes mensagens
consideradas fidedignas, tal como se representa na figura 4-13.
Tendo em conta que as folhas da sub-rvore direita so as k mensagens mais
fidedignas cujo mdulo + , logo para calcular ( )
m
L S apenas necessrio efectuar
multiplicaes de sinal ( o elemento neutro da operao + , ento, ( )
m
L S = ).
sub-rvore esquerda formada pelas mensagens menos fidedignas, poder ser aplicada
o algoritmo LSPA ou qualquer uma das suas simplificaes com vista obteno de
( )
m
L S . Operando sobre a rvore equilibrada
23
da figura 4-13 esta operao poder ser
executada com uma latncia de
2
log em vez de (tempo que gasto a percorrer
a rvore equilibrada da figura 4-11 ao aplicar o algoritmo LSPA).
2
log k

22
Note que o elemento neutro da operao + e, como tal, tambm o ser para a operao .
23
No sentido de que os ramos da rvore so quase equilibrados. Evitar a interpretao letra do conceito
da teoria da computao.
CAP. 4 DESCODIFICAO ITERATIVA 81
+
+
+
( )
menores valores com 1, ,

n m
L q i k =
+ + +
+ + +
+
+
( )
restantes valores com

n m
k L q =
( )
m
L S
( )
m
L S
( )
m
L S

Figura 4-13 rvore equilibrada em que as mensagens menos fidedignas so separadas
das restantes k mensagens mais fidedignas.
Desta forma conseguido um compromisso entre latncia, eficincia
computacional e desempenho. Basta considerar 3 = ou 4 = , para conseguir um
desempenho muito prximo do algoritmo LSPA. De facto, a diminuio acentuada do
desempenho do algoritmo MS-LSPA face ao algoritmo LSPA, sobretudo para cdigos
LDPC de maior comprimento, deve-se pobre estimao das mensagens
( )
i
mn
L r
enviadas pelos CNs (usamos apenas os 2 menores valores no seu clculo). Ao
considerarmos 2 > estamos a melhorar consideravelmente a estimao das mensagens
enviadas pelos CNs, face ao algoritmo MS-LSPA e, da o aumento de
desempenho verificado [HM], [GBD].
(
i
mn
L r
)
De referir tambm que a latncia vai depender de forma significativa do algoritmo
de ordenamento estatstico dos
( )
i
n m
L q . O algoritmo aqui descrito baseado na estrutura
em rvore equilibrada da figura 4-10, pode ser tambm aplicado a uma estrutura em
srie como a da figura 4-8 mas, com o consequente aumento da latncia.
Por ltimo, para 2 = o algoritmo corresponde, essencialmente, ao MS-LSPA,
com uma pequena diferena. Esta consiste no facto do mdulo das mensagens enviadas
pelo CN
m
para todos os BNs para os quais
i
n
min i
n n e
sec min i
n n

ser, neste caso,
( ) ( )
min sec min
n m n m
L q L q

+ , ao passo que no algoritmo MS-LSPA
( )
min
n m
L q .
O algoritmo Min LSPA, segundo a designao de [GBD] pode ser expresso por:

82 CAP. 4 DESCODIFICAO ITERATIVA
A11. Algoritmo -Min LSPA
Para todos os pares ( ) ,
n m
BN CN , ou seja, todos os pares ( ) , m n para os quais na matriz
de teste de paridade H se tem 1
mn
h = .
(0) Inicializaco:
( ) ( )
2
2
n
nm n
y
L q L c

= =
(1) Calcular a mxima verosimilhana logartmica da mensagem que o CN
m
envia para o
BN
n
:
( ) ( )
'
1 ' ( )\
mn n m i
i n N m n
L r


=


=






com
( ) ( )
sgn
nm nm
L q = ,
( )
nm nm
L q = e
i
o i-simo menor valor
' n m
com ' ( ) \ n N m n
( )
1 1
log tanh log
2 1
x
x
e
x x
e
+
= =




.
(2) Calcular mxima verosimilhana logartmica das pseudo-probabilidades posteriori:
( ) ( ) ( )
'
' ( )
n n m
m M n
L Q L c L r

= +
n
.
(3) fazer: , n

( )
( )
1 0

0 0
n
n
n
L Q
c
L Q
<

=

>

Se a palavra descodificada verificar as equaes de teste de paridade ( ) ou


o nmero mximo de iteraes tiver sido atingido, ento, parar. Caso contrrio, voltar
a (1).
c
T
= cH 0
Em caso de paragem devolver: - Palavra descodificada se c
T
= cH 0;
- Erro se (# iteraes = max_iteraes).

4.5 GESTO PROBABILSTICA DO CLCULO DAS MENSAGENS
O algoritmo SPA e as suas simplificaes, so algoritmos iterativos onde em cada
passo do processamento, quer dos BN's quer dos CNs, cada nodo envia uma mensagem
para cada um dos nodos a ele ligados. Este mtodo de passagem de mensagens
CAP. 4 DESCODIFICAO ITERATIVA 83
designado por flooding schedule [MB1], [KF]. Apesar do algoritmo SPA ser ptimo
quando aplicado a cdigos cujos TG no possuem ciclos, o mesmo no se passa quando
aplicado a cdigos cujos TG possuem ciclos
24
. Os ciclos introduzem realimentaes
positivas nas mensagens enviadas entre nodos. De facto, consideremos um cdigo
LDPC caracterizado por um dado TG e designemos por:
giro do nodo i , ou seja, o comprimento do ciclo mais pequeno do
TG que contm o nodo ;
i
g
i

max
g e giro mximo e mnimo de todos os nodos que constituem o
TG (
min
g
min
g o giro do cdigo).
Dado um BN
n
com giro
min
g , ento, so necessrias
min
2 g iteraes do algoritmo
SPA para que a mensagem enviada inicialmente pelo BN
n
se propague de volta para
esse BN. Assumindo que os bits das mensagens so estatisticamente independentes
(canal de transmisso sem memria), ento, at iterao
min
2 g as mensagens
passadas entre cada par de nodos so ptimas, ou seja, no correlacionadas entre si. Os
smbolos recebidos com base nos quais o algoritmo inicializado e as mensagens
recebidas at essa iterao por cada nodo so independentes. No entanto, a partir da
iterao
min
2 g , as mensagens recebidas pelo BN
n
, ou por qualquer outro BN com giro
min
g , passam a ser dependentes das mensagens enviadas inicialmente por esses nodos,
colocando em causa a convergncia do algoritmo para as verdadeiras probabilidades
posteriori. No entanto, para qualquer outro BN com giro
min
g g > , as mensagens
enviadas continuavam a ser ptimas at iterao 2 g .
Para solucionar este problema Mao e Banihashemi [MB1] sugerem uma gesto
temporal do clculo das mensagens, como forma de melhorar o desempenho do
algoritmo SPA sem qualquer aumento da sua complexidade. Assim, proposto
sincronizar os instantes de tempo em que os diferentes BNs enviam para os CNs a eles
ligados mensagens no ptimas. Por exemplo, o BN
n
anteriormente referido, com giro
min
g , no dever actualizar as mensagens que envia a partir da iterao
min
2 g , enviando
sempre as mesmas mensagens a cada um dos BNs a ele ligados at iterao
max
2 g ,
altura em que dever ser retomado o processo de actualizao das mensagens a enviar

24
Grficos de Tanner sem ciclos no representam bons cdigos [ETV] em virtude de estes possurem,
nesse caso, uma baixa distncia mnima.
84 CAP. 4 DESCODIFICAO ITERATIVA
em cada iterao. O mesmo se passa para qualquer BN

com giro
min max
g g g

< < , em
que entre a iterao 2
v
g e
max
2 g as mensagens enviadas pelo BN

no so
actualizadas.
Esta estratgia apresenta duas vantagens [MB1]. Por um lado maximizado o
nmero de iteraes do algoritmo SPA em que apenas as mensagens ptimas
circulam ao longo do TG e, por outro lado, na iterao
max
2 g quando retomado para
cada BN
n
o processo de actualizao da mensagem a enviar em cada iterao, a
mensagem recebida pelo BN
n
contm muito mais informao ptima do que conteria na
iterao 2
n
g .
Existem vrias formas de implementar uma estratgia semelhante descrita. Por
exemplo, uma gesto probabilstica do clculo das mensagens, conforme sugerido por
Mao e Banihashemi em [MB1]. Neste caso, a cada BN
n
associada uma probabilidade,
max n n
p g g = , de em cada iterao do algoritmo SPA a mensagem enviada pelo BN
n
ser
actualizada, com excepo da primeira iterao em que seguido o algoritmo SPA na
sua forma original. Resultados experimentais [MB1] evidenciam uma melhoria
significativa com este mtodo relativamente ao algoritmo SPA. O nmero de iteraes
realizadas na descodificao de uma palavra de cdigo para um dado SNR do canal
praticamente igual ao nmero de iteraes que seriam realizadas pelo algoritmo SPA.
No entanto, o nmero de clculos realizados em muitos dos casos inferior ao do
algoritmo SPA na medida que nem todas as mensagens enviadas por cada BN so
calculadas em cada iterao. De facto, sendo E o nmero de ramos do TG do cdigo,
ento, no algoritmo SPA so calculadas em cada iterao 2E mensagens, ao passo que
com o mtodo probabilstico anterior apenas so calculadas
max
/
n
n
E j g g +

com
. # ( ) j M n =
CAPTULO 5
DESCODIFICAO ITERATIVA RESULTADOS
EXPERIMENTAIS
Neste captulo apresentamos resultados experimentais obtidos para alguns dos
algoritmos apresentados no captulo 4, procurando realizar uma comparao crtica
segundo o ponto de vista do desempenho e da complexidade computacional.
Ser tambm proposto para o algoritmo LSPA um novo mtodo de normalizao
das mensagens enviadas dos CNs para os BNs. Os resultados obtidos revelam-se
promissores comparativamente ao algoritmo SPA segundo Gallager [Gal1], [Gal2].
Comearemos, no entanto, por fazer referncia s diversas medidas usadas para
exprimir o desempenho de um cdigo, bem como, a alguns aspectos importantes a ter
em conta na comparao de cdigos com diferentes taxas de informao.
5.1 ANLISE DE DESEMPENHO E COMPARAO DE CDIGOS
5.1.1 SISTEMAS DE COMUNICAO E DE ARMAZENAMENTO DIGITAIS
A codificao de canal assume um papel fundamental nos sistemas de comunicao
actuais. De forma abstracta, um sistema deste tipo pode ser representado por um
diagrama de bloco similar ao representado na figura 5-1:
86 CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS
Fonte de
Informao
Codificador de
Fonte
Codificador de
Canal
Modulador
Receptor
Descodificador
de Fonte
Descodificador
de Canal
Desmodulador
Canal Ruidoso
Entidade Emissora
Entidade Receptora
m c x
= + y x n
' m r

Figura 5-1 Componentes bsicos de um sistema de comunicao digital.
A forma como se relacionam os diversos blocos torna claro o mtodo como
avaliado o desempenho de um cdigo de correco de erros e como podem ser
comparados cdigos com diferentes taxas de informao.
A fonte de informao discreta emite smbolos que so codificados pelo codificador
de fonte, de acordo com um dado alfabeto cdigo. O codificador de fonte procura
remover toda a redundncia estatstica presente nos smbolos emitidos pela fonte
reduzindo, desta forma, o dbito simblico
s
r imposto ao sistema transmissor.
O codificador de canal, por sua vez, introduz redundncia (de forma controlada) nas
mensagens a transmitir por forma a aumentar a sua imunidade ao rudo do canal. Assim,
considerando o caso de um cdigo de bloco binrio ( ) , n k , s mensagens, m , de
comprimento , este faz corresponder palavras de cdigo, c , de comprimento n , pelo
que o dbito simblico sada passa a ser,
k
c s
r r R = , com R k n = , a taxa de informao
do cdigo.
Os smbolos produzidos pelo codificador de canal so convertidos pelo modulador
em sinais que possam ser transmitidos de forma eficiente atravs do canal de
comunicao. A escolha do esquema de modulao , normalmente, baseada num
conjunto de restries, como sejam, a potncia mxima possvel de transmitir, a largura
de banda disponvel, entre outros. Estes sinais so transmitidos atravs do canal
sofrendo, regra geral, diversos efeitos, como sejam, distoro e atenuao.
O desmodulador opera sobre o sinal recebido, y , realizando a operao inversa ao
do modulador, fornecendo uma palavra, r , ao descodificador de canal. No caso de um
CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS 87
sistema tipo FEC este tenta detectar e corrigir os erros da palavra recebida, fornecendo
sua sada uma estimativa, , da mensagem transmitida ' m
25
.
5.1.2 MEDIDAS DE DESEMPENHO
So vrias as medidas usadas para exprimir o desempenho de um sistema de
transmisso digital, entre as quais se destacam a taxa de mensagens erradas (MER) e a
taxa de erros (BER) sada do descodificador de canal. Se a definio de MER
perfeitamente clara, considerando-se a existncia de erro sempre que a mensagem
descodificada ' m m (ver figura 5-1), j a definio de BER no muito clara [Wick],
[Bos].
A dvida surge quando procuramos saber se a taxa de erros em causa diz respeito
aos bits da palavra de cdigo descodificada ou, simplesmente, aos bits de mensagem
que correspondem a essa palavra de cdigo. Se muitos autores, aquando da
apresentao de resultados relativos ao estudo de desempenho de um dado cdigo, no
clarificam devidamente a que BER se referem, pratica comum considerar a taxa de
erros entre os bits de informao (ou mensagem).
' c
' m
Por exemplo, a anlise do desempenho de um cdigo binrio ( ) , n k , no sistemtico
com um comprimento longo, descodificado com o recurso a uma tabela
(correspondncia entre palavras de cdigo, c , e mensagens, m ), um estudo
extremamente moroso. Em alternativa usual considerar-se que se a palavra recebida
contm x erros, ento, o nmero mdio de bits de mensagem errados x R e, nesse
caso,

bits informao bits cdigo
BER BER = , (5.1)
o que simplifica o clculo do BER.
Se o BER e o MER representam duas medidas muito utilizadas, outras medidas
existem, nomeadamente, a anlise sobre o tipo de erros ocorridos no processo de
descodificao.

25
Um sistema que corrige e detecta os erros no receptor designado por FEC (forward error control).
Um sistema que detecta os erros no receptor e pede a retransmisso da informao errada ao emissor
designado por ARQ (Automatic-Repeat-Request). Este sistema requer a utilizao de um canal de
comunicao nos dois sentidos.
88 CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS
Nem todos os erros ocorridos durante a transmisso so detectados. Referimos no
captulo 2 que no caso de um cdigo linear, usando descodificao por sndroma, s
havia deteco de erros se o sndroma fosse diferente do vector nulo. Assim,
num dado esquema de descodificao podero ocorrer quatro tipos de situaes:
T
= s r H
A palavra recebida, r , a palavra de cdigo que foi transmitida ou que o
descodificador de canal corrige correctamente e, logo, no h erros;
A palavra recebida uma palavra de cdigo diferente da que foi transmitida,
pelo que este erro no detectado na descodificao;
r
A palavra recebida r no uma palavra de cdigo mas o descodificador de
canal corrige-a erradamente.
A palavra recebida r no uma palavra de cdigo e o descodificador de canal
no a consegue corrigir. Nesta situao existe deteco dos erros ocorridos.

Assim, outras medidas importantes de desempenho so a taxa de mensagens erradas
no detectadas e a taxa de erros no detectados.
5.1.3 COMPARAO ENTRE CDIGOS
Definidas que foram as medidas de desempenho, o problema que se coloca de
como comparar de forma justa o desempenho de cdigos com diferentes dimenses e
taxas de informao.
O uso de um cdigo de canal com taxa de informao, R k n = , tem duas
consequncias [Wick], [Bos]. Em primeiro lugar, o dbito simblico de transmisso
aumenta passando a ser,
c s
r r R = , com
s
r e o dbito entrada e sada do codificador
de canal, respectivamente. Em segundo lugar, a energia de transmisso aumenta para
c
r
s
nE em vez de
s
kE , com
s
E a energia transmitida por smbolo. De forma a comparar o
desempenho de diferentes esquemas de codificao, a energia do sinal passa a ser
expressa em termos da energia enviada por bit de informao,
b
E , com

s
b
E
E
R
= . (5.2)
CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS 89
Assim, considerando o caso de um canal Gaussiano, os grficos de desempenho
passam a ser expressos em termos da figura de mrito,
b o
E N , directamente relacionada
com o SNR do canal em que:

2
2
b s
o
E E
N R
= , (5.3)
com
2
a varincia do rudo AWGN que adicionado a cada smbolo da palavra de
cdigo transmitida,
0
2 N a densidade espectral de potncia do rudo, e
b o
E N
expresso normalmente em dB.
5.1.4 GANHO DE CODIFICAO
Outro termo comum aquando da anlise do desempenho de um esquema de
codificao o ganho de codificao [Wick], [Bos]. Este no mais do que uma
medida da potncia adicional que seria necessrio transmitir no caso de no usarmos
qualquer mtodo de codificao, para obter o mesmo desempenho.
Fixando a energia transmitida por bit
b
E , a utilizao de um cdigo de taxa R
provoca um aumento da taxa de transmisso,
s
r , e uma diminuio da energia enviada
por smbolo,
s
E , ou seja, uma diminuio da SNR sada do canal. Como consequncia,
verifica-se o aumento da taxa de erros da sequncia recebida, em comparao com a que
seria obtida se no fosse usado qualquer esquema de codificao. No entanto, a
redundncia introduzida com o cdigo de canal, permite que aps a descodificao
muitos dos erros sejam corrigidos, garantindo um desempenho superior ao sistema sem
codificao, como pode ser visualizado na figura 5-2.

Transmisso c/ Codificao de
Canal antes da Despodificao
Transmisso c/ Codificao
de Canal aps Descodificao
Ganho de Codificao
Transmisso s/
Codificao de Canal
BER
0
[dB]
b
E
N


Figura 5-2 Conceito de Ganho de Codificao.
90 CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS
5.2 RESULTADOS EXPERIMENTAIS
5.2.1 CDIGOS ANALISADOS E CONDIES DE SIMULAO
No estudo realizado foram utilizados trs cdigos LDPC de diferentes dimenses e
taxas de informao. Escolhemos os seguintes cdigos cujos resultados so reportados
na literatura:

LDPC 96.2A3.565 (designado no texto por cdigo ). Cdigo irregular obtido pelo
mtodo construo 2A, com comprimento de bloco, 96 n = , taxa de informao, 1 3 R = ,
e caracterizado por um giro mximo igual a 8. A distribuio dos graus de cada BN e
CN, e do giro dos BNs encontra-se representada na figura 5-3. A matriz de teste de
paridade, bem como, uma anlise do seu desempenho est disponvel em [Mac3].
1 2 3
0
10
20
30
40
50
60
70
LDPC 96.2A3.565
Grau
N

m
e
r
o

d
e

B
N
'
s
3 4 5
0
10
20
30
40
50
60
70
N

m
e
r
o

d
e

C
N
'
s
LDPC 96.2A3.565
Grau
4 6 8
0
10
20
30
40
50
60
LDPC 96.2A3.565
Giro
N

m
e
r
o

d
e

B
N
'
s

Figura 5-3 Distribuio dos graus dos BNs e CNs e dos giros dos BNs para o cdigo .

LDPC 252.252.3.252 (designado no texto por cdigo ). Cdigo regular com
comprimento de bloco, , e taxa de informao, 504 n = 1 2 R = , possuindo cada BN grau
3 (ver figura 5-4). Este cdigo encontra-se tambm disponvel em [Mac3] e o seu
desempenho foi reportado em [CF1] e [CF2].
2 3 4
0
100
200
300
400
500
600
LDPC 252.252.3.252
Grau
N

m
e
r
o

d
e

B
N
'
s
5 6 7
0
50
100
150
200
250
300
LDPC 252.252.3.252
Grau
N

m
e
r
o

d
e

C
N
'
s
4 6 8 10
0
50
100
150
200
250
300
350
LDPC 252.252.3.252
Giro
N

m
e
r
o

d
e

C
N
'
s

Figura 5-4 Distribuio dos graus dos BNs e CNs e dos giros dos BNs para o cdigo .
LDPC 1268.456.2A.1 (designado no texto por cdigo ). Cdigo irregular de
dimenses ( , obtido segundo o mtodo de construo 2A. Foi projectado para ) 1268, 456
CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS 91
o transporte de clulas ATM num projecto industrial. O seu desempenho encontra-se
reportado em [MB1] e [MB2] e foi fornecido pelos autores.
1 2 3
0
100
200
300
400
500
600
700
800
900
LDPC 1268.456.2A.1
Grau
N

m
e
r
o

d
e

B
N
'
s
3 4 5
0
100
200
300
400
500
600
700
LDPC 1268.456.2A.1
Grau
N

m
e
r
o

d
e

C
N
'
s
6 8 10 12
0
100
200
300
400
500
600
700
LDPC 1268.456.2A.1
Giro
N

m
e
r
o

d
e

B
N
'
s

Figura 5-5 Distribuio dos graus dos BNs e CNs e dos giros dos BNs para o cdigo .
A opo pelo cdigo deveu-se ao facto de ser um cdigo mais longo, com uma
distribuio de giros menos uniforme e indicado para testar o mtodo de gesto
probabilstica, proposto por Mao e Banihashemi [MB1] para calcular as mensagens
enviadas dos BNs para os CNs no algoritmo SPA. Pretendamos, desta forma,
confirmar os bons resultados apresentados pelos autores.
Escolhemos o cdigo devido ao facto de este se encontrar reportado em vrios
artigos de referncia na rea [CF1], [CF2]. Pretendamos desta forma validar o nosso
trabalho ao reproduzir os resultados apresentados em [CF1], [CF2].
Por ltimo, pretendamos averiguar o desempenho dos vrios algoritmos estudados
para cdigos mais curtos. Esta foi a razo pela qual escolhemos o cdigo .
Condies de Simulao
Todo o cdigo desenvolvido foi escrito em C. semelhana de Mao e Banihashemi
[MB1] utilizmos os geradores de erros do Numerical Recipes in C [PTVF] para
produzir rudo AWGN. Neste caso, e sem perda de generalidade, optmos por testar
apenas palavras de cdigo nulas, em virtude de os cdigos LDPC serem lineares e os
algoritmos de descodificao estudados tomarem em conta a simetria do canal AWGN
no clculo das suas probabilidades de inicializao. Desta forma, evitmos a gerao
aleatria de mensagens, a sua codificao e posterior extraco das palavras
descodificadas, o que tornaria qualquer simulao realizada extremamente morosa.
Todos os algoritmos estudados obedeceram exactamente s mesmas condies de
simulao (para cada cdigo em particular), ou seja, o mesmo nmero de palavras
testadas, corrompidas pela mesma sequncia de erros e, ainda, o mesmo nmero
mximo de iteraes admissveis.
92 CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS
Assim, o nmero de palavras testadas para cada um dos cdigos referidos foi
escolhido de forma a garantir, aps descodificao, um nmero de palavras erradas
superior a 100, para toda a gama de valores de SNR (por forma a obter valores de BER
entre e ). J a escolha do nmero mximo de iteraes resultou de um
compromisso entre o valor a partir do qual no havia melhoria aparente do desempenho
do algoritmo SPA (para o menor valor de SNR estudado) e um nmero que no tornasse
o processo de descodificao demasiado moroso.
1
10
6
10

As condies de simulao encontram-se apresentadas na tabela 5-1.




Nmero de Palavras
de Cdigo Testadas
Nmero Mximo de
Iteraes
Gama de Valores de
0 b
E N Analisada
Cdigo
6
10
100 dB - 5 dB 1
Cdigo
6
10
200 dB - 3. dB 0.5 5
Cdigo
7
10
100 dB - 3 dB 1
Tabela 5-1 Condies de simulao para os cdigos , e .
5.2.2 ALGORITMOS SPA, MS-LSPA E MS-LSPA NORMALIZADO
Entre as vrias simplificaes ao algoritmo SPA, abordadas na seco 4.4.4,
optmos por estudar apenas os algoritmos MS-LSPA e MS-LSPA normalizado segundo
o mtodo proposto por Chen e Fossorier [CF1], [CF2]. Tal deciso, ficou a dever-se ao
facto de os resultados reportados em [CF1], [CF2], mostrarem que os algoritmos
APP-LSPA e UMP-LSPA apresentam uma diminuio muito acentuada do desempenho
(uma taxa de erros quase duas ordens de grandeza superior para valores de SNR mais
elevados) relativamente ao SPA, o que os torna relativamente pouco atractivos como
algoritmos eficientes para a descodificao de cdigos LDPC.
SPA versus LSPA
Os resultados de simulao que apresentamos para o algoritmo SPA, bem como, as
comparaes feitas com os restantes algoritmos do ponto de vista da latncia, dizem
respeito implementao do mesmo na forma original proposta por Gallager e no no
domnio logartmico (algoritmo LSPA). Tal escolha ficou a dever-se, em primeiro lugar,
ao facto de a latncia do algoritmo SPA ser muito inferior (cerca de 10 vezes) do
algoritmo LSPA (mesmo usando o algoritmo frente e verso no clculo das mensagens
CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS 93
( )
mn
L r ), ao contrrio do que seria de esperar. Uma anlise do algoritmo LSPA revelou
que a grande maioria do tempo de processamento era gasto a efectuar a operao +
(ver equao (4.4)), devido s funes logaritmo e exponencial presentes no clculo de
( ) g x (ver equao (4.5)), ao contrrio do que sucedia para o SPA, em que clculo das
mensagens , baseado em soma de produtos, era realizado de forma bastante
eficiente.
( )
mn
r x
O segundo motivo para optarmos pelo algoritmo SPA em detrimento do LSPA
deveu-se ao desempenho deste ltimo se revelar inferior ao do SPA, como pode ser
observado na figura 5-6.
2 2.5 3 3.5
10
-7
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
Eb/No [dB]
P
r
o
b
a
b
i
l
i
d
a
d
e

d
e

E
r
r
o
LDPC 252.252.3.252
SPA
LSPA

Figura 5-6 Desempenho expresso em termos de BER () e MER (
...
), dos algoritmos SPA e LSPA
para o cdigo .
Apesar de matematicamente equivalentes, pudemos verificar no caso do cdigo ,
que para valores de
0 b
E N superiores a 2 dB, o algoritmo LSPA apresentava uma
diminuio progressiva do desempenho face ao algoritmo SPA. Tal motivado por
erros de preciso aritmtica. De facto, ambos os algoritmos foram implementados em C
usando reais, com preciso simples, para guardar as mensagens trocadas entre nodos do
TG. Tal deciso revelou-se acertada para o algoritmo SPA, na medida em que as
mensagens so valores de probabilidades (logo na gama [ ] 0;1 ). J para o algoritmo
LSPA, devido ao facto de as mensagens serem mximas verosimilhanas logartmicas
(valores entre ] [ ; + ) e de para SNR elevados a incerteza relativa aos smbolos
recebidos ser muito menor (o que d origem a valores absolutos das mensagens
enviadas entre nodos bastante elevados), podem ocorrer erros de ultrapassagem de gama
94 CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS
dinmica no clculo das mensagens ( )
mn
L r e ( )
nm
L q (ver (4.6) e (4.7)), com a
consequente diminuio do desempenho.
Factores de normalizao do algoritmo MS-LSPA
O factor de normalizao, , para o algoritmo MS-LSPA, foi determinado
experimentalmente com base no mtodo proposto por Chen e Fossorier [CF1], [CF2].
Assim, de acordo com o procedimento descrito na seco 4.4.4 foram obtidos os
grficos da figura 5-7.
1 1.5 2 2.5 3 3.5 4 4.5 5
1.175
1.2
1.225
1.25
1.275
1.3
1.325
1.35
1.375
1.4
Eb/No [dB]
M
S
-
L
S
P
A

F
a
c
t
o
r

d
e

N
o
r
m
a
l
i
z
a

o
LDPC 96.2A3.565
1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
1.34
1.36
1.38
1.4
1.42
1.44
1.46
1.48
1.5
1.52
1.54
Eb/No [dB]
M
S
-
L
S
P
A

F
a
c
t
o
r

d
e

N
o
r
m
a
l
i
z
a

o
LDPC 252.252.3.252
1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
1.2
1.22
1.24
1.26
1.28
1.3
1.32
1.34
1.36
1.38
1.4
Eb/No [dB]
M
S
-
L
S
P
A

F
a
c
t
o
r

d
e

N
o
r
m
a
l
i
z
a

o
LDPC 1268.456.2A.1

Figura 5-7 Factores de normalizao para o algoritmo MS-LSPA, obtidos experimentalmente para os
cdigos , e .
Para cada um dos cdigos, o valor de escolhido correspondeu SNR do canal
para o qual o desempenho do algoritmo SPA expresso em termos de BER, pertencia ao
intervalo . Os valores escolhidos foram pois:
4 3
10 ,10




CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS 95
Factor de Normalizao ( )
Cdigo 1.22
Cdigo 1.4
Cdigo 1.3
Tabela 5-2 Factores de normalizao escolhidos para o algoritmo MS-LSPA.
Desempenho
Na figura 5-8 apresenta-se o desempenho dos algoritmos SPA, MS-LSPA e MS-
LSPA Normalizado (com os factores de normalizao da tabela 5-2), expresso em
termos de BER (linha contnua) e de MER (tracejado). Apresenta-se, ainda, para o caso
do cdigo a percentagem de bit errados (linha contnua) e de mensagens erradas
(tracejado) no detectadas.

1 1.5 2 2.5 3 3.5 4 4.5 5
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
Eb/No [dB]
P
r
o
b
a
b
i
l
i
d
a
d
e

d
e

E
r
r
o
LDPC 96.2A3.565
SPA
MS-LSPA
MS-LSPA Normalizado
1 1.5 2 2.5 3 3.5 4 4.5 5
0
5
10
15
20
25
30
35
40
45
Eb/No [dB]
E
r
r
o
s

N

o

D
e
t
e
c
t
a
d
o
s

[
%
]
LDPC 96.2A3.565
SPA
MS-LSPA
MS-LSPA Normalizado

0.5 1 1.5 2 2.5 3 3.5
10
-7
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
Eb/No [dB]
P
r
o
b
a
b
i
l
i
d
a
d
e

d
e

E
r
r
o
LDPC 252.252.3.252
SPA
MS-LSPA
MS-LSPA Normalizado
1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
10
-9
10
-8
10
-7
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
Eb/No [dB]
P
r
o
b
a
b
i
l
i
d
a
d
e

d
e

E
r
r
o
LDPC 1268.456.2A.1
SPA
MS-LSPA
MS-LSPA Normalizado

Figura 5-8 Desempenho expresso em termos de BER () e MER (
...
), dos algoritmos SPA, MS-LSPA
e MS-LSPA normalizado para os cdigos , e , e em termos de percentagem de bits
errados () e de mensagens erradas (
...
) no detectadas para o cdigo .
96 CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS
Os resultados obtidos para o cdigo coincidiram com os apresentados por Chen e
Fossorier em [CF1] e [CF2] o que nos permitiu dissipar qualquer dvida sobre a
correco da implementao dos algoritmos.
MS-LSPA
A latncia do algoritmo MS-LSPA revelou-se inferior do SPA, tal como era de
esperar. No entanto, observmos tambm, uma diminuio significativa do desempenho,
para todos os cdigos testados. Tomando por referncia um BER de essa
diminuio de cerca de 0.125 dB para o cdigo , e de 0.3 dB e 0.35 dB para os
cdigos e , respectivamente. No caso dos dois ltimos, essa diminuio de
desempenho corresponde para o mesmo SNR a um BER cerca de 10 vezes superior.
4
10

A diminuio do desempenho tem como origem a sobrestimao das mensagens,


(calculadas segundo (4.106)), enviadas dos CNs para os BNs. No pois de
estranhar que esta diminuio seja funo da distribuio dos graus dos CNs. Dado um
CN
( )
mn
L r
m
de grau k , o erro de estimao cometido no clculo das mensagens por ele
enviadas, tanto maior quanto maior for k , na medida em que so desprezadas um
maior nmero de contribuies provenientes dos BNs a ele ligados. Esta uma das
razes pelas quais podemos observar uma diminuio de desempenho para o cdigo
idntica que observada para .
A anlise dos resultados obtidos, complementados pelos reportados na literatura
[CF1], [CF2], [HM], [HEAD], permitiram-nos concluir que a diminuio de
desempenho , tambm, funo do nmero de CNs do cdigo. Cdigos com maior
nmero de CNs apresentam uma maior degradao do desempenho, na medida em que,
a acumulao dos erros torna-se mais significativa. Esta a razo pela qual a
diminuio do desempenho foi maior para o cdigo .
MS-LSPA Normalizado
Com o algoritmo MS-LSPA normalizado observa-se uma melhoria significativa do
desempenho relativamente ao MS-LSPA, com ganhos de codificao aproximados de
0.15 dB, 0.275 dB e 0.25 dB para os cdigos , e respectivamente. A realizao de
apenas mais duas multiplicaes por CN em cada iterao no representou um aumento
significativo da latncia do algoritmo, tendo-se revelado bastante compensatria do
ponto de vista de melhoria do desempenho. Em qualquer dos casos, o algoritmo
MS-LSPA normalizado apresenta, ainda assim, um desempenho inferior (menos de
CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS 97
0.1 dB) ao algoritmo SPA, sendo que essa diminuio , semelhana do MS-LSPA,
mais significativa para cdigos com maior nmero de CNs.
Taxa de erros no detectados
A taxa de erros no detectados, desprezvel, mesmo nula, para os cdigos e ,
confirmando os resultados reportados em [LS], [Lech]. Os erros no detectveis so
praticamente desprezveis para cdigos com comprimento de bloco mais longos
(superior a 1000), uma vez que estes tendem a possuir uma distncia mnima mais
elevada. No entanto, para o cdigo podemos verificar na figura 5-8, que os erros no
detectados constituem uma grande percentagem dos erros ocorridos, para valores de
SNR mais elevados. Como baixa a distncia mnima do cdigo, facilmente o
algoritmo converge para uma palavra de cdigo diferente da que foi transmitida. Esta
situao bastante grave do ponto de vista da descodificao conforme foi referido em
4.3.3. Os algoritmos MS-LSPA e MS-LSPA normalizado apresentam um pior
desempenho em relao ao algoritmo SPA, com um aumento de cerca de 10% dos erros
no detectados.
Nmero de Iteraes
O nmero mdio de iteraes dos algoritmos SPA, MS-LSPA e MS-LSPA
normalizado, bem como, o seu desvio padro encontra-se representada na figura 5-9.
Uma anlise do nmero mdio de iteraes realizado pelo algoritmo SPA, permite
concluir que so adequados os valores estipulados para o nmero mximo de iteraes
(ver tabela 5-1) para cada um dos cdigos. Apenas o cdigo e para valores de
0 b
E N
inferiores a 1.5 dB, apresenta um valor muito prximo do mximo. Eventualmente,
considerando um limite mais elevado, poderamos ter uma melhoria de desempenho do
algoritmo para esses valores de SNR.
Para todos os algoritmos podemos observar que o nmero mdio de iteraes e o
seu desvio padro so da mesma ordem de grandeza e que ambos decrescem
consideravelmente com o aumento do SNR do canal.
98 CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
0
10
20
30
40
50
60
Eb/No [dB]
N

m
e
r
o

M

d
i
o

d
e

I
t
e
r
a

e
s
LDPC 96.2A3.565
SPA
MS-LSPA
MS-LSPA Normalizado
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
0
10
20
30
40
50
60
Eb/No [dB]
D
e
s
v
i
o

P
a
d
r

o

d
o

N

m
e
r
o

d
e

I
t
e
r
a

e
s
LDPC 96.2A3.565
SPA
MS-LSPA
MS-LSPA Normalizado
0 0.5 1 1.5 2 2.5 3 3.5 4
0
20
40
60
80
100
120
140
160
180
200
Eb/No [dB]
N

m
e
r
o

M

d
i
o

d
e

I
t
e
r
a

e
s
LDPC 252.252.3.252
SPA
MS-LSPA
MS-LSPA Normalizado
0 0.5 1 1.5 2 2.5 3 3.5 4
0
20
40
60
80
100
120
140
160
180
200
Eb/No [dB]
D
e
s
v
i
o

P
a
d
r

o

d
o

N

m
e
r
o

d
e

I
t
e
r
a

e
s
LDPC 252.252.3.252
SPA
MS-LSPA
MS-LSPA Normalizado

1 1.5 2 2.5 3 3.5
0
5
10
15
20
25
30
35
40
Eb/No [dB]
N

m
e
r
o

M

d
i
o

d
e

I
t
e
r
a

e
s
LDPC 1268.456.2A.1
SPA
MS-LSPA
MS-LSPA Normalizado
1 1.5 2 2.5 3 3.5
0
5
10
15
20
25
30
35
40
Eb/No [dB]
D
e
s
v
i
o

P
a
d
r

o

d
o

N

m
e
r
o

d
e

I
t
e
r
a

e
s
LDPC 1268.456.2A.1
SPA
MS-LSPA
MS-LSPA Normalizado

Figura 5-9 Mdia e desvio padro do nmero de iteraes dos algoritmos SPA, MS-LSPA e MS-
LSPA normalizado para os cdigos , e .

A comparao dos resultados entre os algoritmos permite concluir que em todas as
situaes, o algoritmo MS-LSPA apresenta um nmero mdio de iteraes para
descodificar uma palavra superior ao do algoritmo SPA. O motivo o mesmo pelo qual
o algoritmo MS-LSPA apresenta pior desempenho que o SPA, ou seja, m estimao
das mensagens enviadas dos CNs para os BNs, o que leva a que seja necessrio ( )
mn
L r
CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS 99
realizar um maior nmero de iteraes para o algoritmo convergir. Este aumento ,
como seria de esperar, mais notrio para cdigos com maior nmero de CNs. Podemos
tambm constatar que para o cdigo , esse aumento sensivelmente o dobro para SNR
mais baixos. Podemos ento concluir que outro factor importante a regularidade do
cdigo. De facto, sendo este cdigo irregular, no algoritmo SPA os BNs de maior grau
convergem mais rapidamente [LS] (devido ao maior nmero de contribuies
recebidas). No algoritmo MS-LSPA, os erros de estimao cometidos no clculo das
mensagens recebidas por cada BN, fazem com que a convergncia dos BNs de
maior grau seja muito mais lenta com o consequente aumento do nmero mdio de
iteraes.
(
mn
L r )
O aumento do nmero mdio de iteraes compensado, em parte, pela reduo do
tempo de cada iterao devido ao muito menor nmero de operaes aritmticas
realizadas, o que faz com que este apresente, normalmente, uma latncia inferior ao
SPA (funo do prprio cdigo).
A normalizao do MS-LSPA reduz consideravelmente o nmero mdio de
iteraes, ainda assim superior ao algoritmo SPA (ver figura 5-9). A latncia deste
algoritmo ligeiramente superior ao do MS-LSPA, na medida em que necessrio
realizar mais duas multiplicaes por cada CN (em parte compensado pelo menor
nmero de iteraes necessrias para descodificar uma palavra). Isto faz do algoritmo
MS-LSPA normalizado uma boa alternativa ao SPA do ponto de vista do desempenho
versus complexidade.
5.2.3 GESTO PROBABILSTICA
No estudo realizado procurmos analisar o mtodo de melhoria de desempenho do
algoritmo SPA, proposto por Mao e Banihashemi em [MB1] baseado na gesto das
mensagens enviadas dos BNs para os CNs conforme apresentado na seco 4.5.
Procurvamos, para tal, reproduzir os bons resultados apresentados em [MB1] e [YHB]
para o cdigo .
Independentemente do algoritmo de descodificao utilizado, o objectivo do
mtodo minimizar as realimentaes positivas existentes devido aos BNs possurem
diferentes giros. Era nossa convico que o mtodo deveria apresentar melhorias de
desempenho, semelhantes s que eram reportadas para o algoritmo SPA, quando
aplicado a outros algoritmos, nomeadamente, o MS-LSPA.
100 CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS
SPA
O desempenho do algoritmo SPA na sua forma original, com gesto probabilstica
(SPA-GP) e com gesto no probabilstica (SPA-GNP) encontra-se representada na
figura 5-10 para os cdigos estudados.
1 1.5 2 2.5 3 3.5 4 4.5 5
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
Eb/No [dB]
P
r
o
b
a
b
i
l
i
d
a
d
e

d
e

E
r
r
o
LDPC 96.2A3.565
SPA
SPA c/ Gesto No Probabilstica
SPA c/ Gesto Probabilstica
1 1.5 2 2.5 3 3.5 4 4.5 5
0
10
20
30
40
50
60
Eb/No [dB]
E
r
r
o
s

N

o

D
e
t
e
c
t
a
d
o
s

[
%
]
LDPC 96.2A3.565
SPA
SPA c/ Gesto No Probabilstica
SPA c/ Gesto Probabilstica

0.5 1 1.5 2 2.5 3 3.5
10
-7
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
Eb/No [dB]
P
r
o
b
a
b
i
l
i
d
a
d
e

d
e

E
r
r
o
LDPC 252.252.3.252
SPA
SPA c/ Gesto No Probabilstica
SPA c/ Gesto Probabilstica
1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
10
-9
10
-8
10
-7
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
Eb/No [dB]
P
r
o
b
a
b
i
l
i
d
a
d
e

d
e

E
r
r
o
LDPC 1268.456.2A.1
SPA
SPA c/ Gesto No Probabilstica
SPA c/ Gesto Probabilstica

Figura 5-10 Desempenho expresso em termos de BER () e MER (
...
), dos algoritmos SPA, SPA com
gesto probabilstica e gesto no probabilstica para os cdigos , e , e em termos de
percentagem de bits errados () e de mensagens erradas (
...
) no detectadas para o cdigo
.
Uma observao dos grficos permite concluir que o algoritmo SPA-GP apresenta,
regra geral, melhor desempenho do que o SPA-GNP. No entanto, os resultados obtidos
so no mnimo intrigantes, quando comparamos o desempenho destes dois algoritmos
com o SPA. Para o cdigo , tendo por referncia um BER de
4
10

, observa-se, para a
melhor das abordagens (algoritmo SPA-GP), um ganho de codificao de 0.09 dB. J
para o cdigo , tendo por referncia um BER ainda mais baixo de
5
10

, esse ganho
de apenas 0.06 dB. Para o cdigo h mesmo uma diminuio do desempenho do
CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS 101
algoritmo SPA-GP relativamente ao SPA, ao contrrio dos 2 dB de ganho reportados
por Mao e Banihashemi em [MB1] para um BER de
6
10

.
No sentido de esclarecer tal diferena contactmos um dos autores, por forma a
averiguar se o problema se devia a uma m interpretao do mtodo [MB1], ou ao
gerador de rudo AWGN. Dos contactos estabelecidos chegmos concluso que a
interpretao do algoritmo est correcta. A realizao de novos testes, utilizando o
gerador de rudo que nos foi indicado, confirmou os resultados j antes obtidos. Estes
factos permitem-nos afirmar que os resultados reportados em [MB1] e [YHB] no so
fiveis.
Uma explicao possvel o facto de cada BN do TG do cdigo, estar includo em
ciclos de diferentes comprimentos. Num BN
n
de giro
n
g , o congelamento das
mensagens por ele enviadas, desde a iterao 2
n
g at iterao
max
2 g , impede que as
contribuies recebidas dos BNs mais distantes (includos em ciclos mais longos que
passam pelo BN
n
) no sejam por ele propagadas aos CNs a ele ligados, o que poderia,
de certa forma, contribuir para a convergncia do algoritmo. Esta tambm uma das
razes apontadas para o facto de o mtodo de gesto probabilstica apresentar um
melhor desempenho do que a gesto no probabilstica.
Quando comparados do ponto de vista do nmero de iteraes realizadas os
algoritmos SPA-GP e SPA-GNP so praticamente equivalentes ao SPA (ver figura
5-11), com a vantagem de serem realizados um menor nmero de operaes por
iterao. A latncia do algoritmo SPA-GP , no entanto, muito superior ao SPA e
SPA-GNP, na medida em que necessrio gerar por iterao e por cada BN um valor
aleatrio com o objectivo de decidir se esse BN retm ou no as mensagens a enviar.
102 CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
0
5
10
15
20
25
30
35
40
45
50
Eb/No [dB]
N

m
e
r
o

M

d
i
o

d
e

I
t
e
r
a

e
s
LDPC 96.2A3.565
SPA
SPA c/ Gesto No Probabilstica
SPA c/ Gesto Probabilstica
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
0
5
10
15
20
25
30
35
40
45
50
Eb/No [dB]
D
e
s
v
i
o

P
a
d
r

o

d
o

N

m
e
r
o

d
e

I
t
e
r
a

e
s
LDPC 96.2A3.565
SPA
SPA c/ Gesto No Probabilstica
SPA c/ Gesto Probabilstica

0 0.5 1 1.5 2 2.5 3 3.5 4
0
20
40
60
80
100
120
140
160
180
200
Eb/No [dB]
N

m
e
r
o

M

d
i
o

d
e

I
t
e
r
a

e
s
LDPC 252.252.3.252
SPA
SPA c/ Gesto No Probabilstica
SPA c/ Gesto Probabilstica
0 0.5 1 1.5 2 2.5 3 3.5 4
0
20
40
60
80
100
120
140
160
180
200
Eb/No [dB]
D
e
s
v
i
o

P
a
d
r

o

d
o

N

m
e
r
o

d
e

I
t
e
r
a

e
s
LDPC 252.252.3.252
SPA
SPA c/ Gesto No Probabilstica
SPA c/ Gesto Probabilstica

0.5 1 1.5 2 2.5 3 3.5
0
5
10
15
20
25
30
35
40
45
50
Eb/No [dB]
N

m
e
r
o

M

d
i
o

d
e

I
t
e
r
a

e
s
LDPC 1268.456.2A.1
SPA
SPA c/ Gesto No Probabilstica
SPA c/ Gesto Probabilstica
0.5 1 1.5 2 2.5 3 3.5
0
5
10
15
20
25
30
35
40
45
50
Eb/No [dB]
D
e
s
v
i
o

P
a
d
r

o

d
o

N

m
e
r
o

d
e

I
t
e
r
a

e
s
LDPC 1268.456.2A.1
SPA
SPA c/ Gesto No Probabilstica
SPA c/ Gesto Probabilstica

Figura 5-11 Mdia e desvio padro do nmero de iteraes dos algoritmos SPA, SPA com gesto
probabilstica e no probabilstica para os cdigos , e .
CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS 103
MS-LSPA
A aplicao ao algoritmo MS-LSPA, do mtodo de gesto das mensagens enviadas
dos BNs para os CNs, produziu resultados idnticos aos obtidos para o algoritmo SPA,
conforme se pode observar nas figuras 5-12 e 5-13. Tais resultados, vm reforar a ideia
de que o mtodo proposto no eficiente.

1 1.5 2 2.5 3 3.5 4 4.5 5
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
Eb/No [dB]
P
r
o
b
a
b
i
l
i
d
a
d
e

d
e

E
r
r
o
LDPC 96.2A3.565
MS-LSPA
MS-LSPA c/ Gesto No Probabilstica
MS-LSPA c/ Gesto Probabilstica
1 1.5 2 2.5 3 3.5 4 4.5 5
0
5
10
15
20
25
30
35
40
45
Eb/No [dB]
E
r
r
o
s

N

o

D
e
t
e
c
t
a
d
o
s

[
%
]
LDPC 96.2A3.565
MS-LSPA
MS-LSPA c/ Gesto No Probabilstica
MS-LSPA c/ Gesto Probabilstica

0.5 1 1.5 2 2.5 3 3.5
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
Eb/No [dB]
P
r
o
b
a
b
i
l
i
d
a
d
e

d
e

E
r
r
o
LDPC 252.252.3.252
MS-LSPA
MS-LSPA c/ Gesto No Probabilstica
MS-LSPA c/ Gesto Probabilstica
1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
10
-7
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
Eb/No [dB]
P
r
o
b
a
b
i
l
i
d
a
d
e

d
e

E
r
r
o
LDPC 1268.456.2A.1
MS-LSPA
MS-LSPA c/ Gesto No Probabilstica
MS-LSPA c/ Gesto Probabilstica

Figura 5-12 Desempenho expresso em termos de BER () e MER (
...
), dos algoritmos MS-LSPA,
MS-LSPA com gesto probabilstica e gesto no probabilstica para os cdigos , e , e
em termos de percentagem de bits errados () e de mensagens erradas (
...
) no detectadas
para o cdigo .
104 CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
0
10
20
30
40
50
60
Eb/No [dB]
N

m
e
r
o

M

d
i
o

d
e

I
t
e
r
a

e
s
LDPC 96.2A3.565
MS-LSPA
MS-LSPA c/ Gesto No Probabilstica
MS-LSPA c/ Gesto Probabilstica
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
0
10
20
30
40
50
60
Eb/No [dB]
D
e
s
v
i
o

P
a
d
r

o

d
o

N

m
e
r
o

d
e

I
t
e
r
a

e
s
LDPC 96.2A3.565
MS-LSPA
MS-LSPA c/ Gesto No Probabilstica
MS-LSPA c/ Gesto Probabilstica

0 0.5 1 1.5 2 2.5 3 3.5 4
0
20
40
60
80
100
120
140
160
180
200
Eb/No [dB]
N

m
e
r
o

M

d
i
o

d
e

I
t
e
r
a

e
s
LDPC 252.252.3.252
MS-LSPA
MS-LSPA c/ Gesto No Probabilstica
MS-LSPA c/ Gesto Probabilstica
0 0.5 1 1.5 2 2.5 3 3.5 4
0
20
40
60
80
100
120
140
160
180
200
Eb/No [dB]
D
e
s
v
i
o

P
a
d
r

o

d
o

N

m
e
r
o

d
e

I
t
e
r
a

e
s
LDPC 252.252.3.252
MS-LSPA
MS-LSPA c/ Gesto No Probabilstica
MS-LSPA c/ Gesto Probabilstica

1 1.5 2 2.5 3 3.5
0
5
10
15
20
25
30
35
40
45
50
Eb/No [dB]
N

m
e
r
o

M

d
i
o

d
e

I
t
e
r
a

e
s
LDPC 1268.456.2A.1
MS-LSPA
MS-LSPA c/ Gesto No Probabilstica
MS-LSPA c/ Gesto Probabilstica
1 1.5 2 2.5 3 3.5
0
5
10
15
20
25
30
35
40
45
50
Eb/No [dB]
D
e
s
v
i
o

P
a
d
r

o

d
o

N

m
e
r
o

d
e

I
t
e
r
a

e
s
LDPC 1268.456.2A.1
MS-LSPA
MS-LSPA c/ Gesto No Probabilstica
MS-LSPA c/ Gesto Probabilstica

Figura 5-13 Mdia e desvio padro do nmero de iteraes dos algoritmos MS-LSPA, MS-LSPA com
gesto probabilstica e no probabilstica para os cdigos , e .

CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS 105
5.3 ALGORITMO LSPA NORMALIZADO
Mencionmos j por vrias vezes o facto de que os ciclos do TG de um cdigo
introduzem uma realimentao positiva nas mensagens enviadas entre nodos, pelo que o
desempenho do algoritmo SPA no ptimo.
Algumas modificaes do algoritmo SPA e LSPA tm sido propostas no sentido de
melhorar o seu desempenho. Explormos, por exemplo, na seco anterior um mtodo
baseado na gesto do envio das mensagens dos BNs para os CNs [MB1], sem
resultados positivos. Fossorier props tambm um mtodo que combina o algoritmo
SPA com uma descodificao estatstica ordenada [Foss]. Os resultados reportados
revelam uma melhoria significativa relativamente ao desempenho do SPA conseguida,
no entanto, custa de um aumento considervel da complexidade computacional do
algoritmo de descodificao.
5.3.1 NORMALIZAO
O trabalho desenvolvido por He, Sun e Wang [HSW] despertou o nosso interesse.
Os autores propuseram a implementao do algoritmo LSPA usando quantificao
segundo a lei- para representar as mensagens enviadas entre nodos. Os resultados
reportados revelam que com apenas 8 bits de quantificao existe uma melhoria do
desempenho do algoritmo. A perda de informao resultante do processo de
quantificao no uniforme (considerando um dado nmero mnimo de bits), ao invs
de provocar uma degradao do desempenho do algoritmo, contribui para uma melhoria
do mesmo. Desta forma, os erros de m estimao das mensagens (devido
realimentao) enviadas entre nodos so atenuados.
Estes resultados alertaram-nos para o facto de os erros de estimao, serem, regra
geral, por excesso em virtude de a realimentao ser positiva, e que provoca um
aumento incorrecto da mxima verosimilhana logartmica (logo diminuio da
incerteza ver figura 5-14) das mensagens enviadas.
106 CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0
1
2
3
4
5
6
7
Entropia [ -p0.log2(p0) - p1.log2(p1) ]
V
a
l
o
r

A
b
s
o
l
u
t
o

d
a

M

x
i
m
a
V
e
r
o
s
i
m
i
l
h
a
n

a

L
o
g
a
r

t
m
i
c
a

[

|
l
n
(
p
0
/
p
1
)
|

]

Figura 5-14 Mxima verosimilhana logartmica como funo montona decrescente da entropia.

Tal conhecimento levou-nos a propor para o algoritmo LSPA, a aplicao de um
factor de normalizao s mensagens, ( )
mn
L r , enviadas dos CNs para os BNs, por
forma a compensar a sobrestimao das mesmas. Assim, as mensagens,
(calculadas segundo um dos mtodos indicados nas seces 4.4.3 e 4.4.4) so
multiplicadas por uma constante positiva
( )
mn
L r
1 < , ou seja,
( ) ( )
mn mn
L r L r = . (5.8)
O mtodo proposto similar ao descrito por Chen e Fossorier [CF1], [CF2] para a
normalizao do algoritmo MS-LSPA, que produz uma melhoria significativa do
desempenho do algoritmo.
Esta proposta vai no encontro do recente trabalho apresentado por Yazdani, Hemati
e Banihashemi [YHB] que tambm propem a normalizao do algoritmo LSPA, mas
das mensagens, ( )
nm
L q , enviadas dos BNs para os CNs.
A escolha recaiu nas mensagens enviadas dos CNs para os BNs, na medida em
que o grau dos CNs superior ao dos BNs e, como tal, o erro de sobrestimao a
cometido (na nossa opinio) mais gravoso. Outra razo reside no facto do factor de
normalizao quando aplicado s mensagens ( )
nm
L q (conforme propem Yazdani,
Hemati e Banihashemi) afectar o valor da probabilidade posteriori ( )
n
L c de
inicializao do algoritmo que intervm no seu clculo (ver equao 4.71).
O mtodo proposto pode tambm ser aplicado ao algoritmo SPA onde o factor de
correco, , corresponde a um potncia. As mensagens normalizadas enviadas dos
CNs para os BNs so dadas por,
CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS 107
( ) ( )
mn mn
r x r x

=

, (5.9)
com { } 0, x 1 . Esta forma de implementao do mtodo proposto resulta, no entanto,
num aumento significativo da complexidade computacional do algoritmo SPA, ao
contrrio do que acontece para o LSPA. As duas abordagens so matematicamente
equivalentes.
5.3.2 DESEMPENHO DO ALGORITMO SPA NORMALIZADO
Referimos na seco 5.2.2 que a implementao do algoritmo LSPA apresentava
um desempenho inferior ao SPA devido a erros de preciso aritmtica. Por forma a
evitarmos esses erros e avaliarmos com alguma justia o mtodo proposto, optmos pela
sua implementao segundo (5.9), apesar do consequente aumento da complexidade
computacional.
O factor de normalizao para cada cdigo foi determinado experimentalmente,
fazendo uma pesquisa exaustiva. Verificmos que o factor a considerar funo do
cdigo. Foi escolhido o valor que para a gama de valores de SNR estudados produz uma
melhoria mais significativa do desempenho. Na figura 5-15 apresentamos a sua variao
para os cdigos e .

0.86 0.88 0.9 0.92 0.94 0.96 0.98 1
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
Factor de Normalizao
B
E
R
LDPC 252.252.3.252
Eb/No = 1 dB
Eb/No = 2 dB
Eb/No = 3 dB
0.88 0.9 0.92 0.94 0.96 0.98 1
10
-6
10
-5
10
-4
10
-3
Factor de Normalizao
B
E
R
LDPC 1268.456.2A.1
Eb/No = 1.75 dB
Eb/No = 2 dB
Eb/No = 2.25 dB

Figura 5-15 Desempenho algoritmo SPA normalizado para os cdigos e , considerando vrios
factores de normalizao e de
0 b
E N .

108 CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS
O desempenho dos algoritmos SPA e SPA normalizado encontra-se representado
na figura 5-16, para os cdigos , e , em que os factores de normalizao utilizados
so os documentados na tabela 5-3.

Factor de Normalizao ( )
Cdigo 0.93
Cdigo 0.9
Cdigo 0.92
Tabela 5-3 Factores de normalizao escolhidos para o algoritmo SPA.

1 1.5 2 2.5 3 3.5 4 4.5 5
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
Eb/No [dB]
P
r
o
b
a
b
i
l
i
d
a
d
e

d
e

E
r
r
o
LDPC 96.2A3.565
SPA
SPA Normalizado
1 1.5 2 2.5 3 3.5 4 4.5 5
0
5
10
15
20
25
30
35
40
45
50
Eb/No [dB]
E
r
r
o
s

N

o

D
e
t
e
c
t
a
d
o
s

[
%
]
LDPC 96.2A3.565
SPA
SPA Normalizado

0.5 1 1.5 2 2.5 3 3.5
10
-7
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
Eb/No [dB]
P
r
o
b
a
b
i
l
i
d
a
d
e

d
e

E
r
r
o
LDPC 252.252.3.252
SPA
SPA Normalizado
1 1.25 1.5 1.75 2 2.25 2.5 2.75 3
10
-9
10
-8
10
-7
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
10
0
Eb/No [dB]
P
r
o
b
a
b
i
l
i
d
a
d
e

d
e

E
r
r
o
LDPC 1268.456.2A.1
SPA
SPA Normalizado

Figura 5-16 Desempenho expresso em termos de BER () e MER (
...
), dos algoritmos SPA, SPA
normalizado para os cdigos , e , e em termos de percentagem de bits errados () e de
mensagens erradas (
...
) no detectadas para o cdigo .

CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS 109
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
0
5
10
15
20
25
30
35
40
45
50
Eb/No [dB]
N

m
e
r
o

M

d
i
o

d
e

I
t
e
r
a

e
s
LDPC 96.2A3.565
SPA
SPA Normalizado
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5
0
5
10
15
20
25
30
35
40
45
50
Eb/No [dB]
D
e
s
v
i
o

P
a
d
r

o

d
o

N

m
e
r
o

d
e

I
t
e
r
a

e
s
LDPC 96.2A3.565
SPA
SPA Normalizado

0 0.5 1 1.5 2 2.5 3 3.5 4
0
20
40
60
80
100
120
140
160
180
200
Eb/No [dB]
N

m
e
r
o

M

d
i
o

d
e

I
t
e
r
a

e
s
LDPC 252.252.3.252
SPA
SPA Normalizado
0 0.5 1 1.5 2 2.5 3 3.5 4
0
10
20
30
40
50
60
70
80
90
100
Eb/No [dB]
D
e
s
v
i
o

P
a
d
r

o

d
o

N

m
e
r
o

d
e

I
t
e
r
a

e
s
LDPC 252.252.3.252
SPA
SPA Normalizado

0.5 1 1.5 2 2.5 3 3.5
0
5
10
15
20
25
30
35
40
45
50
Eb/No [dB]
N

m
e
r
o

M

d
i
o

d
e

I
t
e
r
a

e
s
LDPC 1268.456.2A.1
SPA
SPA Normalizado
0.5 1 1.5 2 2.5 3 3.5
0
5
10
15
20
25
30
35
40
45
50
Eb/No [dB]
D
e
s
v
i
o

P
a
d
r

o

d
o

N

m
e
r
o

d
e

I
t
e
r
a

e
s
LDPC 1268.456.2A.1
SPA
SPA Normalizado

Figura 5-17 Mdia e desvio padro do nmero de iteraes dos algoritmos SPA, SPA normalizado para
os cdigos , e .

Uma anlise dos resultados obtidos permite constatar que o mtodo proposto
representa um ganho efectivo, na medida em que o algoritmo SPA normalizado
apresentou sempre um melhor desempenho do que o SPA convencional.
110 CAP. 5 DESCODIFICAO ITERATIVA: RESULTADOS EXPERIMENTAIS
Esse ganho , no entanto, marginal para cdigos com comprimentos de bloco mais
pequenos. De facto, para o cdigo o ganho praticamente nulo. Com o cdigo ,
tendo por referncia um BER de
5
10

, o ganho de codificao j aproximadamente


0.08 dB.
Para cdigos mais longos o aumento notrio. De facto, no caso do cdigo ,
tomando por referncia um BER de
7
10

, verificamos que o ganho de codificao de


0.2 dB. Para um
0 b
E N de 3 dB, o algoritmo SPA normalizado corrige mesmo todos os
erros ocorridos.
No que diz respeito complexidade computacional do novo mtodo, em termos da
mdia e desvio padro do nmero mdio de iteraes, verificamos pela anlise dos
grficos da figura 5-17 que praticamente igual.
Em resumo, o mtodo proposto consegue ganhos de desempenho significativos
relativamente aos resultados reportados na literatura (para cdigos mais longos), com o
mesmo nmero mdio de iteraes. Para o algoritmo LSPA (matematicamente
equivalente ao SPA) o peso adicional de apenas uma multiplicao por cada
mensagem enviada pelos CNs.
CAPTULO 6
CONCLUSES E TRABALHO FUTURO
Neste captulo apresentamos um resumo das concluses tiradas no decurso deste
trabalho, fazendo uma anlise crtica dos resultados experimentais obtidos, tendo por
base todo o conhecimento terico reportado no captulo 4.
Indicaremos ainda algumas sugestes de trabalho futuro, que pretendemos vir a
explorar.
6.1 CONCLUSES
Simplificaes do algoritmo SPA

O Algoritmo MS-LSPA apresenta uma diminuio no desprezvel de
desempenho comparativamente ao algoritmo SPA. Esta fica a dever-se m
estimao das mensagens enviadas dos CNs para os BNs, e como tal, mais
gravosa para cdigos com maior nmero de CNs.

A diminuio de desempenho do algoritmo MS-LSPA pode ser aceite quando a
principal restrio do sistema a sua latncia. Mesmo necessitando, em mdia,
de um maior nmero de iteraes para descodificar uma palavra de cdigo,
devido mais lenta convergncia do algoritmo (m estimao das mensagens
enviadas dos CNs para os BNs), o reduzido nmero de operaes envolvidas
112 CAP. 6 CONCLUSES E TRABALHO FUTURO
nos clculos tornam-no num algoritmo rpido comparativamente aos outros
estudados.

O algoritmo MS-LSPA normalizado uma boa opo para o dilema
desempenho (SPA) versus latncia (MS-LSPA). Com apenas mais 2
multiplicaes realizadas por CN, o aumento da latncia do algoritmo face ao
MS-LSPA pouco significativo, com considerveis ganhos de desempenho,
prximos do algoritmo SPA.
Melhorias ao algoritmo SPA

A existncia de ciclos no TG contribui para uma m estimao das mensagens
enviadas entre nodos devido s realimentaes positivas presentes no clculo
das mesmas. Considerando a implementao do algoritmo SPA no domnio
logartmico, possvel compensar a m estimao das mensagens enviadas dos
CN para os BNs custa de um factor de normalizao positivo, 1 < , funo
do cdigo. Essa melhoria mais notria para cdigos com maior nmero de
CNs em que a acumulao dos erros de estimao ser maior. Nos cdigos
mais longos tendem a existir um maior nmero de BNs com giros longos, pelo
que o factor de normalizao introduzido permite compensar de forma mais
eficaz a realimentao positiva que ocorre mais tardiamente para cada BN.

O mtodo de normalizao proposto para o algoritmo LSPA no afecta de forma
significativa a sua latncia, sendo o nmero mdio de iteraes sensivelmente o
mesmo do algoritmo LSPA.

O mtodo proposto por Mao e Banihashemi em [MB1], baseado numa gesto
das mensagens enviadas dos BNs para os CNs, quando aplicado ao algoritmo
SPA no apresenta bons resultados ao contrrio do reportado.


CAP. 6 CONCLUSES E TRABALHO FUTURO 113
6.2 TRABALHO FUTURO
A menor latncia do algoritmo SPA comparativamente ao algoritmo LSPA
observada nas simulaes efectuadas permite-nos pensar que possvel explorar a
implementao eficiente do algoritmo SPA na forma convencional em DSPs,
possuidores de instrues optimizadas para a realizao de somas de produtos.
A melhoria de desempenho observada com o mtodo de normalizao das
mensagens enviadas dos CNs para os BNs, proposto para o algoritmo LSPA, bem
como, as recentes propostas de normalizao das mensagens enviadas dos BNs para os
CNs propostas por Yazdani, Hemati e Banihashemi [YHB], permite-nos sugerir a
combinao dos dois mtodos com factores criteriosamente escolhidos para cada cdigo.
Certamente, este caminho ir produzir resultados ainda melhores.
Ser tambm de explorar e generalizar o mtodo de quantificao proposto por He,
Sun e Wang [HSW], no s por ir ao encontro das restries que, normalmente, so
colocadas em termos do nmero de bits disponveis para a representao dos valores
numricos, bem como, o facto do esquema de quantificao proposto produzir uma
melhoria do desempenho do algoritmo SPA.
ANEXO A
LEMAS
Lema L1
Considere uma sequncia de m dgitos binrios estatisticamente independentes
( )
1 2
, , ,
m
a a a = a em que ( ) Pr 1
k
a
k
p = = . A probabilidade de a conter um nmero par
de 1s
(
1
1 1
1 2
2 2
m
k
k
) p
=
+

(L1.1)
e a probabilidade de conter um nmero impar de 1s
(
1
1 1
1 2
2 2
m
k
k
) p
=

. (L1.2)

Demonstrao:
A prova feita por induo. Seja
1 2 l
z a a a
l
= a soma mdulo 2 dos primeiros l
que constituem a palavra . a
Para temos: 2 m =

( ) ( ) ( )
( )( ) ( )(
2 1 2
1 2 1 2 1 2
Pr Pr 0 Pr 0
1 1
1 1 1 2 1 2
2 2
par z a a
) p p p p p p
= = = = =
= + = +
(L1.3)
Assumindo que a equao (L1.1) verdadeira para 1 m L = vamos verificar se ainda
vlida para m L = . Assim, usando (L1.3) temos,
( ) ( ) ( ) ( )(
1 1
1 1
Pr 0 Pr 0 1 2Pr 1 1 2
2 2
L L L L
z z a z

= = = = + = )
L
p . (L1.4)
Como assumimos que a equao (L1.1) verdadeira para 1 m L = vem:
116 ANEXO A LEMAS

( ) ( ) ( )
( )
1
1
1
1 1 1 1
Pr 0 1 2 1 2 1 2
2 2 2 2
1 1
1 2
2 2
L
L k
k
L
k
k
z p
p

=
=

L
p = = + =


= +


(L1.5)
e logo
( ) ( ) ( ) (
1 1
1 1 1 1
Pr 1 Pr 1 1 2 1 2
2 2 2 2
L L
k k
k k
impar par p p
= =

= = + =



)
n = +
. (L1.6)

(c. q. d.)
Lema L2
Considere a transmisso atravs de um canal AWGN de palavras binrias c , cujos
bits so modelados BPSK, com . Os smbolos recebidos, y x com
AWGN so de mdia nula e varincia
( ) 1
i
c
i
x =
i i i i
n
2
. Admitindo que ( ) ( ) Pr 0 Pr 1 12
i i
c c = = = =
ento,

( )
2
2
1
Pr
1
i yx
x x y
e

= =
+
. (L2.1)

Demonstrao:
Por aplicao do teorema de Bayes, sabemos que:

( )
( ) ( )
( )
( ) ( )
( ) ( ) ( ) ( )
Pr
Pr
Pr
1 Pr 1 1 Pr 1
i i
i
i i
i i i i
p y x x x x
x x y
p y
p y x x x x
p y x x p y x x
= =
= =
= =
=
= = + = =
. (L2.2)
Para um canal Gaussiano a funo densidade de probabilidade

( )
( )
2
2
2
1
2
y x
i
p y x x e

= = . (L2.3)
Por outro lado, atendendo a que os bits transmitidos so modelados BPSK, com
e que ( ) 1
i
c
i
x = ( ) ( ) Pr 0 Pr 1 12
i i
c c = = = = vem
( ) ( )
1
Pr 1 Pr 1
2
i i
x x = = = = . (L2.4)
ANEXO A LEMAS 117
Logo, por substituio de (L2.3) e (L2.4) em (L2.2) obtemos:

( )
( )
( ) ( )
( )
( ) ( )
2
2
2 2
2 2
2
2
2 2
2 2
2 2
2 2 2
2 2
2 2 2 2 2 2
2
1 1
2 2
2
1 1
2 2
2
2 2 2
2 1 2 1
2 2 2 2 2 2
1 1
2 2
Pr
1 1 1 1
2 2 2 2
y x
i
y y
y x
y y
y xy x
y y y y
e
x x y
e e
e
e e
e e e
e e e e e e

+

+
+

= =
+
=
+
=
+
. (L2.5)
Como vem, finalmente,
2
1 x =

( )
( ) ( )
2
2 2 2 2
2
2
2
1 1
2
2
2
1
Pr
1
1
1
1
1
1
1
1
xy
i y y y x y x
y
y
yx
e
x x y
e e e e
x
e
x
e
e

+
+

= = =
+ +

+
=

= +

+
=
+
. (L2.6)


(c. q. d.)
Lema L3
Seja x um bit transmitido atravs de um canal BSC, caracterizado por uma
probabilidade de acerto p e de erro 1 q p = ,
0
BSC
1
0
1
q
p
p
q

e o bit recebido. Admitindo que y ( ) ( ) Pr 0 Pr 1 12 x x = = = = ento:

( )
1
Pr 0
y y
x y p q

= = , (L3.1)

( )
1
Pr 1
y y
x y p q

= = . (L3.2)
118 ANEXO A LEMAS
Demonstrao:
Por aplicao do teorema de Bayes, sabemos que:

( )
( ) ( )
( )
( ) ( )
( ) ( ) ( ) ( )
Pr Pr
Pr
Pr
Pr Pr
Pr 0 Pr 0 Pr 1 Pr 1
y x a x a
x a y
y
y x a x a
y x x y x x
= =
= = =
= =
=
= = + = =
. (L3.3)


Consideremos ento o caso em que 0 a = (para o caso em que 1 a = a prova far-se- de
forma anloga). Assim, admitindo que ( ) ( ) Pr 0 Pr 1 12 x x = = = = , (L3.3) vem

( )
( )
( ) ( )
( )
( ) ( )
1
1
Pr 0
2
Pr 0
1 1
Pr 0 Pr 1
2 2
Pr 0
Pr 0 Pr 1
0
1
y y
y x
x y
y x y x
y x
y x y x
p
y
p q
q
y
q p
p q

=
= =
= + =
=
=
= + =

=
. (L3.4)


(c. q. d.)
Lema L4
Seja
1 2
, , ,
n
x x x , com , um conjunto de variveis aleatrias binrias e seja
a varivel aleatria resultante da soma mdulo 2 de todos as variveis
2 n
n
y
i
x , com
. A mxima verosimilhana de funo das mximas verosimilhanas das
variveis aleatrias
1, , i = n
n
y
i
x com
( )
( )
( )
( )
( )
1
1
mv 1
1
mv 1
mv
mv 1
1
mv 1
n
i
i i
n
n
i
i i
x
x
y
x
x
=
=

+


+

. (L4.1)
Esta verifica tambm a seguinte relao recursiva,
( )
( ) ( )
( ) ( )
1
1
mv mv 1
mv
mv mv
n n
n
n n
y x
y
y x

+
=
+
, (L4.2)
em que a mxima verosimilhana de uma varivel aleatria x definida por
ANEXO A LEMAS 119
( )
( )
( )
Pr 0
mv
Pr 1
x
x
x
=
=
=
. (L4.3)

Demonstrao:
Comecemos por provar em primeiro lugar a expresso (L4.2). Assim, vamos considerar
apenas a soma de duas variveis aleatrias
1
x e
2
x com
1
y x x
2
= . A mxima
verosimilhana da varivel aleatria y

( )
( )
( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( )
( )
( )
( )
( )
( )
( )
( )
( ) ( )
( ) ( )
1 2 1 2
1 2 1 2
1 2
1 2 1 2
1 2 1 2
1 2
Pr 0 Pr 0 Pr 0 Pr 1 Pr 1
mv
Pr 1 Pr 0 Pr 1 Pr 1 Pr 0
Pr 0 Pr 0
1
Pr 1 Pr 1 mv mv 1
Pr 0 Pr 0 mv mv
Pr 1 Pr 1
y x x x x
y
y x x x x
x x
x x x x
x x x x
x x
= = = + = =
= =
= = = + = =
= =
+
= = +
= =
= = +
+
= =
=
, (L4.4)
portanto, funo das mximas verosimilhanas de
1
x e
2
x .
Da mesma forma, se conclui que o resultado anterior pode ser aplicado de forma recursiva.
De facto, seja y x x com . Podemos simplesmente escrever que
e, como tal, temos que:
1 2 n n
x = 2 n >
n 1 n n
y y x

=
( )
( ) ( )
( ) ( )
1
1
mv mv 1
mv
mv mv
n n
n
n n
y x
y
y x

+
=
+
(L4.5)
tal como queramos demonstrar.
Tendo em conta o resultado anterior provemos por induo a expresso (L4.1).
Comecemos por considerar . Por (L4.1) vem: 2 n =

( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( ) ( ) ( ) ( )
( )
2
1 2
1 1 2
2
2
1 2
1 1 2
1 2 1 2
1
mv 1 mv 1 mv 1
1 1
mv 1 mv 1 mv 1
mv
mv 1 mv 1 mv 1
1 1
mv 1 mv 1 mv 1
mv 1 mv 1 mv 1 mv 1
mv 1 mv
i
i i
i
i i
x x x
x x x
y
x x x
x x x
x x x x
x x
=
=

+ +


+ + +

= =




+ + +

+ + +

=
+

( ) ( ) ( )
=

( ) ( )
( ) ( )
2 1 2
1 2
1 2
1 mv 1 mv 1
mv mv 1
mv mv
x x
x x
x x
=
+

+
=
+
. (L4.6)

Este valor exactamente o mesmo da equao (L4.4), provando a validade da expresso
para . 2 n =
Assumindo que a equao (L4.1) verdadeira para vamos verificar se ainda vlida
para . Assim:
n
y
1 n
y
+
120 ANEXO A LEMAS

( ) ( )
( ) ( )
( ) ( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
1 1
1
1
1
1
1
1
1
1
1
1
mv =mv
mv mv 1
mv +mv
mv 1
1
mv 1
mv 1
mv 1
1
mv 1
mv 1
1
mv 1
mv
mv 1
1
mv 1
mv 1
mv
mv 1
n n n
n n
n n
n
i
i i
n
n
i
i i
n
i
i i
n
n
i
i i
n
i
n
i i
y y x
y x
y x
x
x
x
x
x
x
x
x
x
x
x
x
x
+ +
+
+
=
+
=
=
+
=
+
=

+
=

+


+

+



+

=

+


+

+



+


+


+

=

( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
1
1
1 1
1 1
1 1
1
1 1
1
mv 1
mv 1
mv 1
mv 1 mv 1
1 mv
mv 1 mv 1
mv 1
mv 1 mv 1
mv 1
mv 1
mv 1 mv
mv 1
n
i
n
i i
n n
i i
n n
i i i i
n
i
n n
i i
n
i
n n
i i
x
x
x
x x
x x
x x
x
x x
x
x
x x
x
+
=
+ +
= =
+ +
=
+ +
=

+


+


+ +


+ +


+ +



+

=

+



+

mv
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
1
1 1
1
1 1
1
1
1
1
1
mv 1 mv 1
1
mv 1 mv 1
mv 1 mv 1
1
mv 1 mv 1
mv 1
1
mv 1
mv 1
1
mv 1
n
n i
i i n
n
n i
i i n
n
i
i i
n
i
i i
x x
x x
x x
x x
x
x
x
x
+
= +
+
= +
+
=
+
=




+


+ +

=





+ +


+


+

=

. (L4.7)


(c. q. d.)
Lema L5
Seja
1 2
, , ,
n
x x x , com , um conjunto de variveis aleatrias binrias e seja
a varivel aleatria resultante da soma mdulo 2 de todos as variveis
2 n
n
y
i
x , com
. A mxima verosimilhana logartmica de funo das mximas
verosimilhanas das variveis aleatrias
1, , i = n
n
y
i
x com,
ANEXO A LEMAS 121
( )
( )
( )
( )
( )
mvl
mvl
1
mvl
mvl
1
e 1
1
e 1
mvl ln
e 1
1
e 1
i
i
i
i
x
n
x
i
n
x
n
x
i
y
=
=

+

+

. (L5.1)
Esta verifica tambm a seguinte relao recursiva
( )
( ) ( )
( ) ( )
1
1
mvl +mvl
mvl mvl
e
mvl ln
e e
n n
n n
y x
n
y x
y


1 +
=

(L5.2)
em que a mxima verosimilhana logartmica de uma varivel aleatria x definida
por
( )
( )
( )
Pr 0
mvl ln
Pr 1
x
x
x
=
=

. (L5.3)
Demonstrao:
A demonstrao do lema resulta apenas, e s, da aplicao da funo logaritmo natural s
equaes (L4.1) e (L4.2) do lema L4. De facto, a partir da definio da funo mxima
verosimilhana logartmica temos
( ) ( ) mvl ln mv x x =

. (L5.4)
Como tal, aplicando a funo logaritmo natural equao (L4.1) vamos obter,

( ) ( )
( )
( )
( )
( )
( )
( )
( )
( )
ln mv
ln mv
1
ln mv
ln mv
1
mvl
mvl
1
mvl
mvl
1
mvl ln mv
e 1
1
e 1
ln
e 1
1
e 1
e 1
1
e 1
ln
e 1
1
e 1
i
i
i
i
i
i
i
i
n n
x
n
x
i
x
n
x
i
x
n
x
i
x
n
x
i
y y




=




=
=
=
=

+

+

=






+

+

+

. (L5.5)
De forma idntica, por aplicao da funo logaritmo natural equao (L4.2) vamos obter,

( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( )
( ) ( )
1
1
1
1
1
1
ln mv ln mv
ln mv ln mv
mvl mvl
mvl mvl
mvl ln mv
mv mv 1
ln
mv mv
e e
ln
e e
e e 1
ln
e e
n n
n n
n n
n n
n n
n n
n n
y x
y x
y x
y x
y y
y x
y x





=

1
+
=

+



+
=
+


+
=

+

. (L5.6)
(c. q. d.)
122 ANEXO A LEMAS
Lema L6
Dados dois nmeros reais e ento
( ) ( ) ( )
1
1
2tanh tanh 2 tanh 2 log
e
e e



+

+
=

+

. (L6.1)

Demonstrao:
Sabendo que:

1
tanh
2 1
x
x
x e
e

=

+

(L6.2)
e que
( )
1
1 1
tanh ln
2 1
x
x
x

+
=


(L6.3)
podemos desenvolver a expresso (L6.1):

( ) ( ) ( )
( ) ( )
( ) ( )
1
1 tanh 2 tanh 2
2tanh tanh 2 tanh 2 log
1 tanh 2 tanh 2
1 1
1
1 1
log
1 1
1
1 1
1 1
log
1 1
1
log
e e
e e
e e
e e
e e e e e e
e e e e e e
e
e e










+ +
+ +
+
+
= =



+

+ +
= =


+ +
+ + + + +
= =

+ + + + +

+
=

+

. (L6.4)


(c. q. d.)
Lema L7
Dados dois nmeros reais x e ento y

( ) ( )
( )
log max , log 1
x y x y
a
a a x y a

+ = + +
a
. (L7.1)

Demonstrao:
Consideremos dois nmeros reais x e quaisquer. Ento, duas situaes podero
acontecer:
y
x y > ou x y < . Para cada um dos casos vem
ANEXO A LEMAS 123

( )
( )
( )
( )
( )
( )
( )
log 1
log
log 1
log 1
log 1
max , log 1
x y x
a
x y
a
y x y
a
y x
a
x y
a
x y
a
a a x
a a
a a x
y
y
x a x
y a x
x y a



y
y
+ >

+ =


+ <

+ + >

=

+ + <

= + +
. (L7.2)


(c. q. d.)
Lema L8
Dados dois nmeros reais x e ento y
( ) ( ) ( ) ( ) ( )
max 0, max , sgn sgn min , x y x y x y x y + = . (L8.1)

Demonstrao:
A demonstrao do lema em causa assenta na enumerao de todos os casos possveis.
Assim se:
e 0 x > 0 y >

( ) ( ) max 0, max ,
x y x x y
x y x y
x y y x y
y x y
x x y
+ >
+ =

+ <

>
=

<

, (L8.2)

( ) ( ) ( )
1 1
sgn sgn min ,
1 1
y x
x y x y
y
x x y
y x y
x x y
>

=

<

>
=

<

, (L8.3)

logo a igualdade vlida para e . 0 x > 0 y >
e 0 x < 0 y <

( ) ( )
0
max 0, max ,
0
x x y
x y x y
y x y
x x y
y x y
>
+ =

<

>

=

<

, (L8.4)


( ) ( ) ( )
( ) ( )
( ) ( )
1 1
sgn sgn min ,
1 1
x x y
x y x y
y x
x x y
y x y

y
>

=

<

>

=

<

, (L8.5)

124 ANEXO A LEMAS
logo a igualdade vlida para e 0 x < 0 y < .
e 0 x > 0 y <

( ) ( ) max 0, max ,
0
x y x x y
x y x y
x x y
y x y
x x y
+ >

+ =

<

>

=

<

, (L8.6)


( ) ( ) ( )
( )
( )
1 1
sgn sgn min ,
1 1
y x
x y x y
y
x x y
y x y
x x y
>

=

<

>

==

<

, (L8.7)

logo a igualdade vlida para e 0 x > 0 y < .
e 0 x < 0 y >

( ) ( )
0
max 0, max ,
y x
x y x y
y
x y y x y
y x y
x x y
>

+ =

+ <

>

=

<

, (L8.8)


( ) ( ) ( )
( )
( )
1 1
sgn sgn min ,
1 1
y x
x y x y
y
x x y
y x y
x x y
>

=

<

>

==

<

, (L8.9)
logo a igualdade vlida para e . 0 x < 0 y >

Conclui-se portanto que a igualdade (L8.1) vlida para , x y .

(c. q. d.)

BIBLIOGRAFIA
[BGT] C. Berrou, A. Glavieux e P. Thitimajshimi, Near Shannon Limit Error-
Correcting Coding and Decoding, Proceedings ICC93, Genve, Sua, pp.
1064-70, Maio 1993.
[BNK] T. Bhatt, K. Narayanan, N. Kehtarnavaz, Fixed Point DSP Implementation
of Low-Density Parity Check Codes, Proceedings of the 9th IEEE DSP
Workshop, Hunt, Texas, Outubro 2000.
[Bos] Martin Bossert, Channel Coding for Telecommunications, John Wiley &
Sons, 1999.
[BVJD] C. Berrou, S. Vaton, M. Jzquel e C. Douillard, Computing the Monimum
Distance of Linear Codes by the Error Impulse Method, IEEE
GLOBECOM 02, Taipei, Taiwan, Novembro 2002.
[Carl] A. B. Carlson, Communication Systems: An Introduction to Signals and
Noise in Electrical Communication, 3 Edio, McGraw-Hill, 1986.
[CF1] J. Chen e M. P. C. Fossorier, Near Optimum Universal Belief Propagation
Based Decoding of Low-Density Parity Check Codes, IEEE Transactions
on Communications, vol. 50, n 3, pp. 406-414, Maro 2002.
[CF2] J. Chen e M. P. C. Fossorier, Decoding Low-Density Parity Check Codes
with Normalized APP-Based Algorithm, IEEE GLOBECOM '01, vol. 2, pp.
1026-1030, 2001.
[CFRU] S. Chung, G.Forney, T. Richardson e R. Urbanke, On the Design of Low-
Density Parity-Check Codes within 0.0045 dB of the Shannon Limit, IEEE
Communications Letters, vol. 5, n 2, pp. 58-60, Fevereiro 2001.
[CT] Thomas M. Cover, Joy A. Thomas, Elements of Information Theory, John
Wiley & Sons, 1991.
[EMD] E. Eleftheriou, T. Mittelholzer e A. Dholakia, Reduced-Complexity
Decoding Algorithm for Low-Density Parity-Check Codes, Electronics
Letters, vol. 37, n 2, pp. 102-104, Janeiro 2001.
126 BIBLIOGRAFIA
[ETV] T. Etzion, A. Trachtenberg e A. Vardy, Which Codes Have Cycle-Free
Tanner Graphs, IEEE Transactions on Information Theory, vol. 45, n 6,
pp. 2173-2181, Setembro 1999.
[FMI] M. P. C. Fossorier, M. Mihaljevic e H. Imai, Reduced Complexity Iterative
Decoding of Low-Density Parity Check Codes Based on Belief
Propagation, IEEE Transactions on Communications, vol. 47, n 5, pp.
673-690, Maio 1999.
[Forn] G. D. Forney, Jr., On Iterative Decoding and the Two-Way Algorithm,
Proceedings of International Symposium on Turbo Codes and Related
Topics, Brest, Frana. pp. 12-25, Setembro 1997.
[Foss] Marc P. C. Fossorier, Iterative Reliability-Based Decoding of Low-Density
Parity Check Codes, IEEE Journal on Selected Areas in Communications,
vol. 19, n 5, pp. 908-917, Maio 2001.
[Gal1] R. G. Gallager, Low-Density Parity-Check Codes, IRE Transactions
Information Theory, vol. IT-8, pp. 21-28, Janeiro 1962.
[Gal2] R. G. Gallager, Low-Density Parity-Check Codes. , Cambridge, MA: MIT
Press, 1963.
[Gal3] R. G. Gallager, Information Theory and Reliable Communication, John
Wiley and Sons, 1968.
[GBD] F. Guillod, E. Boutillon e J. L. Danger, -Min Decoding Algorithm of
Regular and Irregular LDPC Codes, 3rd International Symposium on
Turbo Codes & Related Topics, Brest, France, pp 451-454, Setembro, 2003.
[HEAD] X.-Y. Hu, E. Eleftheriou, D.-M. Arnold e A. Dholakia, Efficient
Implementations of the Sum-Product Algorithm for Decoding LDPC
Codes, IEEE GLOBECOM '01, vol. 2, 2001.
[HM] X.-Y. Hu e T. Mittelholzer, An Ordered-Statistics-Based Approximation of
the Sum-Product Algorithm, ITS 2002, Internacional Telecommunications
Symposium, pp. 205-210, Setembro 2002.
[HMO] J. Hagenauer, M. Morez e E. Offer, Analog Turbo-Networks in VLSI: The
Next Step in Turbo Decoding and Equalization, Proceedings 2
nd
Intl.
Sypmp. Turbo Codes & Related Topics, Brest, France, pp. 209-218,
Setembro 2000.
[HSW] Y. He, S. Sun e X. Wang, Fast Decoding of LDPC Codes Using
Quantisation, Electronics Letters, vol. 38, n 4, Fevereiro 2002.
[JW] S. Johnson e S. R. Weller, Quasi-cyclic LDPC codes from difference
families, 3rd Australian Communications Theory Workshop, Canberra,
February 4-5, 2002.
BIBLIOGRAFIA 127
[KF] F. R. Kschischang e B. J. Frey, Iterative Decoding of Compound Codes by
Probability Propagation in Graphical Models, IEEE Journal on Selected
Areas in Communications, vol. 16, n 2, pp. 219-230, Fevereiro 1998.
[KFL] F. R. Kschischang, B. J. Frey e H. Loeliger, Factor Graphs and the
Sum-Product Algorithm, IEEE Transactions on Information Theory,
vol. 47, n 2, pp. 498-519, Fevereiro 2001.
[KLF] Y. Kou, S. Lin e M. P. C. Fossorier, Low-Density Parity-Check Codes
Based on Finite Geometries: A Rediscovery and New Results, IEEE
Transactions on Information Theory, vol. 47, n 7, pp. 2711-2736,
Novembro 2001.
[Ksch] F. R. Kschischang, Codes Defined on Graphs, IEEE Communications
Magazine, pp. 118-125, Agosto 2003.
[Lech] G. Lechner, Convergence of Sum-Product Algorithm for Finite Length
Low-Density Parity-Chech Codes, Winter School on Coding and
Information Theory, Monte Verit, Suia, Fevereiro 2003.
[LLHT] H.-A Loeliger, F. Lustenberger, M. Helfenstein e F. Tarkov, Probability
Propagation and Decoding in Analog VLSI, IEEE Transactions on
Information Theory, vol. 47, pp. 837-843, Fevereiro 2001.
[LLWP] W. K. Leung, W. L. Lee, A. Wu e L.Ping, Efficient implementation
technique of LDPC decoder, Electronic Letters, vol. 37, n 20,
pp. 1231-1232, 27 de Setembro 2001.
[LMSS1] M. Luby, M. Mitzenmacher, M. Shokrollahi e D. Spielman, Analysis of
Low Density Codes and Improved Designs Using Irregular Graphs,
Proceedings of the 30
th
ACM Symposium on Theory of Computing (STOC),
Maio 1998.
[LMSS2] M. Luby, M. Mitzenmacher, M. Shokrollahi e D. Spielman, Improved
Low-Density Parity-Check Codes Using Irregular Graphs and Belief
Propagation, Proceedings of the 1998 IEEE International Symposium on
Information Theory, Agosto 1998.
[LS] G. Lechner e J. Sayir, On the Convergence of Log-Likelihood Values in
Iterative Decoding, Mini-Workshop on Topics in Information Theory,
Essen, Alemanha, Setembro 2002.
[Mac1] D. J. C. Mackay, Information Theory, Inference and Learning Algorithms,
Cambridge University Press, 2003.
[Mac2] D. J. C. Mackay, Good Error-Correcting Codes based on Very Sparse
Matrices, IEEE Transactions on Information Theory, vol. 45, pp. 399-431,
Maro 1999.
[Mac3] Stio de Internet: http://www.inference.phy.cam.ac.uk/mackay/codes/data.html
128 BIBLIOGRAFIA
[MB1] Y. Mao e A. H. Banihashemi, Decoding Low-Density Parity-Check Codes
With Probabilistic Scheduling, IEEE Communication Letters, vol. 5, n 10,
pp. 414-416, Outubro 2001.
[MB2] Y. Mao e A. H. Banihashemi, A Heuristic Search for Good Low-Density
Parity-Check Codes at Short Block Lenghts, IEEE ICC 2001, Filndia,
Junho 2001.
[MN1] D. J. C. Mackay e R. M. Neal, Near Shannon limit performance of low
density parity check codes, Electronics Letters, vol. 33, n 6, pp 457-458,
Maro 1997.
[MN2] D. J. C. Mackay e R. M. Neal, Good Codes based on Very Sparse
Matrices, Cryptography and Coding. 5
th
IMA Conference ed. Colin Boyd,
Lecture Notes in Computer Science n 1025, pp.100-111, Springer, Berlim,
1995.
[MW] J. A. McGowan e R. C. Williamson, Loop Removal from LDPC Codes,
IEEE Information Theory Workshop 2003, Paris, 2003.
[Nay] A. Nayagam, Codes on Graphs: Behavioural Realizations and the Sum-
Product Algorithm, Fevereiro 2001.
[NB] A. Nouh e A. H. Banihashemi, Bootstrap Decoding of Low-Density Parity
Check Codes, IEEE Communications Letters, vol. 6, n 9, pp. 391-392,
Setembro 2002.
[PL] L.Ping e W. K. Leung, Decoding Low Density Parity Check Codes with
Finite Quantization Bits, IEEE Communications Letters, vol. 4, n 2,
pp. 62-64, Fevereiro 2000.
[PN] A. Prabhakar e K.R. Narayanan, "Pseudorandom Construction of LDPC
codes using Linear Congruential Sequences", IEEE Transactions on
Communications, vol. 50, n 9, pp. 1389-1396, Setembro 2002.
[PTVF] W. H. Press, S. A. Teukolsky, W. T. Vetterling e B. P. Flannery, Numerical
Recipes in C - The Art of Scientific Computing Second Edition, Cambridge
University Press, 2002.
[Rich] T. Richardsom, The Renaissance of Gallagers Low-Density Parity-Check
Codes, IEEE Communications Magazine, pp. 126-130, Agosto de 2003.
[RSU] T. Richardson, M. Shokrollahi e R. Urbanke, Design of Capacity
Approaching Irregular Low-Density Parity-Check Codes, IEEE
Transactions on Information Theory, vol. 47, n 2, pp. 619-637, Fevereiro
2001.
[RU] T. Richardson e R. Urbanke, The Capacity of Low-Density Parity-Check
Codes Under Message-Passing Decoding, IEEE Transactions on
Information Theory, vol. 47, n 2, pp. 599-618, Fevereiro 2001.
BIBLIOGRAFIA 129
[Ryan] W. Ryan, An Introduction to Low-Density Parity-Check Codes,
University of Arizona, Abril 2001.
[Sal] Carlos Salema, Feixes Hertzianos, Coleco Ensino da Cincia e
Tecnologia, IST-Press, 1998.
[Shan] C. E. Shannon, A mathematical theory of communication, Bell Systems
Technical Journal, 27: 397-423, 623-656, 162, 1948.
[Tan1] R. M. Tanner, A recursive approach to low complexity codes, IEEE
Transactions on Information Theory, vol. IT-27, n 5, pp. 533-547,
Setembro 1981.
[VO] A. J. Viterbi, J. K. Omura, Principles of Digital Communication and Coding,
McGraw-Hill, 1979.
[Wel1] R. B. Wells, Applied Coding and Information Theory for Engineers,
Prentice Hall Information and System Science Series, Series Editor, 1999.
[Weld] E. J. Weldon, Difference-Set Cyclic Codes, Bell Systems Technical
Journal, vol. 45, pp. 1045-1055, Setembro 1996.
[Wick] Stephen B. Wicker, Error Control Systems for Digital Communication and
Storage, Prentice Hall, 1995.
[YHB] M. Yazdani, S. Hemati e A. Banihashemi, Improving Belief Propagation
on Graphs With Cycles, IEEE Communications Letters, vol. 8, n 1,
pp 57-59, Janeiro 2004.
[YNA] E. Yeo, B. Nicoli e V. Anantharam, Architectures and Implementations of
Low-Density Parity Check Decoding Algorithms, invited paper at IEEE
International Midwest Symposium on Circuits and Systems, Agosto, 2002.
[Zar] Robert H. Morelos-Zaragoza, The Art of Error Correcting Coding, John
Wiley & Sons, 2002.
[ZWP] Tong Zhang, Zhongfeng Wang e Keshab K. Parhi, On Finite
Implementation of Low Density Parity Check Codes Decoder, Proceedings
of ISCAS, Sidney, Australia, Maio de 2001.

Você também pode gostar