Upload
dangkiet
View
212
Download
0
Embed Size (px)
Citation preview
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
Demux Codificador Mux U V
Codificação Convolucional
• 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
U
V(2)
V
V(1)
= Atraso (Z-1)
= 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
= 𝑢𝑙𝑔0(𝑗) + 𝑢𝑙−1𝑔1
(𝑗) + …+ 𝑢𝑙−𝑚𝑔𝑚(𝑗)
• 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:
𝑽 = [𝑣01 𝑣0
2 , 𝑣11 𝑣1
2 , 𝑣21 𝑣2
2 , … ]
Codificação Convolucional Exemplo 1 (n,k,m) = (2,1,3)
• Exemplo 1a: 𝑼 = 1,0,1,1,1
𝒈(1) = [1,0,1,1]
𝒈(2) = [1,1,1,1]
𝑽(1) = 𝑼 ∗ 𝒈(1)
𝑽(2) = 𝑼 ∗ 𝒈 2
𝑽(1) = 1,0,0,0,0,0,0,1
𝑽(2) = 1,1,0,1,1,1,0,1
𝑽 = [1 1,0 1, 0 0, 0 1, 0 1, 0 1, 0 0, 1 1]
Codificação Convolucional Exemplo 1 (n,k,m) = (2,1,3)
Convolução entre A e B:
length(A) = M length(B) = N
length(A*B) = M + N - 1
Convolução entre A e B:
Inverte A e multiplica ponto a ponto com B,
deslocando A de −∞ até +∞
Notar que 𝑽 é o entrelaçamento de
𝑽(1) e 𝑽(2)
• 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:
𝑽 = 𝑼𝑮 = 1,0,1,1,1
1 1 0 1 1 1 1 11 1 0 1 1 1 1 11 1 0 1 1 1 1 11 1 0 1 1 1 1 11 1 0 1 1 1 1 1
= [1 1,0 1,0 0,0 1,0 1, 0 1,0 0,1 1]
Codificação Convolucional Exemplo 1 (n,k,m) = (2,1,3)
• Têm-se agora duas sequencias de informação, demultiplexadas da sequencia de informação de entrada:
𝑼(1) = 𝑢01 , 𝑢1
1 , 𝑢21 , …
𝑼(2) = 𝑢02 , 𝑢1
2 , 𝑢22 , …
𝑼 = [𝑢01 𝑢0
2 , 𝑢11 𝑢1
2 , 𝑢21 𝑢2
2 , … ]
Codificação Convolucional Exemplo 2 (n,k,m) = (3,2,1)
V(1)
U V
U(1)
U(2)
V(2)
V(3)
• E também, três sequencias de saída, multiplexadas na sequencia de saída:
𝑽(1) = 𝑣01 , 𝑣1
1 , 𝑣21 , …
𝑽(2) = 𝑣02 , 𝑣1
2 , 𝑣22 , …
𝑽(3) = 𝑣03 , 𝑣1
3 , 𝑣23 , …
𝑽 = [𝑣01 𝑣0
2 𝑣03 , 𝑣1
1 𝑣12 𝑣1
3 , 𝑣21 𝑣2
2 𝑣23 , … ]
Codificação Convolucional Exemplo 2 (n,k,m) = (3,2,1)
• Respostas ao impulso:
𝒈1(1) = [1,1]
𝒈1(2) = [0,1]
𝒈1(3) = 1,1
𝒈2(1) = [0,1]
𝒈2(2) = [1,0]
𝒈2(3) = [1,0]
Codificação Convolucional Exemplo 2 (n,k,m) = (3,2,1)
Assim, a forma genérica para a
resposta ao impulso de um codificador convolucional é:
𝑔<𝑒𝑛𝑡𝑟𝑎𝑑𝑎><𝑠𝑎𝑖𝑑𝑎>
E o número de
elementos do vetor é igual à 𝑚 + 1
Três sequências geradoras para cada
sequência de entrada
• Equações da codificação:
𝑽(1) = 𝑼(1) ∗ 𝒈11 + 𝑼 2 ∗ 𝒈2
1
𝑽(2) = 𝑼(1) ∗ 𝒈12 + 𝑼 2 ∗ 𝒈2
2
𝑽(3) = 𝑼(1) ∗ 𝒈13 + 𝑼 2 ∗ 𝒈2
3 • Para o exemplo:
𝑣𝑙(1) = 𝑢𝑙
(1) + 𝑢𝑙−1(1) + 𝑢𝑙−1
(2)
𝑣𝑙(2) = 𝑢𝑙−1
(1) + 𝑢𝑙(2)
𝑣𝑙(3) = 𝑢𝑙
(1) + 𝑢𝑙−1(1) + 𝑢𝑙
(2) • Organizado de outra forma:
𝑣𝑙(1) = 𝑢𝑙
(1) + 𝑢𝑙−1(1) + 𝑢𝑙−1
(2) 𝑣𝑙(2) = 𝑢𝑙
(2) + 𝑢𝑙−1(1)
𝑣𝑙(3) = 𝑢𝑙
(1) + 𝑢𝑙(2) + 𝑢𝑙−1
(1)
Codificação Convolucional Exemplo 2 (n,k,m) = (3,2,1)
Os elementos estão organizados pelos superíndices. Desta forma é
possível ver diretamente a contribuição de cada resposta ao
impulso. Por exemplo, tendo:
𝒈1(1) = [1,1] 𝒈2(1) = [0,1]
A saída 1 terá todos os valores da entrada 1 e somente o valor 𝑙 − 1 da entrada 2.
Agora os elementos estão organizados pela ordem dos
subíndices. Assim fica mais visível a contribuição temporal de cada
entrada para cada saída. Por exemplo, a saída (3) tem
contribuição no instante 𝑙 das duas entrradas, e no instante 𝑙 − 1 de
somente a entrada 1.
• Exemplo 2a: 𝑼(1) = [1, 0, 1]
𝑼(2) = [1, 1, 0]
𝑽(1) = 𝑼(1) ∗ 𝒈11 + 𝑼 2 ∗ 𝒈2
1
𝑽(2) = 𝑼(1) ∗ 𝒈12 + 𝑼 2 ∗ 𝒈2
2
𝑽(3) = 𝑼(1) ∗ 𝒈13 + 𝑼 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)
𝒈2(1) = [0,1]
𝒈2(2) = [1,0]
𝒈2(3) = [1,0]
𝒈1(1) = [1,1]
𝒈1(2) = [0,1]
𝒈1(3) = 1,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 1, 0 1, 1 0
1 0 1 1 1 10 1 1 1 0 0
1 0 1 1 1 10 1 1 1 0 0
1 0 1 1 1 10 1 1 1 0 0
= [1 1 0, 0 0 0, 0 0 1, 1 1 1]
Codificação Convolucional Exemplo 2 (n,k,m) = (3,2,1)
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, … = 𝑢01 𝑢0
2 …𝑢0𝑘 , 𝑢1
1 𝑢12 …𝑢1
𝑘 , …
𝑉 = 𝑉0, 𝑉1, … = 𝑣01 𝑣0
2 …𝑣0𝑘 , 𝑣1
1 𝑣12 …𝑣1
𝑘 , …
• A matriz geradora:
𝐺 =
𝐺0 𝐺1 𝐺2 … 𝐺𝑚𝐺0 𝐺1 … 𝐺𝑚−1 𝐺𝑚𝐺0 … 𝐺𝑚−2 𝐺𝑚−1 𝐺𝑚⋱ ⋱
• Onde:
𝐺𝑙 =
𝑔1,𝑙(1) 𝑔1,𝑙
(2) … 𝑔1,𝑙𝑛
𝑔2,𝑙(1) 𝑔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 – Generalização
• 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) é:
𝑢𝑙−11 𝑢𝑙−2
1 …𝑢𝑙−𝐾11 ⋮ 𝑢𝑙−1
2 𝑢𝑙−22 …𝑢𝑙−𝐾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 𝑖 = 𝑏02
0 + 𝑏121 + …+ 𝑏𝐾−12
𝐾−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
Codificação Convolucional – Diagrama de estado (n,k,m)=(3,1,2)
𝑆0
𝑆2 𝑆1
𝑆3
0/000
0/111
1/001
1/110
[e] 2𝐾 = 2𝐾1 = 2𝑚 = 22 estados diferentes: 𝑆0 𝑖 = 0 0 ; 𝑆1 (i = [1 0]); 𝑆2 (𝑖 = [0 1]); 𝑆3 (𝑖 = [1 1]).
[a] Transição de um estado (𝑆2) para outro (𝑆0)
[b] 2𝑘 = 21 ramos saindo
de cada estado
[c] Sinal de entrada (k bits) [d] Sinal de
saída (n bits)
Codificador:
U V(2)
V(1)
V(3)
𝑆0
𝑆2 𝑆1
𝑆3
0/000
0/111
1/001
1/110
Diagrama de estado:
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.
Estudo: • Número de bits de entrada:
𝑘 = 1
• Número de bits de saída: 𝑛 = 2
• Memória total do codificador: 𝐾 = 𝑚 = 3
• Estados possíveis 2𝐾 = 8:
• Número de ramos saindo de cada estado:
2𝑘 = 21, ou 1 ou 0
Codificador:
U
V(1)
V(2)
Codificação Convolucional – Diagrama de estado (n,k,m)=(2,1,3)
000 100
001 101
010 110
011 111
• Estados:
bo b1 b2 i Estado
0 0 0 0 𝑆0
0 0 1 4 𝑆4
0 1 0 2 𝑆2
0 1 1 6 𝑆6
1 0 0 1 𝑆1
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)
𝑆0 𝑆2
𝑆1
𝑆4
𝑆5 𝑆7
𝑆3
𝑆6
1/10
0/00
1/10 0/10 0/00 1/00
1/00
0/10
• O diagrama de estados pode ser expandido no tempo para representar cada unidade temporal em um diagrama separado:
Codificação Convolucional – Diagrama de treliça
110 110 110
𝑆0
𝑆1
𝑆2
𝑆3
0 1 2 3 4 5 ... t
000 000 000 000 000
Caminhos tracejados
representam sinal de
entrada igual a 0
Outros caminhos
representam sinal de
entrada igual a 1
• É 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:
Codificação Convolucional – Decodificação
10 10 10
𝑆0
𝑆1
𝑆2
𝑆3
0 1 2 3 4 5 ... t
00 00 00 00 00
• A sequencia de entrada é: 𝑼 = 1 1 0 1 1
• 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
𝑆0 = 00
𝑆1 = 10
𝑆2 = 01
𝑆3 = 11
0 1 2 3 4 5 ... t 6
• Estado inicial:
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
0 1 2 3 4 5 ... t 6
𝑆0 = 00
𝑆1 = 10
𝑆2 = 01
𝑆3 = 11
00 - 2
Bit de saída do
codificador
Métrica
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
0 1 2 3 4 5 ... t 6
𝑆0 = 00
𝑆1 = 10
𝑆2 = 01
𝑆3 = 11
3 00 - 1
3
2
0
Métrica total do caminho (Cumulativa):
00 - 2
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 – 01 → 10 Saída: 00 Métrica: 1 – 11 → 01 Saída: 01 Métrica: 0 – 11 → 11 Saída: 10 Métrica: 2
0 1 2 3 4 5 ... t 6
𝑆0 = 00
𝑆1 = 10
𝑆2 = 01
𝑆3 = 11
3 4
00 - 1
3 4
0 5
2 3
Métrica total do caminho (Cumulativa):
00 - 2 00 - 1
10 - 2
Caminho superior
Caminho inferior
Números sublinhados indicam as menores métricas
até o estado
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 – 01 → 10 Saída: 00 Métrica: 1 – 11 → 01 Saída: 01 Métrica: 0 – 11 → 11 Saída: 10 Métrica: 2
0 1 2 3 4 5 ... t 6
𝑆0 = 00
𝑆1 = 10
𝑆2 = 01
𝑆3 = 11
3
3
0
2
Métrica total do caminho (Cumulativa):
10 - 2
Caminhos que não foram eliminados são chamados de
caminhos sobreviventes
Como só existe um caminho entre 𝑡 = 0 e 𝑡 = 1, o
decodificador pode decidir pela
transição 00 → 10. Assim, o primeiro bit é decodificado
(o bit que codificado gera 11)
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 – 01 → 10 Saída: 00 Métrica: 1 – 11 → 01 Saída: 01 Métrica: 2 – 11 → 11 Saída: 10 Métrica: 0
0 1 2 3 4 5 ... t 6
𝑆0 = 00
𝑆1 = 10
𝑆2 = 01
𝑆3 = 11
1 4
1 4
4 3
2 5
Métrica total do caminho (Cumulativa):
10 - 0
00 - 1
10 - 2
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 – 01 → 10 Saída: 00 Métrica: 1 – 11 → 01 Saída: 01 Métrica: 2 – 11 → 11 Saída: 10 Métrica: 0
0 1 2 3 4 5 ... t 6
𝑆0 = 00
𝑆1 = 10
𝑆2 = 01
𝑆3 = 11
1
1
3
2
Métrica total do caminho (Cumulativa):
10 - 0 10 - 2
Notar que o segundo bit
não pode ser decodificado,
pois ainda existem 2 caminhos
entre 𝑡 = 1 e 𝑡 = 2
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 – 01 → 10 Saída: 00 Métrica: 1 – 11 → 01 Saída: 01 Métrica: 0 – 11 → 11 Saída: 10 Métrica: 2
0 1 2 3 4 5 ... t 6
𝑆0 = 00
𝑆1 = 10
𝑆2 = 01
𝑆3 = 11
4 2
4 2
2 3
4 1
Métrica total do caminho (Cumulativa):
10 - 2 10 - 2 10 - 0
00 - 1
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 – 01 → 10 Saída: 00 Métrica: 1 – 11 → 01 Saída: 01 Métrica: 0 – 11 → 11 Saída: 10 Métrica: 2
0 1 2 3 4 5 ... t 6
𝑆0 = 00
𝑆1 = 10
𝑆2 = 01
𝑆3 = 11
2
2
2
1
Métrica total do caminho (Cumulativa):
10 - 2 10 - 0
00 - 1
Agora sim, o segundo bit
pôde ser decodificado