XXIII Curso de Especialização em Teleinformática e Redes de Computadores

Documentos relacionados
COM29008 LISTA DE EXERCÍCIOS #

TRANSMISSÃO DE DADOS PROTEGIDOS POR CÓDIGOS CORRETORES DE ERRO

Princípios de Comunicação: Simulação /2

ELE32 Introdução a Comunicações Codificação de Canal. ITA 2º. Semestre de 2017

Estudo sobre decodificação iterativa usando códigos de treliça

Códigos de bloco. Luis Henrique Assumpção Lolis. 1 de novembro de Luis Henrique Assumpção Lolis Códigos de bloco 1

EET-61 Introdução a Teoria da Informação

Aula 3- Codificação de Canal. October 18, 2017

Universidade de Pernambuco Escola Politécnica de Pernambuco

Códigos de blocos lineares. Outubro de 2017

Simulação MATLAB - Transmissão PCM em Banda Base e Diagrama de Olho. Testar o efeito de filtros sem ISI no espectro e na curva BERXE b /N 0.

UFSM-CTISM. Comunicação de Dados Aula-17

Códigos Corretores de Erro Aplicados a Redes de Sensores sem Fio

III-1 Códigos detectores e correctores de erros

Fundamentos de Telecomunicações

PTC TEORIA DAS COMUNICAÇÕES II - 25/08/ PJEJ EXERCÍCIOS RESOLVIDOS

II-6 Análise de Ruído e Capacidade de Canal

COMUNICAÇÃO DIGITAL 1. INTRODUÇÃO PROF. MARCIO EISENCRAFT

Universidade Federal de Pernambuco. Centro de Informática. Graduação em Ciência da Computação

II-6 Análise de ruído e capacidade de canal

INF003 Seminários de Pesquisa Modelagem de Redes Ópticas CDMA (OCDMA) Coerentes

Modulações de Espectro Espalhado

ELE32 Introdução a Comunicações Codificação de Canal Códigos cíclicos. ITA 2º. Semestre de 2017

Fundamentos de Telecomunicações

UNIVERSIDADE FEDERAL DO CEARÁ CENTRO DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA DE TELEINFORMÁTICA MONOGRAFIA EM ENGENHARIA DE TELEINFORMÁTICA

5 Descrição da ferramenta de simulação

Redes de Computadores (11558)

Detecção e correcção de erros

Organização e Arquitetura de Computadores I

Redes de Telecomunicações (11382)

1 O esquema de Alamouti: Diversidade na transmissão

Códigos de controle de erros: introdução

Comunicações Digitais Prof. André Noll Barreto Prova /2 (28/11/2013)

UNIDADE II Aula 2 Modulação parte 6. Fonte: Irene Silva Farias e Edmar José do Nascimento

III-1 Códigos detetores e corretores de erros

III-1 Códigos detetores e corretores de erros

Códigos cíclicos - Parte 2

III-1 Códigos detetores e corretores de erros

Acrescenta um bit 1 ou um bit 0 às mensagem para que o número total de bits 1 seja par

Códigos de bloco. Instituto Federal de Santa Catarina Curso superior de tecnologia em sistemas de telecomunicação Comunicações móveis 2

Códigos convolucionais

Transmissão de impulsos em banda-base

TP537 Transmissão Digital 1ª Avaliação 27/10/ :00h Prof. Dayan Adionel Guimarães. Aluno(a):

4 Transmissão Através de Canal Ruidoso

ALGORITMOS DE DECODIFICAÇÃO POR DECISÃO SUAVE APLICADOS A CÓDIGOS BCH

Códigos de Permutação para Compressão de Dados e Modulação 13. Codificador de fonte. Decodificador. Figura 1.1: Modelo de um sistema de comunicações.

Trabalho n o 2 Códigos de Linha

XIX Encontro de Iniciação à Pesquisa Universidade de Fortaleza 21 à 25 de Outubro de 2013

Teoria das Comunicações

GABARITO DA OITAVA LISTA DE EXERCÍCIOS DE PTC TEORIA DA INFORMAÇÃO E CODIFICAÇÃO

Descodificação iterativa

TE111 Comunicação Digital. Quais os Benefícios da Codificação de Canal? Evelio M. G. Fernández. 15 de outubro de 2018

Introdução aos Sistemas de Comunicações

Introdução à Computação

Sistemas de Telecomunicações 1

Estudo e Implementação Computacional de um Sistema de Comunicação Digital

1 Técnicas de Seleção de Antenas Transmissoras

Redes de Computadores

Aula 07 Propriedades da resposta ao impulso

PCS Sistemas Digitais I. Códigos para Detecção e Correção de Erros. Prof. Dr. Marcos A. Simplicio Jr. versão: 3.0 (Jan/2016)

Modulações Digitais Binárias

Transmissão em Banda de Base

EEC4164 Telecomunicações 2

Técnica de decodificação bidimensional usando algoritmo Belief Propagation

Conceito de Comunicação Digital: Transmissão de informação em forma digital a partir de uma fonte geradora da informação até um ou mais destinatários.

COMUNICAÇÃO DIGITAL II

Comunicações Digitais

Problemas de Fundamentos de Telecomunicações 1ª Parte: Codificação de Fonte e Codificação de Canal

Mensagem descodificada. Mensagem recebida. c + e

Códigos Corretores de Erros e Cliques de Grafos

5 Testes em Imagens. Figura 5.1: Esquema de proteção com detecção de erros LT Hamming. Imagem. Cod-Hamming SPIHT. Cod-LT. Canal.

Telecomunicações 2 LEEC / FEUP. Trabalho n o 5. 1 Objectivos 1. 2 Preliminares teóricos. 3.3 Estimativa das probabilidades de erro em 8-PSK...

X(t) = A cos(2πf c t + Θ)

Códigos de Detecção de Erros 2ª. parte. Prof. Ricardo de O. Duarte DECOM - UFOP

Curso de Especialização em Teleinformática e Redes de Computadores Departamento Acadêmico de Eletrônica Universidade Tecnológica do Paraná

Erros e Protocolos de Recuperação Códigos detectores e correctores de erros.

consideradas as características favoráveis e desfavoráveis do padrão e da ferramenta, bem como sugeridas possíveis melhorias.

Teoria da Informação

MAS 160/510 Conjunto de Problema Nove

TE-060 PRINCÍPIOS DE COMUNICAÇÃO Prof. Evelio M. G. Fernández LISTA DE EXERCÍCIOS N 3

Uma abordagem educacional para o estudo de OFDM

Parte I. Modelos, Desempenhos e. Digital

Modulação Digital em Banda Passante

CODIFICAÇÃO PARA CONTROLO DE ERROS

ÍNDICE LISTA DE FIGURAS LISTA DE TABELAS PREFÁCIO AGRADECIMENTOS

Organização e Arquitetura de Computadores I

Modulação por Pulsos

3 Arquitetura Conceitual do Codec Open DVC

Apresentação... 1 Introdução... 1

BC-0504 Natureza da Informação

SUMÁRIO FUNDAMENTOS E VISÃO GERAL 19 CAPÍTULO 1 PROCESSOS ALEATÓRIOS 49

Camada de Enlace de Dados

Teoria da Informação ( ) Exame de Recurso ( ) Resolução. (1 p), (1 p), p = H(0,4;0,4;0,2) = 1,522

TÉCNICAS DE CODIFICAÇÃO DE SINAIS

IMPLEMENTAÇÃO EM HARDWARE DE UM CÓDIGO DE HAMMING (72,64)

Códigos de detecção e correção de erro

Detecção e Correção de Erros. 13/07/16 Departamento de Ciência da Computação

Noções de Exatidão, Precisão e Resolução

Forecasting e ti O i Otim Oti ização de ã d Carteiras com Matlab AULA 3

Introdução às Comunicações Digitais

Transcrição:

XXIII Curso de Especialização em Teleinformática e Redes de Computadores www.teleinfo.ct.utfpr.edu.br Linguagem C e MATLAB Simulação de sistemas de comunicação digital abr-mai/2013 Prof. Gustavo B. Borba 1

Simulação de sistemas de comunicação digital Implementar em MATLAB a simulação dos seguintes sistemas de comunicação digital: Sistema 1 (sem codificação): Fonte binária equiprovável. Mensagens de 4 bits. Modulação binária antipodal (bipolar). Canal AWGN (additive white Gaussian noise). Demodulação por decisão abrupta. Sistema 2 (com codificação): Fonte binária equiprovável. Mensagens de 4 bits. Codificação: código de bloco linear [LBC] C(7,4) [Hamming]. Modulação binária antipodal (bipolar). Canal AWGN (additive white Gaussian noise). Demodulação por decisão abrupta. Decodificação: por síndrome. 2

Objetivos Avaliação de desempenho: Curva da taxa de erro de bit (BER) em função da relação sinal ruído (SNR em db). Para o sistema 1 e sistema 2: Implementar um script Matlab que recebe como parâmetro uma SNR em db máxima (SNRdbMax), calcula a BER(k) para as SNRs em db (SNRdb) de 0 até SNRdbMax com passo igual a 1 e, finalmente, plota a curva BER x SNR [db]. Plotar as duas curvas no mesmo gráfico e comparar o desempenho dos sitemas. 3

Curva BER x SNR [db] típica: BER = número de bits errados recebidos número total de bits transmitidos Interpretação: Uma BER de 10-4, por exemplo, indica que em 10.000 bits transmitidos, 1 bit poderá ser recebido errado. 4

Sistema 1: Diagrama em blocos e implementação 5

Sistema 1: Diagrama em blocos e implementação A simulação consite em calcular a BER(k) para diferentes SNRdb(k), onde k = 0,1,2,...,SNRdbMax. Com isso é possível plotar a curva BER x SNR[db]. Para cada SNRdb(k), o critério de parada é um número de erros limite (nelim). 6

Sistema 1: Código MATLAB Script (criar arquivo sim_sistema1.m): % sim_sistema1 [script] %-------------------------------------------------------------- USUÁRIO SNRdbMax = 8; %SNR[db] máxima a ser simulada nelim = 300; %número de erros limite para parar cálculo de cada BER %---------------------------------------------------------------------- SNRdb = 0:SNRdbMax; %SNRdb de 0 até SNRdbMax %mostra progresso e calcula BER para cada SNRdb for k=1:length(snrdb) disp(['calculando BER para SNR[dB] = ' num2str(snrdb(k))]) BER(k) = sistema1(snrdb(k), nelim); end figure %nova figura semilogy(snrdb, BER, 'r-d'); %eixo y em escala logarítmica xlabel(gca, 'SNR [db]'); %nome do eixo x ylabel(gca, 'BER'); %nome do eixo y title('desempenho do sistema'); %título 7

Sistema 1: Código MATLAB Função sistema1() (criar arquivo sistema1.m): function [ber] = sistema1(snrdb, nelim) nmsg = 0; %inicializa contador do número de mensagens ne = 0; %inicializa contador do número de erros sgma = 1/sqrt(2*10^(snrdb/10)); %variância do ruído Gaussiano %em função da snrdb while(ne < nelim) %FONTE (binária equiprovável, mensagens de 4 bits)... código nos próximos slides %MODULADOR (modulação binária antipodal)... código nos próximos slides %CANAL (AWGN)... código nos próximos slides %DEMODULADOR (demodulação por decisão abrupta)... código nos próximos slides %COMPARADOR... código nos próximos slides %CONTADOR DE ERROS... código nos próximos slides %CONTADOR DE MENSAGENS... código nos próximos slides end ber = ne/(nmsg*4); 8

Sistema 1: Código MATLAB Continuação função sistema1(): %FONTE (binária equiprovável, mensagens de 4 bits)* un = rand(1, 4); %vetor com 4 números aleatórios entre 0 e 1 %de distribuição uniforme mt = double(un > 0.5); %transforma em binário %* %Outra possibilidade: função randint() da Communication Toolbox; %m = randint(1,4,[0,1]); %MODULADOR (modulação binária antipodal) %se m = 0 -> sinal = -1 %se m = 1 -> sinal = +1 sinal = mt*2-1; %sinal (mensagem modulada) %CANAL (AWGN) %ruído Gaussiano com média 0 e variância sgma sinal = sinal + randn(1, 4)*sgma; %sinal com ruído 9

Sistema 1: Código MATLAB Continuação função sistema1(): %DEMODULADOR (demodulação por decisão abrupta) %se sinal(i) positivo -> mr(i) = 1 %se sinal(i) negativo -> mr(i) = 0 mr = double(sinal > 0); %COMPARADOR pe = bitxor(mt, mr); %vetor 4 posicoes; 1 significa erro %naquela posição de mr %CONTADOR DE ERROS ne = ne + sum(pe); %acumula o número de erros %CONTADOR DE MENSAGENS nmsg = nmsg + 1; %acumula o número de mensagens 10

Sistema 1: Resultado 11

Sistema 2: Diagrama em blocos Sistema 2 (com codificação): Fonte binária equiprovável. Mensagens de 4 bits. Codificação: código de bloco linear [LBC] C(7,4) [Hamming]. Modulação binária antipodal (bipolar). Canal AWGN (additive white Gaussian noise). Demodulação por decisão abrupta. Decodificação: por síndrome. 12

Código de bloco linear Detecta e corrige erros. C(n,k) exemplo: C(7,4) (C(7,4) é um código de Hamming). C(7,4) detecta 2 erros e corrige 1 erro. C(7,4) é um código perfeito: corrige todos os padrões cheios de erro (neste caso 1 erro) e nada mais. Mapeia um bloco de k bits na entrada para uma palavra de código de n bits na saída. 13

Código de bloco linear A codificação é feita através de uma matriz geradora G. A matriz geradora tem o seguinte formato: Esta matriz geradora é sistemática à direita. Assim, as palavras codificadas possuem o seguinte formato: 14

Código de bloco linear A decodificação envolve: Passo 1. Cálculo da síndrome Passo 2. Localização do erro Passo 3. Correção do erro Para a decodificação, utiliza-se uma matriz de verificação de paridade H. A matriz de verificação de paridade tem o seguinte formato: 15

Codificação ex.: C(7,4) A matriz geradora é dada: Multiplica-se a mensagem m (palavra a ser transmitida) pela matriz geradora: 16

Codificação ex.: C(7,4) Exemplo de uma operação de multiplicação da mensagem e da matriz geradora 17

Decodificação ex.: C(7,4) Passo 1. Cálculo da síndrome A matriz de verificação de paridade H, definida por H = [I (n-k)x(n-k) P T ] é: Para obter a síndrome S, multiplica-se a palavra de código recebida r pela matriz H transposta: S = r H T A síndrome é o resultado da verificação da paridade. Podese fazer uma analogia com o cenário médico: a identificação da enfermidade (síndrome) é o resultado de um teste diagnóstico (verificação de paridade). 18

Decodificação ex.: C(7,4) Passo 2. Localização do erro Para localizar o erro é necessário consultar uma tabela, chamada de lookup table da síndrome: Não há erro Todos os padrões de erro corrigíveis. Obs.: esta é a coluna do arranjo padrão (standard array) chamada de líder de classe lateral (coset leader). A coluna síndrome S dessa tabela foi obtida multiplicando-se cada padrão de erro pela matriz H T : 19

Decodificação ex.: C(7,4) Passo 3. Correção do erro Para corrigir o erro e obter a mensagem corrigida estimada U, basta inverter o bit b da palavra de código recebida r. b é o bit indicado pelo padrão de erro e obtido na lookup table da síndrome. Para inverter apenas o bit a ser corrigido: U = r e 20

Exemplo ex.: C(7,4) 21

Sistema 2: Implementação Inserir o codificador e o decodificador. Atenção no cálculo do desvio padrão do ruído do canal. Agora há a constante Rc=k/n. Os outros blocos e o cálculo da BER(k) para diferentes SNRdb(k) são similares aos do sistema 1. Pode-se utilizar uma condição extra para a parada da simulação: while((ne < nelim) && (nmsg < 200000)) 22

Sistema 2: Código Matlab Sugestões para a continuação 1. Criar os seguintes arquivos: Para o sistema 2, mesma estrutura do sistema 1: sim_sistema2.m [script] sistema2.m [função] Para a comparação dos dois sistemas: cmp_sistemas_12.m [script] Este script chama as funções sistema1 e sistema2 e plota as duas curvas em um mesmo gráfico. 2. Usar as seguintes funções do Communication Toolbox do MATLAB: syndtable( ) encode( ) decode( ) 23