Escolar Documentos
Profissional Documentos
Cultura Documentos
Araújo Ernesto
Nampula
2022
Araújo Ernesto
Docente:
Eng. Diamantino Amisse
Nampula
2022
I
Índice
Introdução ....................................................................................................................................... 1
Objetivos ..................................................................................................................................... 2
Conclusão........................................................................................................................................ 8
II
Introdução
A transmissão digital é uma tecnologia que tem sido amplamente utilizada em diversas aplicações,
como comunicações de dados, televisão digital, telefonia celular e internet, entre outras. No
entanto, a transmissão de dados digitais não é imune a erros, e esses erros podem ser causados por
diversos fatores, como interferência eletromagnética, ruído térmico, atenuação do sinal, entre
outros.
Para minimizar o impacto desses erros na transmissão de dados digitais, foram desenvolvidos
diversos códigos de correção de erros, e um dos mais utilizados são os códigos de blocos. Os
códigos de blocos são códigos lineares que codificam um bloco de bits em outro bloco de bits com
um tamanho maior, adicionando bits de redundância que permitem detectar e corrigir erros na
transmissão.
Além disso, será exemplificado com a resolução de um problema que utiliza código de blocos,
mostrando como esses códigos são utilizados para detecção e correção de erros na transmissão
digital. Com este trabalho, espera-se proporcionar uma melhor compreensão dos códigos de blocos
e sua importância na transmissão digital, além de demonstrar a aplicação prática desses códigos
na análise de erros.
1
Objetivos
Objetivo Geral
Apresentar uma análise detalhada sobre os códigos de blocos e sua aplicação na transmissão
digital, destacando a importância da detecção e correção de erros na transmissão de dados.
Objetivos Específicos
Discutir os conceitos fundamentais na análise de erros em códigos de blocos, incluindo a
matriz de paridade, matriz geradora, matriz de verificação de paridade e a ortogonalidade
de vetores.
Exemplificar a aplicação prática dos códigos de blocos na detecção e correção de erros na
transmissão digital.
2
1. Códigos de Blocos
De acordo com Haykin & Moher (2008: 431) ‘Um código de bloco é uma coleção de blocos
binários chamados de palavras de código, todos de mesmo tamanho’. Os códigos de blocos são
usados em várias aplicações, como comunicação de dados, armazenamento de dados em
dispositivos de memória e transmissão de informações digitais através de canais ruidosos.
A notação utilizada para descrever um código de bloco é (n, k), onde "n" representa o tamanho do
bloco codificado e "k" representa o tamanho do bloco original não codificado. A taxa de
codificação de um código de bloco é definida como a razão entre o tamanho do bloco original e o
𝑘
tamanho do bloco codificado, ou seja: 𝑟 = 𝑛. Essa taxa é medida em bits por símbolo.
Haykin & Moher (2008: 432) definem o peso de Hamming de um bloco binário como ‘o número
de 1s do bloco’. Para um bloco binário A, representa-se o peso de Hamming de A por w(A). Por
exemplo, o peso de Hamming de [1 0 0 1] é dois.
Já a distância de Hamming entre dois blocos binários é o número de lugares nos quais eles
diferem’. Como a expressão A ⊕ B possui 1 em cada posição na qual A e B diferem e zeros em
todos os outros locais, a distância de Hamming d(A, B) pode ser expressa como:
𝑑 (𝐴, 𝐵) = 𝑤 (𝐴 ⊕ 𝐵)
No contexto de códigos de bloco, a matriz de paridade é uma matriz usada para detectar erros em
um vetor de codificação. Lin & Costello (2004: 24) definem a matriz de paridade como ‘uma
matriz de dimensões (n-k) x n cujas colunas são os vetores de paridade’.
1 0 0
𝐺 = [0 1 0]
0 0 1
3
1.3. Matriz Geradora
A matriz geradora é um conceito fundamental em códigos de bloco. Lin & Costello (2004: 25)
definem a matriz geradora como ‘uma matriz (k x n) cujas linhas são vetores geradores que é usada
para gerar os vetores de codificação de um código de bloco linear’.
𝐺 = [𝑃𝑘𝑥(𝑛∙𝑘) ⋮ 𝐼𝑘𝑥𝑘 ]
Os vetores de codificação de um código linear podem ser gerados a partir dos vetores geradores
multiplicando-se um vetor de mensagem por uma matriz geradora.
𝐶𝑗 = 𝑚𝑗 ∙ 𝐺
Para Haykin & Moher (2008: 434) considerando primeiro o código de Hamming (7,4) e seja mj =
[m1, m2, m3, m4] a representação dos quatro bits de informação, para codificar estes bits, define-
se a matriz geradora k por n do código de Hamming (7,4) dada por:
Observa-se que as quatro primeiras colunas de G são a matriz identidade e mapeiam os bits de
informação neles mesmos. As três últimas colunas de G formam as equações de verificação de
paridade do código. Cada código de bloco possui sua própria e única matriz geradora, apesar de
matrizes geradoras diferentes produzirem códigos com propriedades equivalentes.
4
são os vetores de paridade, é usada para verificar se um vetor de codificação recebido contém
erros’. Para verificar se um vetor de codificação recebido contém erros, calcula-se o produto
interno desse vetor com a matriz de verificação de paridade.
𝐻 = [𝐼(𝑛−𝑘)∙(𝑛−𝑘) ⋮ 𝑃𝑇 ]
Se o produto interno for igual a zero, significa que o vetor de codificação recebido não contém
erros. Se o produto interno for diferente de zero, isso indica a presença de pelo menos um erro no
vetor de codificação recebido.
Para Haykin & Moher (2008: 435) ‘uma estratégia de decodificação computacional é, portanto,
uma alternativa preferível ao invés do decodificador de lista’. Para isto, para o código de Hamming
(7, 4), pode-se definir a matriz de verificação (n – k) por n, H:
A porção 3 × 3 inferior de H forma uma matriz unitária e a parte acima da matriz unitária é a porção
direita da matriz geradora. Logo, as colunas da matriz de verificação H formam os coeficientes das
equações de paridade que as palavras do código de Hamming devem satisfazer. Para um código
linear (n, k), as colunas da matriz H descrevem (n – k) equações independentes pelas quais os (n –
k) bits de paridade são calculados.
5
que os vetores de paridade sejam independentes dos vetores de informação. Os vetores de paridade
são escolhidos de forma que sejam ortogonais a todos os vetores de informação.
𝑜𝑟𝑡𝑜𝑔𝑜𝑛𝑎𝑙𝑖𝑑𝑎𝑑𝑒 = 𝐶 ∙ 𝐻 𝑇
1 0 0
𝑄 = [1 0 1]
0 1 1
1 0 0 1 0 0
𝑃 = 𝑄 = [1 0 1] 𝐼 = [0 1 0]
0 1 1 0 0 1
𝐺 = [𝑃𝑘𝑥(𝑛∙𝑘) ⋮ 𝐼𝑘𝑥𝑘 ]
1 0 0 1 0 0
𝐺 = [1 0 1 0 1 0 ]
0 1 1 0 0 1
𝐻 = [𝐼(𝑛−𝑘)∗(𝑛−𝑘) ⋮ 𝑃𝑇 ]
1 0 0 1 1 0
𝑃 = [1 0 1 ] 𝑃 𝑇 = [0 0 1]
0 1 1 0 1 1
1 0 0 1 1 0
c) 𝐻 = [0 1 0 0 0 1]
0 0 1 0 1 1
d) Diga se a palavra de código 110 pertence ao conjunto de mensagens transmitidas.
Fundamente a sua resposta.
6
𝐶 ∙ 𝐻𝑇 = ?
𝐶 =𝑚∗𝐺
1 0 0 1 0 0
𝐶 = 110 ∙ [1 0 1 0 1 0]
0 1 1 0 0 1
𝐶 = 100100 + 101010
𝐶 = 001110
1 0 0
0 1 0
𝐻𝑇 = 0 0 1
1 0 0
1 0 1
[0 1 1]
1 0 0
0 1 0
𝐶 ∙ 𝐻 𝑇 = 001110 ∙ 0 0 1
1 0 0
1 0 1
[0 1 1]
𝐶 ∙ 𝐻 𝑇 = 101 + 101
𝐶 ∙ 𝐻 𝑇 = 000
7
Conclusão
Ao longo deste trabalho, foi possível compreender a importância dos códigos de blocos na
transmissão digital e como eles podem melhorar a confiabilidade e integridade dos dados
transmitidos. Além disso, foram discutidos conceitos fundamentais na análise de erros em códigos
de blocos, como a matriz de paridade, matriz geradora, matriz de verificação de paridade e a
ortogonalidade de vetores.
Através da resolução de um problema prático que utiliza código de blocos, foi possível ilustrar de
forma concreta como esses códigos são aplicados na detecção e correção de erros na transmissão
digital.
Conclui-se, portanto, que os códigos de blocos são uma ferramenta essencial na transmissão digital
e que seu uso pode garantir uma maior confiabilidade e integridade dos dados transmitidos. O
estudo dos conceitos fundamentais na análise de erros em códigos de blocos pode contribuir para
a compreensão de como esses códigos funcionam e como eles podem ser implementados em
diferentes aplicações.
Por fim, é importante ressaltar que a evolução tecnológica continua a demandar uma maior
confiabilidade e integridade na transmissão digital, o que faz com que o uso de códigos de blocos
se torne cada vez mais relevante e necessário. Por isso, o estudo desses códigos deve continuar
sendo aprimorado e desenvolvido para atender às necessidades das aplicações futuras.
8
Referências Bibliográficas
Haykin, Simon. & Moher Michael (2008). Introdução aos sistemas de comunicação. 2. ed. Porto
Alegre: Bookman.
Lin, S., & Costello Jr, D. J. (2004). Error Control Coding: Fundamentals and Applications.
Pearson Education.