Você está na página 1de 34

Codificação

Convolucional
Codificação Convolucional
• Palavra-código 𝑽 é dada pela convolução da sequência
de entrada 𝑼 com as respostas ao impulso do codificador
• Codificação (n,k,m)
– n = número de linhas multiplexadas na saída
– k = número de linhas demultiplexadas na entrada
– m = número de valores anteriores da entrada utilizados no
codificador

Codificação Convolucional
U V
Demux Codificador Mux
Codificação Convolucional
Exemplo 1 (n,k,m) = (2,1,3)

• Definições:
– 𝑼 = 𝑢0 , 𝑢1 , 𝑢2 , … = Sequência de informação
– 𝑽(1) = 𝑣0 (1) , 𝑣1 (1) , 𝑣2 (1) , … = Sequencia de saída 1
– 𝑽(2) = 𝑣0 (2) , 𝑣1 (2) , 𝑣2 (2) , … = Sequencia de saída 2
V(1)

U V
= Atraso (Z-1)

V(2) = Somador
módulo 2
Codificação Convolucional
Exemplo 1 (n,k,m) = (2,1,3)

• Sequencia de saída do codificador 𝑽(1) e 𝑽(2) :


convolução de 𝑼 com as respostas ao impulso do
codificador 𝒈(1) e 𝒈(2)
• Para se obter as respostas ao impulso de um
codificador convolucional, faz-se 𝑼 = [1, 0,0,0, … ] e
colhe-se a saída
– Como o codificador tem 𝑚 estágios, a resposta ao impulso
consiste de 𝑚 + 1 amostras

𝒈(1) = 𝑔0 (1) , 𝑔1 (1) , 𝑔2 (1) , … , 𝑔𝑚 (1) = [1,0,1,1]


𝒈(2) = 𝑔0 (2) , 𝑔1 (2) , 𝑔2 (2) , … , 𝑔𝑚 (2) = [1,1,1,1]
Codificação Convolucional
Exemplo 1 (n,k,m) = (2,1,3)
• Equações da codificação:

𝑽(1) = 𝑼 ∗ 𝒈(1)
𝑽(2) = 𝑼 ∗ 𝒈 2

• Cada elemento:
𝑚

𝑣𝑙 (𝑗) = 𝑢𝑙−𝑖 𝑔𝑖 (𝑗) = 𝑢𝑙 𝑔0 (𝑗) + 𝑢𝑙−1 𝑔1 (𝑗) + … + 𝑢𝑙−𝑚 𝑔𝑚 (𝑗)


𝑖=0

• Para o exemplo:

𝑣𝑙 (1) = 𝑢𝑙 + 𝑢𝑙−2 + 𝑢𝑙−3


𝑣𝑙 (2) = 𝑢𝑙 + 𝑢𝑙−1 + 𝑢𝑙−2 + 𝑢𝑙−3
Codificação Convolucional
Exemplo 1 (n,k,m) = (2,1,3)

• Multiplexação:
– Depois da codificação as duas sequências de saída são
multiplexadas, formando a palavra código:

𝑽 = [𝑣0 1 𝑣0 2 , 𝑣1 1 𝑣1 2 , 𝑣2 1 𝑣2 2 ,…]
Codificação Convolucional
Exemplo 1 (n,k,m) = (2,1,3)
• Exemplo 1a:
𝑼 = 1,0,1,1,1
Convolução entre A e B:
Convolução entre A e B:

length(A) = M
𝒈(1) = [1,0,1,1] Inverte A e multiplica
length(B) = N 𝒈(2) = [1,1,1,1] ponto a ponto com B,
deslocando A de −∞ até
+∞
length(A*B) = M + N - 1 𝑽(1) = 𝑼 ∗ 𝒈(1)
𝑽(2) = 𝑼 ∗ 𝒈 2

𝑽(1) = 1,0,0,0,0,0,0,1
𝑽(2) = 1,1,0,1,1,1,0,1 Notar que 𝑽 é o
entrelaçamento de
𝑽 = [1 1,0 1, 0 0, 0 1, 0 1, 0 1, 0 0, 1 1] 𝑽(1) e 𝑽(2)
Codificação Convolucional
Exemplo 1 (n,k,m) = (2,1,3)
• Equação da codificação na forma matricial:

𝑽 = 𝑼𝑮

• Com a matriz geradora (espaços vazios iguais a zero):

𝑔0 (1) 𝑔0 (2) 𝑔1 (1) 𝑔1 (2) 𝑔2 (1) 𝑔2 (2) ⋯ 𝑔𝑚 (1) 𝑔𝑚 (2)


𝑔0 (1) 𝑔0 (2) 𝑔1 (1) 𝑔1 (2) ⋯ 𝑔𝑚−1 (1) 𝑔𝑚−1 (2) 𝑔𝑚 (1) 𝑔𝑚 (2)
𝑮=
𝑔0 (1) 𝑔0 (2) ⋯ 𝑔𝑚−2 (1) 𝑔𝑚−2 (2) 𝑔𝑚−1 (1) 𝑔𝑚−1 (2) 𝑔𝑚 (1) 𝑔𝑚 (2)
⋱ ⋱

• Se 𝑼 tem comprimento finito 𝐿, a matriz 𝑮 tem 𝐿 linhas e 2(𝑚 + 𝐿) colunas, e 𝑽 tem comprimento
2 𝑚+𝐿

• Para o exemplo:

11 01 11 11
11 01 11 11
𝑽 = 𝑼𝑮 = 1,0,1,1,1 11 01 11 11 = [1 1,0 1,0 0,0 1,0 1, 0 1,0 0,1 1]
11 01 11 11
11 01 11 11
Codificação Convolucional
Exemplo 2 (n,k,m) = (3,2,1)
• Têm-se agora duas sequencias de informação, demultiplexadas da sequencia de
informação de entrada:

𝑼(1) = 𝑢0 1 , 𝑢1 1 , 𝑢2 1 ,…
𝑼(2) = 𝑢0 2 , 𝑢1 2 , 𝑢2 2 ,…

1 2 1 2 1 2
𝑼 = [𝑢0 𝑢0 , 𝑢1 𝑢1 , 𝑢2 𝑢2 ,…]

V(1)

U(1)

U V(2) V

U(2)
V(3)
Codificação Convolucional
Exemplo 2 (n,k,m) = (3,2,1)
• E também, três sequencias de saída, multiplexadas na
sequencia de saída:

𝑽(1) = 𝑣0 1
, 𝑣1 1
, 𝑣2 1
,…
𝑽(2) = 𝑣0 2
, 𝑣1 2
, 𝑣2 2
,…
𝑽(3) = 𝑣0 3
, 𝑣1 3
, 𝑣2 3
,…

1 2 3 1 2 3 1 2 3
𝑽 = [𝑣0 𝑣0 𝑣0 , 𝑣1 𝑣1 𝑣1 , 𝑣2 𝑣2 𝑣2 ,…]
Codificação Convolucional
Exemplo 2 (n,k,m) = (3,2,1)

• Respostas ao impulso:

𝒈1 (1) = [1,1] Assim, a forma


genérica para a
𝒈1 (2) = [0,1] resposta ao impulso
Três sequências 𝒈1 (3) = 1,1 de um codificador
convolucional é:
geradoras para cada
sequência de
𝑔<𝑒𝑛𝑡𝑟𝑎𝑑𝑎> <𝑠𝑎𝑖𝑑𝑎>
entrada
𝒈2 (1) = [0,1]
𝒈2 (2) = [1,0]
E o número de
elementos do vetor
𝒈2 (3) = [1,0] é igual à 𝑚 + 1
Codificação Convolucional
Exemplo 2 (n,k,m) = (3,2,1)
• Equações da codificação:
Os elementos estão organizados
pelos superíndices. Desta forma é
𝑽(1) = 𝑼(1) ∗ 𝒈1 1 +𝑼 2 ∗ 𝒈2 1
possível ver diretamente a
𝑽(2) = 𝑼(1) ∗ 𝒈1 2
+𝑼 2
∗ 𝒈2 2
contribuição de cada resposta ao
𝑽(3) = 𝑼(1) ∗ 𝒈1 3
+𝑼 2
∗ 𝒈2 3
impulso. Por exemplo, tendo:
𝒈1 (1) = [1,1]
• Para o exemplo: 𝒈2 (1) = [0,1]
A saída 1 terá todos os valores
𝑣𝑙 (1) = 𝑢𝑙 (1) + 𝑢𝑙−1 (1) + 𝑢𝑙−1 (2) da entrada 1 e somente o valor
𝑣𝑙 (2) = 𝑢𝑙−1 (1) + 𝑢𝑙 (2) 𝑙 − 1 da entrada 2.
𝑣𝑙 (3) = 𝑢𝑙 (1) + 𝑢𝑙−1 (1) + 𝑢𝑙 (2) Agora os elementos estão
organizados pela ordem dos
• Organizado de outra forma: subíndices. Assim fica mais visível a
contribuição temporal de cada
𝑣𝑙 (1) = 𝑢𝑙 (1) + 𝑢𝑙−1 (1) + 𝑢𝑙−1 (2) entrada para cada saída. Por
𝑣𝑙 (2) = 𝑢𝑙 (2) + 𝑢𝑙−1 (1) exemplo, a saída (3) tem
contribuição no instante 𝑙 das duas
𝑣𝑙 (3) = 𝑢𝑙 (1) + 𝑢𝑙 (2) + 𝑢𝑙−1 (1) entrradas, e no instante 𝑙 − 1 de
somente a entrada 1.
Codificação Convolucional
Exemplo 2 (n,k,m) = (3,2,1)
• Exemplo 2a:
𝑼(1) = [1, 0, 1]
𝑼(2) = [1, 1, 0]

𝒈1 (1) = [1,1] 𝒈2 (1) = [0,1]


𝒈1 (2) = [0,1] 𝒈2 (2) = [1,0]
𝒈1 (3) = 1,1 𝒈2 (3) = [1,0]

𝑽(1) = 𝑼(1) ∗ 𝒈1 1 +𝑼 2 ∗ 𝒈2 1

𝑽(2) = 𝑼(1) ∗ 𝒈1 2
+𝑼 2
∗ 𝒈2 2

𝑽(3) = 𝑼(1) ∗ 𝒈1 3
+𝑼 2
∗ 𝒈2 3

𝑽(1) = 1, 0, 0, 1
𝑽(2) = 1, 0, 0, 1
𝑽(3) = 0, 0, 1, 1

𝑽 = [1 1 0, 0 0 0, 0 0 1, 1 1 1]
Codificação Convolucional
Exemplo 2 (n,k,m) = (3,2,1)
• Equação da codificação na forma matricial:

𝑽 = 𝑼𝑮

• Com a matriz geradora (espaços vazios iguais a zero):

𝑔1,0 (1) 𝑔1,0 (2) 𝑔1,0 (3) 𝑔1,1 (1) 𝑔1,1 (2) 𝑔1,1 (3) … 𝑔1,𝑚 (1) 𝑔1,𝑚 (2) 𝑔1,𝑚 (3)
𝑔2,0 (1) 𝑔2,0 (2) 𝑔2,0 (3) 𝑔2,1 (1) 𝑔2,1 (2) 𝑔2,1 (3) … 𝑔2,𝑚 (1) 𝑔2,𝑚 (2) 𝑔2,𝑚 (3)
𝑮= 𝑔1,0 (1) 𝑔1,0 (2) 𝑔1,0 (3) … 𝑔1,𝑚−1 (1) 𝑔1,𝑚−1 (2) 𝑔1,𝑚−1 (3) 𝑔1,𝑚 (1) 𝑔1,𝑚 (2) 𝑔1,𝑚 (3)
𝑔2,0 (1) 𝑔2,0 (2) 𝑔2,0 (3) … 𝑔2,𝑚−1 (1) 𝑔2,𝑚−1 (2) 𝑔2,𝑚−1 (3) 𝑔2,𝑚 (1) 𝑔2,𝑚 (2) 𝑔2,𝑚 (3)
⋱ ⋱

• Para o exemplo:

1 0 1 1 1 1
0 1 1 1 0 0
𝑽 = 𝑼𝑮 = 1 1, 0 1, 1 0 1 0 1 1 1 1 = [1 1 0, 0 0 0, 0 0 1, 1 1 1]
0 1 1 1 0 0
1 0 1 1 1 1
0 1 1 1 0 0
Codificação Convolucional – Generalização

Para um codificador genérico, com 𝑘 shift-registers distintos


(não há restrições para que o número de atrasos 𝑚 seja
igual para todas as entradas), define-se a ordem da
memória do codificador como:

𝑚 = max 𝐾𝑖
1≤𝑖≤𝑘

Onde 𝐾𝑖 é o número de atrasos do shift-register associado à


entrada 𝑖.

Ou seja, 𝑚 é igual ao maior comprimento dentre todos os 𝑘


shift-registers.
Codificação Convolucional – Generalização
• Para um codificador genérico (n,k,m):

𝑽 = 𝑼𝑮

𝑈 = 𝑈0 , 𝑈1 , … = 𝑢0 1 𝑢0 2 … 𝑢0 𝑘 , 𝑢1 1 𝑢1 2 … 𝑢1 𝑘 , …
𝑉 = 𝑉0 , 𝑉1 , … = 𝑣0 1 𝑣0 2 … 𝑣0 𝑘 , 𝑣1 1 𝑣1 2 … 𝑣1 𝑘 , …

• A matriz geradora:

𝐺0 𝐺1 𝐺2 … 𝐺𝑚
𝐺0 𝐺1 … 𝐺𝑚−1 𝐺𝑚
𝐺=
𝐺0 … 𝐺𝑚−2 𝐺𝑚−1 𝐺𝑚
⋱ ⋱
• Onde:

𝑔1,𝑙 (1) 𝑔1,𝑙 (2) … 𝑔1,𝑙 𝑛


(1)
𝐺𝑙 = 𝑔2,𝑙 𝑔2,𝑙 (2) … 𝑔2,𝑙 𝑛
⋮ ⋮ ⋱ ⋮
𝑔𝑘,𝑙 (1) 𝑔𝑘,𝑙 (2) … 𝑔𝑘,𝑙 𝑛

• Um codificador convolucional gera 𝑛 bits para cada 𝑘 bits de informação, sendo 𝑅 = 𝑘 𝑛 chamado de taxa
do código.
Codificação Convolucional – Diagrama de estado

• Para um código (𝑛, 𝑘, 𝑚), com 𝑘 > 1, cada shift-register tem 𝐾𝑖 bits com
informações de tempos anteriores.
• A memória total do codificador é:
𝑘

𝐾= 𝐾𝑖
𝑖=1

• Estado do codificador: conteúdo dos seus shift-registers


• O estado do codificador no tempo 𝑙 (quando 𝑢𝑙 (1) , 𝑢𝑙 (2) , … , 𝑢𝑙 (𝑘) estão na entrada
do codificador) é:

1 1 1 2 2 2
𝑢𝑙−1 𝑢𝑙−2 … 𝑢𝑙−𝐾1 ⋮ 𝑢𝑙−1 𝑢𝑙−2 … 𝑢𝑙−𝐾2 ⋮ ⋯ ⋮ 𝑢𝑙−1 𝑘 𝑢𝑙−2 𝑘 … 𝑢𝑙−𝐾𝑘 𝑘

e há 2𝐾 estados possíveis.

• Para um código (𝑛, 1, 𝑚), 𝐾 = 𝐾𝑖 = 𝑚, e o estado do codificador é:

[𝑢𝑙−1 𝑢𝑙−2 … 𝑢𝑙−𝑚 ]


Codificação Convolucional – Diagrama de estado

• Cada bloco de 𝑘 entradas causam uma transição de um estado atual para


um outro [a].
• Há então 2𝑘 ramos saindo de cada estado, cada um correspondendo a
cada bloco de entrada diferente [b].

• Para um código (𝑛, 1, 𝑚) há somente dois ramos deixando cada estado.

• Cada ramo é rotulado com:


– As 𝑘 entradas causadoras da transição (𝑢𝑙 (1) 𝑢𝑙 (2) … 𝑢𝑙 (𝑘) ) [c]; e
– As 𝑛 saídas correspondentes (𝑣𝑙 (1) 𝑣𝑙 (2) … 𝑣𝑙 (𝑛) ) [d].

• Os estados são rotulados com 𝑆0 , 𝑆1 , … , 𝑆2𝐾−1 , onde por convenção, 𝑆𝑖


representa o estado cuja representação binária 𝑏0 , 𝑏1 , … , 𝑏𝐾−1 é
equivalente ao inteiro 𝑖 = 𝑏0 20 + 𝑏1 21 + … + 𝑏𝐾−1 2𝐾−1 [e].
• Exemplo:
– Estado do codificador: 11010
– Representação decimal: 𝑖 = 1. 20 + 1. 21 + 0. 22 + 1. 23 + 0. 24 = 11
– Estado: 𝑆11
Codificação Convolucional – Diagrama de estado (n,k,m)=(3,1,2)
0/000 [b] 2𝑘 = 21
[a] Transição de ramos saindo
um estado (𝑆2 ) de cada estado
para outro (𝑆0 )

𝑆0

0/111

𝑆2 𝑆1
1/001

𝑆3
[c] Sinal de [e] 2𝐾 = 2𝐾1 = 2𝑚 = 22
entrada (k bits) [d] Sinal de estados diferentes:
saída (n bits) 𝑆0 𝑖 = 0 0 ;
𝑆1 (i = [1 0]);
1/110 𝑆2 (𝑖 = [0 1]);
𝑆3 (𝑖 = [1 1]).
Codificação Convolucional – Diagrama de estado (n,k,m)=(3,1,2)
Para encontrar o diagrama do codificador a partir do diagrama de estados, entrar com
um impulso no diagrama de estado.

Diagrama de estado: Codificador:

0/000

𝑆0 V(1)

0/111
𝑆2 𝑆1 U V(2)
1/001

𝑆3 V(3)

1/110
Codificação Convolucional – Diagrama de estado (n,k,m)=(2,1,3)

Codificador: Estudo:
V(1) • Número de bits de entrada:
𝑘=1
• Número de bits de saída:
U
𝑛=2
• Memória total do codificador:
V(2) 𝐾=𝑚=3
• Estados possíveis 2𝐾 = 8:
000 100
• Estados:
bo b1 b2 i Estado 001 101

0 0 0 0 𝑆0 010 110
0 0 1 4 𝑆4 011 111
0 1 0 2 𝑆2 • Número de ramos saindo de cada
0 1 1 6 𝑆6 estado:
1 0 0 1 𝑆1 2𝑘 = 21 , ou 1 ou 0
1 0 1 5 𝑆5
1 1 0 3 𝑆3
1 1 1 7 𝑆7
Codificação Convolucional – Diagrama de estado (n,k,m)=(3,1,2)

1/10
𝑆1 𝑆3

1/00

0/00 𝑆0 1/00 𝑆2 𝑆5 0/10 𝑆7 1/10

0/10

𝑆4 𝑆6
0/00
Codificação Convolucional – Diagrama de treliça

• O diagrama de estados pode ser expandido no tempo


para representar cada unidade temporal em um
diagrama separado:
Caminhos
110 110 110 tracejados
𝑆3 representam
sinal de
entrada igual a
𝑆2 0

Outros
caminhos
𝑆1 representam
sinal de
entrada igual a
𝑆0 000 000 000 000 000 1

0 1 2 3 4 5 ... t
Codificação Convolucional – Decodificação

• É feito com o algoritmo de Viterbi.


– Computa métricas para dois caminhos entrando em um
determinado estado
– Baseado nas métricas, o algoritmo elimina um dos dois
caminhos
– Assim, é encontrado ao longo da treliça, o caminho mais
provável em que o codificador seguiu

– A métrica utilizada no algoritmo de Viterbi é a distância entre


dois códigos (distância de Hamming)

– A soma de todas as distâncias de hamming ao longo do


percurso até o tempo 𝑡 é chamada de Métrica do caminho de
hamming cumulativa, ou somente, Distância cumulativa.
Codificação Convolucional – Decodificação
• Exemplo: dada a treliça do codificador abaixo:
10 10 10
𝑆3

𝑆2

𝑆1

𝑆0 00 00 00 00 00

0 1 2 3 4 5 ... t
• A sequencia de entrada é:
𝑼= 11011
• Que resulta na palavra codificada:
𝑽 = [11 01 01 00 01]
• No exemplo, a sequencia de chegada é:
𝒁 = [11 01 01 10 01]
Codificação Convolucional – Decodificação
• Estado inicial:

𝑆3 = 11

𝑆2 = 01

𝑆1 = 10

𝑆0 = 00
0 1 2 3 4 5 6 ... t
Codificação Convolucional – Decodificação
• Tempo 𝑡 = 1:
• Símbolos recebidos (azul): 𝒁 = [11 01 01 10 01]
• Transições possíveis do estado atual:
– 00 → 00 Saída: 00 Métrica: 2
– 00 → 10 Saída: 11 Métrica: 0

𝑆3 = 11

Bit de saída
𝑆2 = 01 do
codificador

𝑆1 = 10
Métrica

𝑆0 = 00 00 - 2

0 1 2 3 4 5 6 ... t
Codificação Convolucional – Decodificação
• Tempo 𝑡 = 2:
• Símbolos recebidos (azul): 𝒁 = [11 01 01 10 01]
• Transições possíveis dos estados atuais:
– 00 → 00 Saída: 00 Métrica: 1
– 00 → 10 Saída: 11 Métrica: 1
– 10 → 01 Saída: 10 Métrica: 2
– 10 → 11 Saída: 01 Métrica: 0 Métrica total do caminho
(Cumulativa):

𝑆3 = 11 0

𝑆2 = 01 2

𝑆1 = 10 3

𝑆0 = 00 00 - 2 00 - 1 3
0 1 2 3 4 5 6 ... t
Codificação Convolucional – Decodificação
• Tempo 𝑡 = 3:
• Símbolos recebidos (azul): 𝒁 = [11 01 01 10 01] Caminho superior
• Transições possíveis dos estados atuais:
– 00 → 00 Saída: 00 Métrica: 1
– 00 → 10 Saída: 11 Métrica: 1 Caminho inferior
– 10 → 01 Saída: 10 Métrica: 2
– 10 → 11 Saída: 01 Métrica: 0
– 01 → 00 Saída: 11 Métrica: 1 Métrica total do caminho
– 01 → 10 Saída: 00 Métrica: 1 (Cumulativa):
– 11 → 01 Saída: 01 Métrica: 0
– 11 → 11 Saída: 10 Métrica: 2
10 - 2 2
𝑆3 = 11 3

0
𝑆2 = 01 5
Números
sublinhados
3 indicam as
𝑆1 = 10 4 menores
métricas
até o
estado
𝑆0 = 00 00 - 2 00 - 1 00 - 1 3
4
0 1 2 3 4 5 6 ... t
Codificação Convolucional – Decodificação
• Tempo 𝑡 = 3:
• Símbolos recebidos (azul): 𝒁 = [11 01 01 10 01]
• Transições possíveis dos estados atuais:
– 00 → 00 Saída: 00 Métrica: 1
– 00 → 10 Saída: 11 Métrica: 1
– 10 → 01 Saída: 10 Métrica: 2
– 10 → 11 Saída: 01 Métrica: 0
– 01 → 00 Saída: 11 Métrica: 1 Métrica total do caminho
– 01 → 10 Saída: 00 Métrica: 1 (Cumulativa):
– 11 → 01 Saída: 01 Métrica: 0
– 11 → 11 Saída: 10 Métrica: 2
10 - 2
𝑆3 = 11 Como só existe um
caminho entre
2
𝑡 = 0 e 𝑡 = 1, o
decodificador pode
decidir pela
transição 00 → 10.
𝑆2 = 01 Assim, o primeiro Caminhos que não 0
bit é decodificado foram eliminados
(o bit que
codificado gera 11) são chamados de
caminhos 3
𝑆1 = 10
sobreviventes

𝑆0 = 00 3
0 1 2 3 4 5 6 ... t
Codificação Convolucional – Decodificação
• Tempo 𝑡 = 4:
• Símbolos recebidos (azul): 𝒁 = [11 01 01 10 01]
• Transições possíveis dos estados atuais:
– 00 → 00 Saída: 00 Métrica: 1
– 00 → 10 Saída: 11 Métrica: 1
– 10 → 01 Saída: 10 Métrica: 0
– 10 → 11 Saída: 01 Métrica: 2
– 01 → 00 Saída: 11 Métrica: 1 Métrica total do caminho
– 01 → 10 Saída: 00 Métrica: 1 (Cumulativa):
– 11 → 01 Saída: 01 Métrica: 2
– 11 → 11 Saída: 10 Métrica: 0
10 - 2 10 - 0 2
𝑆3 = 11 5

4
𝑆2 = 01 3

1
𝑆1 = 10 4

1
𝑆0 = 00 00 - 1
4
0 1 2 3 4 5 6 ... t
Codificação Convolucional – Decodificação
• Tempo 𝑡 = 4:
• Símbolos recebidos (azul): 𝒁 = [11 01 01 10 01]
• Transições possíveis dos estados atuais:
– 00 → 00 Saída: 00 Métrica: 1
– 00 → 10 Saída: 11 Métrica: 1
– 10 → 01 Saída: 10 Métrica: 0
– 10 → 11 Saída: 01 Métrica: 2
– 01 → 00 Saída: 11 Métrica: 1 Métrica total do caminho
– 01 → 10 Saída: 00 Métrica: 1 (Cumulativa):
– 11 → 01 Saída: 01 Métrica: 2
– 11 → 11 Saída: 10 Métrica: 0
10 - 2 10 - 0 2
𝑆3 = 11
Notar que o
segundo bit
não pode ser 3
𝑆2 = 01
decodificado,
pois ainda
existem 2 1
𝑆1 = 10
caminhos
entre 𝑡 = 1 e
𝑡=2 1
𝑆0 = 00
0 1 2 3 4 5 6 ... t
Codificação Convolucional – Decodificação
• Tempo 𝑡 = 5:
• Símbolos recebidos (azul): 𝒁 = [11 01 01 10 01]
• Transições possíveis dos estados atuais:
– 00 → 00 Saída: 00 Métrica: 1
– 00 → 10 Saída: 11 Métrica: 1
– 10 → 01 Saída: 10 Métrica: 2
– 10 → 11 Saída: 01 Métrica: 0
– 01 → 00 Saída: 11 Métrica: 1 Métrica total do caminho
– 01 → 10 Saída: 00 Métrica: 1 (Cumulativa):
– 11 → 01 Saída: 01 Métrica: 0
– 11 → 11 Saída: 10 Métrica: 2
10 - 2 10 - 0 10 - 2 4
𝑆3 = 11 1

2
𝑆2 = 01 3

4
𝑆1 = 10 2

4
𝑆0 = 00 00 - 1
2
0 1 2 3 4 5 6 ... t
Codificação Convolucional – Decodificação
• Tempo 𝑡 = 5:
• Símbolos recebidos (azul): 𝒁 = [11 01 01 10 01]
• Transições possíveis dos estados atuais:
– 00 → 00 Saída: 00 Métrica: 1
– 00 → 10 Saída: 11 Métrica: 1
– 10 → 01 Saída: 10 Métrica: 2
– 10 → 11 Saída: 01 Métrica: 0
– 01 → 00 Saída: 11 Métrica: 1 Métrica total do caminho
– 01 → 10 Saída: 00 Métrica: 1 (Cumulativa):
– 11 → 01 Saída: 01 Métrica: 0
– 11 → 11 Saída: 10 Métrica: 2
10 - 2 10 - 0 1
𝑆3 = 11

2
𝑆2 = 01

Agora sim, o
2
𝑆1 = 10 segundo bit
pôde ser
decodificado
2
𝑆0 = 00 00 - 1

0 1 2 3 4 5 6 ... t

Você também pode gostar