Técnicas de Compressão de Dados

Hoje em dia, cada vez mais se torna importante buscar informação ou aceder a “coisas” rapidamente e com a melhor qualidade de sempre. No dia a dia ouvesse falar de ficheiros Mp3, DivX, Rmvb e entre muitos outros. Estes exemplos de ficheiros comprimidos que dependendo dos parâmetros e técnicas de compressão utilizadas apresentam melhor ou pior relação espaço/qualidade. Esta compressão de dados permite:
            Reduzir o espaço ocupado pelos ficheiros em disco;
            Reduzir o tempo de transferência de ficheiros;
Existem três técnicas de comprenssão de dados, que são as seguintes:

Compressão com perdas:
A compressão com perdas tira partido da redundante e da irrelevância. Na descompressão não é possivel recuperar o que foi eliminado durante a comprenssão. Esta compressão com perdas é usada para ficheiros multimédia, por exemplo, vídeo (MPEG), música (Mp3) e imagem (JPEG). No caso particular dos ficheros Mp3 é possível obter um ficheiro com a mesma qualidade que o ficheiro original com apenas 1/10 do tamanho.
Quando falamos de comprenssão de vídeo, eliminar a redundância é a palavra-chave. Sabendo que um vídeo é composto por imagens seguidas mantendo a informação que não mudou de uma para a outra codificando apenas apenas os pixéis relativos à mudança.
Esta comprenssão é uma das técnicas mais utlizadas para comprimir ficheiros multimédia.

Compressão sem perdas:
A compressão sem perdas tira partido apenas da redundância (informação a mais da qual se pode prescindir sem que existem perdas). Este processo é utilizado para compressão de texto e em aplicações onde a informação seja muito importante. OS ficheiros associados a este tipo de compressão são o zip, rar, arj entre outros. Neste processo aplicasse algoritmo sem perdas que irá analisar o texto e verificar as redundâncias. O significado de redundância é a frequência com que uma determinada palavra por símbolos que irão permitir ocupar um espaço menor em disco. O processo pode ser invertido através de correspondência entre símbolos e palavras na descompressão.

Técnicas de Deteção de Erros

Verificação de paridade:
Esta técnica é a mais utilizado para detectar erros. Diz-se que a sequencia é um bit de pariade quando a sequência tiver um numero par de 1´s, mas se tiver um numero ímpar de 1´s a menssagem está incorrecta.
Exemplos:
11001100- A menssagem está correcta.
10101011- A menssagem está incorrecta.

Checksums:
Esta técnica serve mais para detectar erros na internet. Esta verificação é ao nível de transporte de menssagens e baiseia-se na soma do conteúdo do segmento que é colocado numa posição da trama UDP, no lado do emissor. No recptor há lugar novamente á soma do segmento. Se da soma de checksums resultarem apenas de 1´s, podemos inferir que não houve erro na transmissão, caso contrário, existiu erro na transmissão. Esses erros são assinalados nas posições que da soma de checksums resultem zeros. Os erros podem ocorrer no segmento ou no própio código detector de erros.

CRC- Cyclic Redundancy Check:
Esta técnica é mais eficiente que as anteriores. Ela também e chamada por detecção polinomial. Este método consiste em adicionar um conjunto de bits à menssagem original a transmitir.

O que vimos anteriormente diz respeito ao emissor. Mas como é que o recptor verifica se houve erros na trasmissão? Para isso e necessário que no receptor esta menssagem, agora já com CRC, seja novamente dividida por uma chave da codificação. SE o resto dor zero, diz-se que não houve erro e o contrário se o resto for diferente de zero.
Correcção de erros:
Anteriormente identificámos formas de detectar os erros. Porém, esses erros apenas eram detectados e não corrigidos. Geralmente quando um erro é encontrado toda a informação terá de ser retransmitida.

Conversão de números binários em decimais

Essa conversão será feita da direita para a esquerda, isto é, determina-se primeiro o ultimo algarismo da direita (o que vai ser multiplicado por 20), em seguida o segundo algarismo (o que vai ser multiplicado por 21) e assim por diante.
Por exemplo, o número 23(10) é representado pela sequência de dígitos binários 10111(2)
23(10) = 16 + 0 + 4 + 2 + 1 = 1×24 + 0x23 + 1×22 + 1×21 + 1×20  = 10111(2)
10111(2)  = 1×24 + 0x23 + 1×22 + 1×21 + 1×20  = 16 + 0 + 4 + 2 +1 = 23(10)
Os números com parte fracionária, da mesma forma, podem ser representados, usando-se potências negativas de dois. Assim, o número binário 101, 101(2) significa:
1×22 + 0x21 + 1×20 + 1×2-1 +0x2-2 + 1×2-3 = 5, 625
Exemplo:

Soma de Binários

O sistema binário é uma representação numérica de base dois, em que toda quantidade é representada somente por dois símbolos, ou dois números, sendo eles 0(zero) e 1(um). Quase todos os computadores digitais utilizam a numeração binária como forma de leitura de comandos, devido a este fator o sistema de numeração se tornou muito importante. Em computação a abordagem é simples: 0 (zero), significa ausência de energia ; 1(um), significa energia. A base utilizada por nós, seres humanos é a base 10, de forma que as quantidades numéricas são representadas por 10 dígitos, qualquer valor representado na base 10, pode ser transformado em um valor na base 2, sendo a única diferença no valor é seu número de dígitos que será aumentado. Um dos problemas na interpretação desses números pelos computadores é a diferenciação entre números positivos e negativos e as consequências que tais dificuldades de sinalização trariam para as operações matemáticas (soma,subtração,divisão,multiplicação), seriam críticas logo para resolver os problemas foram criadas algumas abordagens para a diferenciação entre os números (positivos e negativos), como sinal e magnitude, complemento de 1 e complemento de 2.

Adição

Regras básicas para adição de binários:

  1. 0 + 0 = 0
  2. 0 + 1 = 1
  3. 1 + 0 = 1
  4. 1 + 1 = 10

Checksum

Checksum ou soma de verificação é uma codificação usado para verificar a integridade de dados transmitidos através de um canal com ruídos ou armazenados.

Isto é feito a partir da soma de verificação dos dados antes do envio ou do armazenamento deles, e calculá-los ao recebê-los ou recuperá-los do armazenamento. Se o valor obtido é o mesmo, as informações não sofreram alterações e portanto não estão corrompidas.

Técnicas de correção e detecção de erros em transmissões digitais-Verificação de caridade

Método de paridade

O método de paridade é o mais utilizado na detecção de erros.

Este método não tem segredo algum, é fácil de entender ,consiste em ser adicionado, pelo transmissor, um bit de redundância (bit de paridade) após ou antes da sequência de bits que pertence à mensagem. Esse bit adicionado segue a seguinte regra:

  • caso apareça o bit “1” número impar de vezes é adicionado 1, exemplo: 0100101 paridade = 1;
  • caso apareça o bit “1” número par de vezes é adicionado 0, exemplo: 01001010010100, paridade = 0;

Vamos aqui dar um exemplo que dê certo. O caractere H na mensagem “Hello world” é dado em bits por: 100001. Em seguida, o bit de paridade é calculado e depois enviado: 100001x, ou seja, existem dois bit “1” então seu bit de paridade é par, adicionando bit de paridade “0”, sendo enviado: 10000010. No receptor, esse calcula a paridade da mensagem enviada com o bit de paridade x adicionado, observa que x = paridade então determina mensagem correta.

Em caso de erro, vamos citar um exemplo. Há o envio do bit “00101”, sendo primeiro “0” como o bit de paridade, porém o receptor recebe o seguinte código: “00001”, ou seja, o circuito de verificação de paridade percebe que há apenas um único “1”, isto é impar, então é detectado o erro

Glossário

Internet-A Internet é uma rede mundial que interliga milhões de computadores em todo o mundo.

Ethernet-Ethernet é uma tecnologia de interconexão para redes locais- Rede de Área Local – baseada no envio de pacotes.

Intranet-É uma rede de computadores privada que assenta sobre a suite de potrocolos da Internet, porém, de uso exclusivo de um determinado local, como, por exemplo, a rede de uma empresa, que só pode ser acessada por seus usuários internos.

Clock-Em eletrónica e especialmente em circuitos digitais, o clock é um sinal usado para coordenar as ações de dois ou mais circuitos eletrónicos. Um sinal de clock  varia entre os estados alto e baixo.

Técnicas de Codificação:Manchester;Manchester normal e Manchester Diferencial

Manchester

Este código de linha, à semelhança do RZ, também apresenta um Duty Cicle de 50%. Logo necessita do dobro da largura de banda em relação ao código NRZ.
Existem 2 tipos de codificações Manchester.

1-Manchester Normal

Os limites da onda deste tipo de codificação estão entre 1 e -1. Neste código de linha, as decisões são sempre tomadas a meio de cada bit. Assim as transições entre 0->1 e 1->0 ocupam a largura de um bit desde o meio do bit anterior até ao meio do bit seguinte. As restantes transições, 0->0 e 1->1, ocupam apenas meio bit. É usado em Ethernet.

2-Manchester Diferencial

Os limites da onda neste tipo de codificação estão entre -1 e 1. À semelhança do anterior, as decisões são sempre tomadas a meio de cada bit. A diferença aqui reside nas transições entre bits serem codificadas de forma diferente do anterior. Assim, as transições entre 0->1 e 1->1 ocupam a largura de um bit desde o meio do bit anterior até ao meio do bit seguinte. As restantes transições, 0->0 e 1->0, ocupam apenas meio bit. É utilizado em Token Ring.

Técnicas de Codificação:NRZ unipolar , NRZ bipolar e RZ

NRZ:
O código de linha Non Return Zero indica que o sinal não necessita  obrigatoriamente de ir a zero entre transições de bit, isto significa que tem o Day Cycle de 100%. Nesta codificação existem três tipos:
   NRZ UnipolarEsta técnica de codificação é a maís simples. Os limites da onda estão sempre entre 0 e 1 e tomam o valor de 1 quando o bit é 1 e quando o bit a codificar é 0 toma o valor de 0. Esta tecnica é utilizado para gravação digital em suportos magnécticos.
NRZ PolarEsta técnica de codoficação apresenta as mesmas vantagens e desvantagens do NRZ Unipolar. Os limites da onda nesta codificação e -1 e 1. O valor 1 quando o bit a codificar é 1 e o valor -1 quando o bot a codificar é 0.
NRZ Bipolar:Técnica de codificação resolve o problema relativo à componente DC mas sofre igualmente a perda de sincronismo com facilidade. Os limites da onda nese tipo de codificação entre -1, 0, 1. Toma o valor 0 quando o bit a codificar é 0 e toma o valor 1 e -1 alternadamente quando o bir a codificar é 1.

NRZ Unipolar:

NRZ Polar:

NRZ Bipolar:

Vantagens da transmição de sinais:Analógico e Digital

-Vantagens do sinal Analógico:

-Uma das principais vantagens do sinal analógico é que têm poder de definir quantidade infinita de dados.

-Densidade dos sinais analógicos é muito mais elevada, em comparação com os digitais.

-Os sinais analógicos têm fácil processamento.

-Vantagens do sinal Digital:

-Devido à sua natureza digital que pode viajar mais rápido em mais de linhas digitais.

-Capacidade de transferência de dados mais em relação ao análogico.