Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam...

70
Ricardo Sugayama Desenvolvimento de uma ferramenta para análise de desempenho do padrão de transmissão de TV Digital ISDB-T. Projeto Final de Graduação do curso de Engenharia Elétrica do setor de Tecnologia da Universidade Federal do Paraná, necessário para a obtenção do grau de engenheiro eletricista. Orientador: Evelio M. G. Fernández Curitiba 2009

Transcript of Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam...

Page 1: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

Ricardo Sugayama

Desenvolvimento de uma ferramenta para análise de desempenho do padrão de transmissão de TV Digital ISDB-T.

Projeto Final de Graduação do curso de Engenharia Elétrica do setor de Tecnologia da Universidade Federal do Paraná, necessário para a obtenção do grau de engenheiro eletricista. Orientador: Evelio M. G. Fernández

Curitiba

2009

Page 2: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

2

DEDICATÓRIA

Minha avó com muita paciência e dedicação me ensinou a andar com 8 meses de idade. Em um dado momento, diante de uma grande oportunidade, tive que viajar para longe, e ela não

muito conformada questionou se isso que eu iria fazer seria bom para mim. Minha mãe respondeu que sim. Minha avó então disse “se isso é bom para ele, então eu fico feliz”.

Existem pessoas que nos ensinam a andar sem interesse no lugar onde vamos chegar,

desejando apenas que cheguemos longe.

A essas pessoas, meus pais, meus irmãos, meus avós, minha família, não posso agradecer. O máximo que posso fazer é isto, dedicar-lhes este trabalho, que

representa uma das conquistas mais importantes da minha vida.

Page 3: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

3

AGRADECIMENTOS

Agradeço à Universidade Federal do Paraná, em especial aos professores do Departamento de Engenharia Elétrica.

Page 4: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

4

DEDICATÓRIA....................................................................................................................2 AGRADECIMENTOS ......................................................................................................... 3 LISTA DE FIGURAS ...........................................................................................................6 RESUMO............................................................................................................................... 7 1. INTRODUÇÃO ................................................................................................................ 8 1.1. MOTIVAÇÃO ................................................................................................................. 8 1.2. A COMUNICAÇÃO (EM ALGUMAS PALAVRAS) .................................................. 9 1.2.1. RESUMO DA HISTÓRIA ........................................................................................... 9 1.2.2. IMPORTÂNCIA ........................................................................................................ 12 1.3. TV DIGITAL ................................................................................................................. 13 1.3.1. A REVOLUÇÃO ........................................................................................................ 13 2. ESTUDO DA NORMA BRASILEIRA ........................................................................ 15 2.1. INTRODUÇÃO AO ISDB-T ........................................................................................ 15 2.2. O SISTEMA DE COMUNICAÇÃO ............................................................................. 16 2.2.1. CODIFICADOR REED SOLOMON (RS) ................................................................. 17 2.2.2. DIVISOR POR CAMADAS ...................................................................................... 19 2.2.3. DISPERSÃO DE ENERGIA ..................................................................................... 19 2.2.4. AJUSTE DO ATRASO .............................................................................................. 19 3. A FERRAMENTA.......................................................................................................... 21 3.1. O COMPROMISSO ...................................................................................................... 21 3.2. A ESTRATÉGIA DE IMPLEMENTAÇÃO ................................................................. 21 3.2.1. SIMULADOR ............................................................................................................ 21 3.2.2. PROGRAMA DE APRESENTAÇÃO DOS RESULTADOS DAS SIMULAÇÕES22 3.3. IMPLEMENTAÇÃO MATLAB ................................................................................... 22 3.3.1. ESTRUTURA ............................................................................................................. 23 3.3.2. GERAÇÃO DA INFORMAÇÃO .............................................................................. 25 3.3.3. ESTUDO E DEFINIÇÃO DO BLOCO CODIFICADOR ......................................... 26 3.3.3.2. CODIFICADOR REED SOLOMON (RS) .............................................................. 27 3.3.3.3. ENTRELAÇADOR DE BYTES ............................................................................. 27 3.3.3.4. CODIFICADOR CONVOLUCIONAL .................................................................. 27 3.3.4 MAPEAMENTO DA CONSTELAÇÃO .................................................................... 28 3.3.5. CANAL DE TRANSMISSÃO ................................................................................... 30 3.3.6. BLOCO DECODIFICADOR ..................................................................................... 32 3.3.6.1. DETECÇÃO POR MÁXIMO DE VEROSSIMILHANÇA ................................... 32 3.3.6.2. DECODIFICAÇÃO CONVOLUCIONAL ............................................................. 33 3.3.6.3. DESENTRELAÇAMENTO .................................................................................... 33 3.3.6.4. DECODIFICAÇÃO REED SOLOMON ................................................................ 34 3.3.7. CADEIA DE TRANSMISSÃO ................................................................................. 34 3.3.8. TRANSMISSÃO ........................................................................................................ 34 3.3.8.1. MENSAGEM ALEATÓRIA .................................................................................. 34 3.3.8.2. TRANSMISSÃO DE IMAGEM ............................................................................. 34

Page 5: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

5

3.4. ESTRUTURA DO PROGRAMA DE APRESENTAÇÃO DOS RESULTADOS DAS SIMULAÇÕES ..................................................................................................................... 34 4. RESULTADOS ............................................................................................................... 35 4.1. IMPLEMENTAÇÃO MATLAB ................................................................................... 35 4.2. PROGRAMA DE APRESENTAÇÃO DOS RESULTADOS DAS SIMULAÇÕES .. 43 5. CONCLUSÃO ................................................................................................................. 46 6. SUGESTÃO DE SEQUÊNCIA DO PROJETO .......................................................... 49 6.1. CANAL COM MÚLTIPLO PERCURSO .................................................................... 49 6.2. IMPLEMENTAÇÃO C ................................................................................................. 49 6.3. VALIDAÇÃO EMPÍRICA DOS RESULTADOS ....................................................... 49 6.4. INTEROPERANILIDADE COM OUTROS APLICATIVOS ..................................... 49 6.5. PESQUISA COM USUÁRIOS ..................................................................................... 50 REFERÊNCIAS ................................................................................................................. 51 DOCUMENTOS CONSULTADOS..................................................................................54 ANEXO 1.............................................................................................................................56

Page 6: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

6

LISTA DE FIGURAS FIGURA 1– DIVISÃO DO ESPECTRO EM 13 SEGMENTOS.........................................15 FIGURA 2 – O SISTEMA DE COMUNICAÇÃO ISDB-T................................................16 FIGURA 3 – ESTRUTURA GLOBAL DE CODIFICAÇÃO ISDBT.................................17 FIGURA 4 – ESTRUTURA GLOBAL DE MODULAÇÃO DO ISDB-T..........................17 FIGURA 5 – POLINÔMIO GERADOR G1 = 171 OCT E G2 = 133 OCT........................19 FIGURA 6 – PADRÃO DE SUPRESSÃO PARA DIFRENTES TAXAS DE CÓDIGO CONVOLUCIONAL............................................................................................................20 FIGURA 7 – ESTRUTURA GLOBAL DE TRANSMISSÃO.............................................23 FIGURA 8 – ESTRUTURA GLOBAL DE RECEPÇÃO....................................................23 FIGURA 9 – ESTRUTURA DE TRANSMISSÃO DETALHADA....................................25 FIGURA 10 – LENA............................................................................................................26 FIGURA 11 – BLOCO CODIFICADOR.............................................................................26 FIGURA 12 – QAM64..........................................................................................................28 FIGURA 13 – QAM16..........................................................................................................29 FIGURA 14 – QPSK.............................................................................................................30 FIGURA 15 – DQPSK..........................................................................................................30 FIGURA 16 – QAM16 + RUÍDO.........................................................................................31 FIGURA 17 – QPSK + RUÍDO............................................................................................31 FIGURA 18 – ALGORITMO DO MÁXIMO DE VEROSSIMILHANÇA........................33 FIGURA 19 – ÍNDICE DO MODULO ISDB_CodificadorTPS.m.....................................36 FIGURA 20 – EXEMPLO DE IDENTIFICAÇÃO DE INTERFACE E ORIENTAÇÃO PARA SUBSTITUIÇÃO DO BLOCO................................................................................37 FIGURA 21 – TRANSMISSÕES SUCESSIVAS DA IMAGEM LENA PARA NÍVEIS DE SINALXRUÍDO DECRESCENTES...................................................................................39 FIGURA 22 – PERFORMANCE DE TRANSMISSÃO QPSK PARA TAXAS DE CÓDIGO 1/2, 2/3, 3/4 E 5/6 RESPECTIVAMENTE..........................................................41 FIGURA 23 – PERFORMANCE DE TRANSMISSÃO QAM16 PARA TAXAS DE CÓDIGO 1/2, 2/3, 3/4 E 5/6 RESPECTIVAMENTE..........................................................42 FIGURA 24 – PERFORMANCE DE TRANSMISSÃO QAM64 PARA TAXAS DE CÓDIGO 1/2, 2/3, 3/4 E 5/6 RESPECTIVAMENTE..........................................................43 FIGURA 25 – INTERFACE GRÁFICA DO PROGRAMA................................................44 FIGURA 26 – TELA DE ENTRADA..................................................................................45 FIGURA 27 – PROPOSTA DE INTEROPERABILIDADE PARA O SIMULADOR.......50

Page 7: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

7

RESUMO

Este trabalho versa sobre o desenvolvimento de uma ferramenta de simulação

do sistema de TV DIGITAL ISDB-T. A motivação deste desenvolvimento é devido à

implantação deste padrão de TV digital no Brasil. Para isso, diversos estudos e adaptações

devem ser efetuados para adequar este sistema de transmissão a cada região brasileira,

segundo cada tipo de aplicação que esta tecnologia pode permitir. A eficiência do sistema é

baseada sobre uma combinação de varias etapas de tratamento da informação que por sua

vez possui diversas variáveis com impacto direto na qualidade final da comunicação. Esse

conjunto torna a cadeia de transmissão extremamente complexa, dificultando a visualização

final do impacto de cada variável sobre a eficiência do sistema, sabendo que este pode

sofrer ainda diversas influências do meio onde será implementado e da aplicação, ou modo

de utilização, do mesmo. Dentro deste contexto uma ferramenta capaz de simular o sistema

de transmissão, de maneira modular e com fácil acesso às diversas variáveis do sistema, se

torna de vital importância para a realização dos estudos, ajustes e desenvolvimento de

soluções para a boa adaptação da tecnologia no território brasileiro. Este trabalho mostra o

desenvolvimento desta ferramenta, que é capaz de reproduzir cada etapa importante do

sistema, de maneira a permitir aos estudiosos da comunicação digital focar esforços em

pontos específicos e verificar o resultado de pequenas ou grandes modificações dentro do

sistema como um todo.

Page 8: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

8

1. INTRODUÇÃO

1.1. MOTIVAÇÃO

A importância da comunicação dentro da sociedade é incontestável, não sendo

necessários adjetivos para descrever seu impacto na vida das pessoas. A TV dentro deste

contexto tem uma posição de destaque, seu alcance e influencia a torna no Brasil um dos

meios de comunicação mais importante para as pessoas. Esses fatores fazem com que todo

investimento no sentido de melhorar a prestação deste serviço tenha um impacto direto na

sociedade, tanto na geração de novas oportunidades, quanto na melhoria da qualidade de

vida da população. A TV Digital vem, dentro deste contexto, criar uma ruptura tecnológica

importante que adequa o serviço da televisão às expectativas e necessidades criadas nas

pessoas pelos equipamentos e tecnologias de mídia disponíveis atualmente.

Sempre que uma nova tecnologia é implantada existe uma fase determinante

para o sucesso desta aplicação, que é o período de adaptação dos operadores e usuários a

esta nova ferramenta. Para que este processo aconteça de uma forma ótima é essencial que

a tecnologia seja completamente dominada por seus implantadores, o que justifica qualquer

esforço feito no sentido de entender e dominar esta tecnologia, possibilitando assim sua

adaptação às necessidades locais.

Baseado na importância da TV e nos conceitos acima citados, este trabalho vem

tentar contribuir com o entendimento do sistema de comunicação ISDB-T (Integrated

Services Digital Broadcasting - Terrestrial), que foi escolhido como o padrão de TV Digital

Brasileiro, com o intuito de promover de maneira simples a percepção e o estudo dos

possíveis impactos que a parametrização do sistema de codificação do ISDB-T causa na

performance final deste novo sistema de comunicação.

Page 9: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

9

1.2. A COMUNICAÇÃO (EM ALGUMAS PALAVRAS)

Esta pequena introdução para falar sobre a comunicação é necessária para

mostrar que o intuito deste trabalho é baseado em uma necessidade real e importante, e que

este esforço de engenharia não nasceu do acaso, mas sim da necessidade. Este capítulo

serve também para colocar em termos técnicos conceitos importantes que serão utilizados

neste relatório.

Neste trabalho usaremos a seguinte definição para as palavras abaixo:

Informação: “expressão de uma necessidade”.

Mensagem: “entidade que transporta a informação”.

Comunicação: “processo que envolve a troca de mensagens”

De maneira geral podemos dividir um processo de comunicação da seguinte

maneira: (Necessidade) – geração da informação – processamento da informação –

transmissão – recepção – interpretação – (ação decorrente da recepção da informação).

1.2.1. RESUMO DA HISTÓRIA

Presume-se que desde o início da existência humana a comunicação entre os

homens foi um fator fundamental para sua sobrevivência e evolução.

Voltando no tempo, cerca de 400 mil anos atrás, sabemos que o Homo Erectus

não havia o centro da fala bem desenvolvido e presume-se que a primeira forma de

comunicação deveria ser uma pseudo-linguagem corporal conjuntamente com sons

próximos de “grunhidos”. A produção de uma linguagem propriamente dita provavelmente

teve inicio no período de Neandertal que, em teoria, apresenta uma evolução no hemisfério

esquerdo do cérebro, que se crê, é o responsável pela habilidade da comunicação humana.

Page 10: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

10

Porém, sabemos que apenas o Homo Sapiens veio equipado fisicamente com instrumentos

realmente adaptados para a comunicação, o que promoveu a primeira grande evolução da

linguagem e da fala. Estes “homens primitivos”, como são conhecidos nossos ancestrais,

desenvolveram uma outra grande ferramenta, uma forma de comunicação indireta, que são

as pinturas rupestres.

Acredita-se que por volta de 3000 anos A.C. a escrita foi desenvolvida na

Mesopotâmia, 2000 anos A.C surgiram as linguagens logo-silábicas na Índia e China e

finalmente, por volta de 800 anos A.C., os gregos desenvolveram a técnica de separar as

consoantes das vogais e chegaram a um alfabeto completo capaz de contemplar todos os

sons da fala humana.

Em 105 D.C. o papel foi desenvolvida na China, esta tecnologia de

comunicação foi sendo largamente utilizada e desenvolvida, vindo a ser definitivamente

difundida no mundo no século XIX, com a revolução do processo produtivo do papel, que é

a mesma utilizada nos dias de hoje.

As técnicas de transmissão da informação foram igualmente sendo

desenvolvidas e evoluídas. Na América do Sul os índios imitavam o canto dos pássaros

para enviar mensagens aos seus companheiros ocultos dentro da floresta, já na América do

Norte eles utilizavam sinais de fumaça para comunicação a longa distância e na África,

tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento

do papel foi mais utilizado, na idade média os arautos dos reis liam mensagens em praça

publica, foi criado o correio, os livros e no século XV a impressão em série, que

possibilitou a difusão em massa da informação.

Em 1837 uma grande revolução nas comunicações foi causada pela invenção do

telegrafo, equipamento muito sofisticado que utilizava a eletricidade para enviar um sinal,

inicialmente utilizando uma linguagem de comunicação conhecido como código Morse. A

revolução posterior foi a invenção do rádio, que passou a utilizar as ondas eletromagnéticas

Page 11: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

11

como modo de transmissão, passando também a enviar mensagens sonoras. O radio

também permitiu a distribuição em massa da informação com grande impacto na sociedade.

A sequência foi marcada por uma evolução contínua e rápida dos meios de comunicação,

foi inventado o cinema, que transmitia a uma platéia uma informação de vídeo pré-gravada,

posteriormente a televisão, outra grande revolução, que possibilitou a transmissão de

imagens e sons por ondas eletromagnéticas, ao mesmo tempo foi inventado outro grande e

sofisticado equipamento de comunicação, o telefone, que finalmente permitiu a

comunicação sonora em tempo real e a longa distância, sendo necessária a criação de redes

de telefonias e diversas tecnologias de telecomunicações e eletrônica.

Os meios de comunicação acima descritos continuaram a serem evoluídos, mas

só sofreriam outra grande revolução no ano de 1992, com a introdução comercial da

internet, que passou a utilizar as tecnologias digitais para a transmissão de informação

escrita, sonora e visual (no formato de dados), comercialmente e em larga escala. A

tecnologia digital veio sendo desenvolvida e causou uma ruptura tecnológica passando os

equipamentos previamente desenvolvidos com uma tecnologia analógica, para a tecnologia

digital. Esta ruptura permitiu agregar funcionalidades aos equipamentos, tais como

portabilidade (telefones celulares), gravação de informações com maior definição de

imagens e sons e com menores dimensões físicas das memórias em relação à quantidade de

informação nelas armazenada.

Hoje, com o desenvolvimento da tecnologia digital discutimos a introdução

comercial de uma solução que começou a ser desenvolvida nos anos de 1970, a TV Digital,

que promete imagens e sons de alta qualidade e adicionar a interatividade à televisão

convencional, que possibilitará a utilização de novos serviços. Esta nova tecnologia de

comunicação é o objeto de estudo deste trabalho e por isso será apresentada com mais

detalhes no item 1.3.

Page 12: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

12

E o trabalho não terminou, as formas de comunicação continuam sendo

desenvolvidas e aprimoradas, podemos prever em um futuro próximo o abandono dos

cabos de comunicação, a interligação de equipamentos anteriormente não inclusos nas

redes (como muitos eletrodomésticos, soluções médicas, industriais, etc). Assim como

novos protocolos, maior taxa, qualidade e alcance de transmissão, entre outras prestações e

tecnologias já previstas e as que ainda estão por serem inventadas. Para a evolução dos

sistemas de comunicação não se pode e nem se deve colocar limites.

1.2.2. IMPORTÂNCIA

“90% de todos os problemas do mundo são causados pela comunicação”. Esta

frase foi pronunciada na abertura de um curso de Modelagem de Sistemas Elétricos da

Universidade Federal do Paraná e causou um impacto interessante em todos na sala de aula,

alguns a julgaram correta, outros um pouco exagerada, porém todos a compreenderam. É

inegável a consequência que uma má comunicação pode ocasionar.

Usando o conceito de comunicação um pouco além da subjetividade das

relações humanas, podemos considerar-la como uma ferramenta que faz a interface entre a

maioria dos processos, e a interface é inegavelmente uma das partes mais delicadas de

qualquer sistema.

Podemos dizer que usamos uma grande parte do esforço aplicado ao

desenvolvimento de um projeto de engenharia tentando garantir que a comunicação dentro

do sistema seja adequada, ou seja, que o tratamento e a transferência da informação dentro

das diversas interfaces do sistema sejam corretos. E usando o conceito de comunicação

desta maneira podemos identificar sua aplicação em diversas áreas e em diversas formas

diferentes, o que nos permite entender um pouco mais a fundo a frase que abre o capitulo

1.2.1, e utilizar este conceito na modelagem e resolução de diversos problemas dentro de

qualquer tipo de processo.

Page 13: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

13

1.3. TV DIGITAL

A TV Digital foi desenvolvida para tornar possível a transmissão de imagens e

sons de alta definição, e promover também uma maior interatividade entre os

telespectadores e a televisão.

Esta tecnologia vem sendo estudada desde os anos 70, tendo sua aplicação

comercial apenas em meados dos anos 2000, em Tókio, Japão.

Devido ao seu alto potencial comercial as potencias tecnológicas do mundo

trabalharam muito para o desenvolvimento desta aplicação, garantindo assim um alto nível

de investimentos e dando uma notória importância para esta tecnologia.

1.3.1. A REVOLUÇÃO

A TV digital permite a transmissão de imagens com maior numero de detalhes,

maior largura de quadros (16:9) e com uma alta qualidade de sons que podem ter até 6

canais (Dolby AC3). Qualidade bem superior ao da TV analógica atual, e semelhante à

encontrada em filmes comerciais atuais gravados em DVD.

Outra grande promessa é a interatividade entre a TV e o telespectador que a

transmissão de dados pode proporcionar. Algumas já conhecidas como o “pay per view”

(pagamento e escolha do programa de maneira individual), escolha da câmera que

proporciona o melhor ângulo da imagem, compras em lojas “virtuais”, enquetes, pesquisas,

navegação na internet. Mas estes são apenas alguns exemplos dentre muitos outros serviços

que ainda serão desenvolvidos, pois a transmissão de dados abre as portas para diversas

aplicações que certamente serão cada vez mais comuns no cotidiano das pessoas.

Outra revolução interessante é o impacto nos meios de transmissão e recepção

de TV, que devem ser preparados para possibilitar a implantação de redes de TV Digital,

Page 14: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

14

passando o antigo tratamento “analógico” da comunicação para sistemas de processamento

de dados altamente sofisticados.

Page 15: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

15

2. ESTUDO DA NORMA BRASILEIRA

Neste capitulo abordaremos alguns aspectos da norma ABNT NBR 15601:2007

(Televisão digital terrestre — Sistema de transmissão) que baseia todo o desenvolvimento

deste trabalho.

2.1. INTRODUÇÃO AO ISDB-T

A tecnologia ISDB-T (Integrated Services Digital Broadcasting, Terrestrial) é o

padrão japonês de transmissão de TV digital. O ISDB é derivado do padrão europeu DVB-

T (Digital Video Broadcasting Terrestrial), que se baseia na divisão do espectro em

pequenas portadoras (subportadoras), conhecida como modulação COFDM (Coded

Orthogonal Frequency Division Multiplex)A grande diferença com relação à tecnologia

européia é o fato de que no ISDB as subportadoras são agrupadas em 13 grupos, chamados

de segmentos, que são os responsáveis por transportar toda a informação necessária para a

HDTV (TV de alta definição), como mostra a FIGURA 1:

FIGURA 1 – DIVISÃO DO ESPECTRO EM 13 SEGMENTOS

A vantagem desta segmentação é o fato de tornar possível o tratamento da

informação contida em cada segmento de maneira independente, por exemplo um segmento

pode ter uma modulação QAM16 e no segmento adjacente a modulação poderia ser QPSK,

flexibilizando assim a parametrização de transmissão dos dados contidos em cada segmento

para otimizar a comunicação, fato que pode ser interessante uma vez que o conjunto de

dados transmitidos na TV digital possuem naturezas e fins diferentes (vídeo, áudio, dados e

imagens).

Page 16: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

16

O ISDB-T foi concebido para possibilitar não apenas a transmissão de TV

digital para receptores fixos, mas também para móveis (com menor resolução), através de

sua estrutura em camadas. O ISDB-T possui 3 camadas, que contem informações diferentes

porém complementares, podendo assim fazer o uso de uma proteção mais robusta para a

informação mais importante a ser transmitida e de uma proteção que permita um fluxo

maior para informações complementares, que são usadas para aumentar a qualidade de som

e vídeo.

Dentre outras aplicações, uma interessante possibilidade que esse sistema pode

oferecer é a interoperabilidade entre os sistemas de radio digital e HDTV. Resumidamente:

se a informação de áudio for transmitida em um segmento específico dos 13 disponíveis na

modulação COFDM, equipamentos de radio, operando em banda estreita, poderiam captar

o áudio dos canais de TV, e a televisão, por ser um receptor de toda a banda, poderia captar

os canais de radio digital. A estrutura do ISDB permite esta interoperabilidade, que pode

ser considerada um serviço a mais para os usuários e também uma importante abertura para

a abrangência e implantação da radio digital.

2.2. O SISTEMA DE COMUNICAÇÃO

Um esquema do sistema de comunicação ISDB-T se encontra na FIGURA 2:

FIGURA 2 – O SISTEMA DE COMUNICAÇÃO ISDB-T

Page 17: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

17

Detalhando um pouco mais o sistema de codificação temos a FIGURA 3:

FIGURA 3 – ESTRUTURA GLOBAL DE CODIFICAÇÃO ISDBT

Detalhando agora o sistema de modulação temos a FIGURA 4:

FIGURA 4 – ESTRUTURA GLOBAL DE MODULAÇÃO DO ISDB-T

A TV digital utiliza o padrão MPEG, na entrada do sistema de transmissão as

informações são multiplexadas em pacotes de 188 bytes chamados de TSP (Transport

Stream Packet) para que possam ser processadas pelo sistema. Nos itens abaixo serão

descritos o funcionamento de cada bloco representado nas figuras acima.

2.2.1. CODIFICADOR REED SOLOMON (RS)

O primeiro estágio de codificação é feito pelo codificador RS. O algoritmo RS

oferece uma proteção para o sinal através de bits de paridade, e ele é um dos códigos que

oferecem a maior capacidade de correção de erros.

Page 18: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

18

Infelizmente não entraremos aqui em detalhes sobre este código, porém

algumas informações são necessárias para compreender sua função dentro do sistema.

Poder de correção:

Sabendo que o comprimento máximo do código: n=k+2t. Sendo: n: numero de símbolos de transmissão k: números de símbolos de informação 2t: numero de símbolos de controle O número de possíveis correções é igual à (n-k)/2 erros Aplicado ao ISDB-T, para 1 TSP temos: k=188 bytes 2t=16 bytes n=204 bytes Logo: (204-188)/2 = 8 possíveis correções/TPS

O algoritmo de codificação/decodificação utiliza técnicas de elementos finitos,

matrizes de Galois, que são técnicas matemáticas bastante complexas, porém, o principio

intuitivo do código é simples e mostra o poder de sua lógica:

Principio intuitivo de codificação RS, exemplo codigo RS(5,3): Consideremos que temos o bloco de informação: 01 10 11 1° soma simples : 01 + 10 + 11 = 22 2° soma ponderada : 01 ×1 + 10 ×2 + 11 ×3 = 54 Obtemos então a informação de paridade 22 e 54. Completando o bloco de informações a ser transmitido temos: 01 10 11 22 54 Consideremos agora que a informação sofreu a seguinte interferência: 07 10 11 22 54 Quando chegar ao receptor, este efetuara a decodificação: 1° passo soma simples : 07+10+11=28 2° passo soma ponderada : 07×1 + 10 ×2 + 11 ×3 = 60 3° passo, verifica-se a diferença:

Page 19: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

19

4 (28- 22 = 6) 4° Local do erro : 2 ((60- 54) / 6 = 1) Seguindo o algoritmo devemos retirar 6 da palavra de posição 1. Então a informação corrigida fica: (7-6= 01 ) 10 11 22 54 Para o sistema ISDB, utilizamos a notação RS(204,188) indicando que usamos uma

codificação RS com 188 bytes de informação e 204 bytes de transmissão.

2.2.2. DIVISOR POR CAMADAS

Organiza o fluxo hierárquico distribuindo a informação entre as 3 camadas

disponíveis.

2.2.3. DISPERSÃO DE ENERGIA

Utilizado para evitar que uma sequência de “zeros” ou “uns” seja enviada

fazendo com que o receptor “perca” o sincronismo. Este processo é executado a partir de

uma operação binária XOR, entre os dados da camada em referência e uma sequência

pseudo aleatória.

2.2.4. AJUSTE DO ATRASO

A transmissão hierárquica possibilita que diferentes codificações sejam

aplicadas nos dados de cada camada, isso implica que as informações de cada camada

possam ter tamanhos diferentes e para evitar atraso entre essas informações é efetuado um

ajuste de atraso para compensar a diferença entre os dados das diferentes camadas.

2.2.5. ENTRELAÇADOR DE BYTES

O entrelaçador de bytes serve para embaralhar os bytes formadores dos TSP,

para que os dados não sejam ciclicamente enviados no mesmo local dentro da portadora

evitando problemas com canais não gaussianos, que podem implicar em erros cíclicos na

informação transmitida.

Page 20: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

20

2.2.6. CODIFICADOR CONVOLUCIONAL

O codificador convolucional ou codificador de Viterbi utiliza um sistema de

treliças para inserir bits de redundância no código, a partir de um polinômio gerador.

Aplicado ao ISDB-T, os polinômios geradores utilizados são: G1 = 171 oct e

G2 = 133 oct, FIGURA 5 e taxa de codificação = ½

FIGURA 5 – POLINÔMIO GERADOR G1 = 171 OCT E G2 = 133 OCT

A taxa de geração é de ½ ,porém, este esquema de geração possibilita a geração

de códigos com diferentes taxas como 2/3, 3/4, 5/6 e 7/8 a partir de uma amostragem, como

mostra a FIGURA 6.

FIGURA 6 – PADRÃO DE SUPRESSÃO PARA DIFRENTES TAXAS DE CÓDIGO CONVOLUCIONAL

Page 21: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

21

3. A FERRAMENTA 3.1. O COMPROMISSO

Este trabalho tem por objetivo a criação de um instrumento capaz de reproduzir

com fidelidade o sistema de comunicação digital ISDB-T, visando:

a) Simulação da codificação, transmissão e recepção do sinal dentro da norma ISDB-T. b) Fácil acesso e modificação das diversas variáveis do sistema, permitindo aos futuros

usuários adaptações e análises da informação em qualquer ponto da cadeia de transmissão.

c) Manipulação amigável, para promover sua utilização futura, pois a facilidade de operação é um fator determinante para o sucesso de um software.

d) O código deverá ser implementado de maneira modular, para que cada bloco importante do sistema possa ser modificado ou substituído individualmente, ou ainda novos blocos possam ser introduzidos facilmente dentro da cadeia de comunicação.

e) Interoperabilidade com outros aplicativos permitindo que desenvolvedores que utilizam outros ambientes de programação possam adaptar seus blocos de tratamento da informação dentro da cadeia de transmissão.

3.2. A ESTRATÉGIA DE IMPLEMENTAÇÃO 3.2.1. SIMULADOR

O software MATLAB foi escolhido para a implementação do sistema.

Um estudo preliminar foi feito para verificar quais blocos do sistema ISDB-T

são fundamentais na proteção da informação e apenas estes foram implementados,

deixando o processamento mais leve e o sistema final menos complexo. Este estudo será

apresentado no item 3.4.2.

Cada bloco de processamento da informação foi desenvolvido e validado

separadamente, para assegurar seu bom funcionamento e minimizar a dificuldade de

encontrar defeitos no código, visto a grande quantidade de variáveis presentes no sistema

completo.

Page 22: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

22

As interfaces entre os blocos foram bem definidas dentro do corpo do código,

sendo indicadas suas entradas e saídas, bem como o formato e natureza delas, para

possibilitar intervenções, como por exemplo: substituição de um determinado bloco por

outro (para ser testado dentro da cadeia de comunicação), ou inclusão de novos blocos

dentro do sistema completo.

3.2.2. PROGRAMA DE APRESENTAÇÃO DOS RESULTADOS DAS SIMULAÇÕES

A idéia deste programa é agrupar o resultado das diversas simulações,

proporcionando com uma interface gráfica, uma rápida consulta destes resultados. A

motivação principal deste aplicativo é o fato de que o tempo para efetuar uma simulação

para traçar uma curva de “Erro de Bits x Sinal/Ruído”, por exemplo, com um nível de erros

de ordem representativa, é muito grande. Este fato inviabiliza a utilização do simulador

descrito em 3.3 para uma consulta “em tempo real” de um resultado específico deste

sistema.

O objetivo principal deste programa é mostrar, a partir de uma configuração

especifica de parametrização, a performance de transmissão do sistema através de uma

curva de “Erro de Bits x Sinal/Ruído e o espalhamento da constelação para um dado nível

de ruído.

O aplicativo foi desenvolvido em Visual Basic, e deve permitir uma consulta

rápida e de maneira intuitiva.

3.3. IMPLEMENTAÇÃO MATLAB

O MATLAB foi escolhido pois permite um estudo prático do sistema e uma

fácil implementação dos algoritmos visto que possui a maioria das funções matemáticas

necessárias no sistema e alguns blocos de processamento, que se fosse implementados

isoladamente inviabilizariam a implementação do sistema completo dentro do prazo

necessário para a finalização do projeto. Também é uma ferramenta importante para testar a

Page 23: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

23

viabilidade de codificação do sistema e realizar simulação e análise dos resultados e

robustez do código.

O inconveniente causado pelo MATLAB é o tempo de processamento elevado,

visto que o sistema trabalha com o tratamento de uma grande quantidade de informação.

3.3.1. ESTRUTURA

A partir do esquema representado pela FIGURA 2 (O SISTEMA DE

COMUNICAÇÃO ISDB-T) desenvolveu-se uma estrutura global, como representado em

formato de blocos nas FIGURA 7 e FIGURA 8, para o inicio da estruturação do programa

de simulação. Foram então definidos os principais blocos do sistema: bloco de geração da

informação, de codificação do sinal e mapeamento, o canal de transmissão, a detecção do

sinal, o decodificador e, no final da cadeia, o bloco de verificação do sinal, responsável por

medir a eficiência da transmissão.

FIGURA 7 – ESTRUTURA GLOBAL DE TRANSMISSÃO

FIGURA 8 – ESTRUTURA GLOBAL DE RECEPÇÃO

Tendo esta estrutura global como base, partiu-se para o detalhamento do

sistema levando-se em consideração algumas particularidades. O primeiro ponto à ser

definido é a natureza do sinal, os pacotes de informações e a questão das camadas de

hierarquia. O sinal de entrada proveniente do codificador MPEG e da rede de dados possui

Page 24: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

24

três naturezas diferentes, vídeo, som e dados, porém são representados da mesma maneira:

um trem de bits, que devem ser multiplexados em pacotes de 188 bytes.

Analisando a estrutura de camadas, podemos perceber que ela implica

simplesmente em uma organização dos dados, segundo mencionado no item 2.1, e essa

organização tem sua função dentro da estratégia do ISDB-T, porém, cada camada recebe

um tratamento específico e não influencia diretamente no tratamento dado ao sinal da outra

camada, ou seja, podemos considerar que temos 3 fluxos de codificação, um para cada

camada. O codificador para cada camada é o mesmo, mudando-se apenas a configuração de

seus parâmetros, seguindo as especificações da norma. Levando este raciocínio em

consideração percebe-se que a inclusão do sistema de camadas neste simulador atribui

apenas uma complicação de programação desnecessária, pois ela implica somente em uma

logística dos dados e não da sua efetiva proteção por codificação. Optou-se então em

implementar uma estrutura de fluxo único de dados, dimensionada para pacotes de 188

bytes de informação. E considera-se que a simulação da degradação dos sinais das

respectivas camadas é feita de maneira individual, configurando-se o codificador com os

parâmetros de transmissão de cada camada especificados na norma. Um esquema mais

detalhado da estrutura global de transmissão é representada na FIGURA 9.

Page 25: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

25

FIGURA 9 – ESTRUTURA DE TRANSMISSÃO DETALHADA

A função de cada bloco será descrita com mais detalhes nos itens abaixo.

3.3.2. GERAÇÃO DA INFORMAÇÃO

Bloco responsável por gerar a entrada do sistema, o sinal a ser transmitido.

Considerando que a entrada é um sinal MPEG, multiplexado em um pacote de 188 bytes,

foram implementadas dois tipos de entradas distintas: a primeira, uma geração aleatória

gaussiana de bits em pacotes de 188 bytes, para simular uma transmissão de um sinal

MPEG. O fato de a informação ser aleatória é importante para não causar víeis nos

resultados. O código gerador de bits é encontrado no ANEXO 1. A segunda geração de

sinal de entrada implementada é feita utilizando uma amostragem da imagem Lena

(FIGURA 10) de 512x512 pixels, que foi utilizada para criar o efeito visual da degradação

da imagem causada pelo aumento do nível de ruído em relação ao sinal. O código que faz a

importação, amostragem da imagem e a formação do pacote de 188 bytes é encontrado no

ANEXO 1.

Page 26: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

26

FIGURA 10 – LENA

3.3.3. ESTUDO E DEFINIÇÃO DO BLOCO CODIFICADOR

Partindo do esquema da FIGURA 9 percebemos que dentro do codificador

existem três estágios de proteção do sinal: a codificação Reed Solomon, o entrelaçador de

bytes e o codificador convolucional. Detalhamos então o bloco codificador no FIGURA 11:

FIGURA 11 – BLOCO CODIFICADOR

Page 27: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

27

3.3.3.1.CODIFICADOR REED SOLOMON (RS)

Informações sobre o codificador RS podem ser encontradas no item 2.2.1.

Como mencionado, este trabalho não entra no mérito de um estudo detalhado das

codificações, o objetivo maior é de implementação do sistema ISDB-T. No caso do

codificador RS, apesar de ter um funcionamento completamente intuitivo, a implementação

de um algoritmo robusto é complicada, por esse motivo optou-se por utilizar a função de

codificação RS já existente no TOOL BOX de comunicação do MATLAB. O código que

explica o uso do codificador RS do MATLAB e uma rotina para testar o seu funcionamento

é encontrado no ANEXO 1.

3.3.3.2. ENTRELAÇADOR DE BYTES

O entrelaçador de bytes foi implementado de acordo com o protocolo

estabelecido pela norma. Inicialmente identificado como importante para a proteção do

sinal, em uma análise mais cuidadosa percebemos que o entrelaçador é fundamental quando

temos um canal não Gaussiano ver item 2.4.2, pois este embaralha a informação fazendo

com que a posição de determinado dado não seja sempre o mesmo dentro da portadora,

forçando assim a interferência do canal a se aproximar de um canal Gaussiano. Como o

canal usado neste sistema é Gaussiano podemos considerar desnecessário o uso do

entrelaçador neste sistema. Porém já está implementado, validado e disponível para

utilização.

3.3.3.3. CODIFICADOR CONVOLUCIONAL

Este codificador é talvez o mais importante do sistema ver item 2.2.2, e possui

também um algoritmo de complicada implementação. A exemplo do codificador RS, existe

uma função no MATLAB deste codificador, e foi usada no sistema.

Page 28: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

28

3.3.4. MAPEAMENTO DA CONSTELAÇÃO

O algoritmo de mapeamento (etiquetagem) da constelação foi implementado.

Temos 4 tipos de modulações possíveis no ISDB-T: QAM64, QAM16, QPSK e DQPSK.

Foram implementadas as modulações QAM64, QAM16, QPSK, a modulação DQPSK foi

aproximada para QPSK, o que é justo uma vez que as duas possuem comportamentos bem

semelhantes e o uso do DQPSK implica em uma complicação desnecessária do algoritmo

de detecção do sinal. As constelações geradas pelo simulador podem ser vistas nas

FIGURAS 12 à 15.

FIGURA 12 – QAM64

Im(s)

Re(s)

Page 29: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

29

FIGURA 13 – QAM16

FIGURA 14 – QPSK

Im(s)

Im(s)

Re(s)

Re(s)

Page 30: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

30

FIGURA 15 – DQPSK

3.3.5. CANAL DE TRANSMISSÃO

O canal de transmissão implementado deste sistema é um canal de ruído

complexo unitário branco gaussiano centrado, que é bastante representativo para este tipo

de simulação sem necessidade de implementar a modulação. Porém após a implementação

verificou-se que utilizando-se a função de ruído branco disponível no MATLAB poder-se-

ia ter um controle simplificado do nível de sinal\ruído, então optou-se por utilizar esta

função, que é mostrada no ANEXO 1. Nas FIGURA 16 e FIGURA 17 pode-se ver um

exemplo de como fica a constelação após passar pelo canal Gaussiano.

Para o sistema ISDB-T seria interessante a implementação de um canal com

interferência do tipo múltiplo percurso, para simular o comportamento mais real do

ambiente onde o ISDB-T irá operar. Neste trabalho foi decidida a utilização do canal

Im(s)

Re(s)

Page 31: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

31

gaussiano, porém, como o sistema é estruturado por blocos a inserção de um bloco com

múltiplo percurso é possível e simples.

FIGURA 16 – QAM16 + RUÍDO

FIGURA 17 – QPSK + RUÍDO

Re(s)

Re(s)

Im(s)

Im(s)

Page 32: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

32

3.3.6. BLOCO DECODIFICADOR

O bloco decodificador funciona de maneira inversa e análoga ao codificador. A

FIGURA 8 representa de maneira global o decodificador.

3.3.6.1. DETECÇÃO POR MÁXIMO DE VEROSSIMILHANÇA

Dentro do algoritmo de Viterbi existe um primeiro estágio que é a estimação do

trem de bits a partir do símbolo detectado pelo receptor. Em geral esta estimação é feita por

um algoritmo de máximo de verossimilhança. No caso onde este algoritmo é ligado

internamente com o de Viterbi é conhecida como detecção de viterbi “soft” e quando não

temos este estágio chamamos de detecção “hard”.

Na utilização do decodificador de Viterbi do MATLAB não se obteve bons

resultados na utilização do decodificador “soft” então foi construído um decodificador

hibrido, implementando a função de detecção por máximo de verossimilhança e em seguida

uma decodificação “hard”.

O algoritmo de máximo de verossimilhança é mostrado na FIGURA 18. Sua

interpretação é simples, ele recebe um símbolo, e calcula a máxima probabilidade para cada

bit, neste caso, seguindo uma distribuição normal (canal gaussiano), buscando saber se este

bit é 1 ou 0.

Page 33: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

33

FIGURA 18 – ALGORITMO DO MÁXIMO DE VEROSSIMILHANÇA

É importante notar que a implementação deste algoritmo foi feita para uma

distribuição de probabilidade normal, devido ao canal ser gaussiano. E existe um algoritmo

específico para cada tipo de modulação (QPSK, QAM16 e QAM64), pois estas implicam

em símbolos diferentes a serem detectados.

3.3.6.2. DECODIFICAÇÃO CONVOLUCIONAL

Para a decodificação de viterbi do tipo “hard” é usada uma função do

MATLAB, ver ANEXO 1.

3.3.6.3. DESENTRELAÇAMENTO

O desentrelaçamento foi implementado de acordo com o protocolo estabelecido

pela norma.

Page 34: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

34

3.3.6.4. DECODIFICAÇÃO REED SOLOMON

A decodificação RS também faz uso de uma função disponível no MATLAB,

ver ANEXO 1.

3.3.7. CADEIA DE TRANSMISSÃO

A estrutura do código para simular a cadeia de transmissão é bem definida em

blocos dentro do código, contendo a informação do sinal de entrada e saída de cada estágio

do codificador.

De maneira ilustrativa, exemplos podem ser visto nos ANEXO 1.

3.3.8. TRANSMISSÃO 3.3.8.1. MENSAGEM ALEATÓRIA

A geração aleatória de mensagens binárias foi implementada e é encontrada no

ANEXO 1.

3.3.8.2. TRANSMISSÃO DE IMAGEM

A transmissão de imagem também foi implementada e seu código pode ser

visto no ANEXO 1, neste exemplo foi usada a imagem Lena FIGURA 10

3.4. ESTRUTURA DO PROGRAMA DE APRESENTAÇÃO DOS RESULTADOS DAS SIMULAÇÕES

A estrutura deste aplicativo é simples, contendo apenas uma interface gráfica

que permite ao usuário escolher uma parametrização de transmissão e visualizar os

resultados, e um banco de dados onde estas informações são armazenadas.

Page 35: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

35

4. RESULTADOS

O produto deste trabalho é a implementação da cadeia de transmissão ISDB-T,

lembrando que este projeto deve atender os seguintes preceitos:

a) Simulação da codificação, transmissão e recepção do sinal dentro da norma ISDB-T.

b) Fácil acesso e modificação das diversas variáveis do sistema, permitindo aos futuros usuários adaptações e análises da informação em qualquer ponto da cadeia de transmissão.

c) Manipulação amigável, para promover sua utilização futura, pois a facilidade de operação é um fator determinante para o sucesso de um software.

d) O código deverá ser implementado de maneira modular, para que cada bloco importante do sistema possa ser modificado ou substituído individualmente, ou ainda novos blocos possam ser introduzidos facilmente dentro da cadeia de comunicação.

e) Interoperabilidade com outros aplicativos permitindo que desenvolvedores que utilizam outros ambientes de programação possam adaptar seus blocos de tratamento da informação dentro da cadeia de transmissão.

4.1. IMPLEMENTAÇÃO MATLAB

Seguindo a estrutura do programa que foi descrita no item 3, a implementação

final em MATLAB é composta de 12 arquivos de código para a cadeia de transmissão.

O corpo do sistema de comunicação foi implementado no arquivo

“ISDB_CodificadorTPS.m” ver ANEXO 1. Neste arquivo é feita a integração de todos os

blocos do sistema, efetuando-se assim a síntese da cadeia de comunicação.

Para garantir a manipulação amigável, compromisso do projeto, foi criada uma

estrutura de índices, comentários e padrão de codificação para orientar os futuros usuários

quanto ao funcionamento do programa e significado de cada variável, com o objetivo de

simplificar a maneira de proceder no caso de modificação do código. Este módulo foi

concebido com o conceito de definição de saídas e entradas, indicando as variáveis que

funcionam como interfaces do sistema, sendo estas definidas como variáveis de entrada, os

“inputs” dos blocos do sistema, e variáveis de saída, as saídas dos blocos. O objetivo de

Page 36: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

36

padronizar desta maneira o código é facilitar a substituição dos blocos ou inclusão de novas

etapas de tratamento dentro da cadeia de transmissão. Ou seja, basta identificar a entrada do

bloco e respeitar a nomenclatura da saída do mesmo para que seja efetuada a sua

substituição no sistema.

A FIGURA 19 mostra o índice deste módulo: FIGURA 19 – ÍNDICE DO MODULO ISDB_CodificadorTPS.m

A FIGURA 20 a seguir exemplifica a identificação das interfaces do sistema:

Page 37: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

37

FIGURA 20 – EXEMPLO DE IDENTIFICAÇÃO DE INTERFACE E ORIENTAÇÃO PARA SUBSTITUIÇÃO DO BLOCO

Dentre as informações que fazem parte do programa estão a identificação de

variáveis, explicações sobre seu funcionamento, indicação de particularidades ou pontos de

risco e dificuldades encontradas durante o desenvolvimento e que podem causar problemas

para o usuário. O objetivo dos comentários exaustivos no código é de facilitar sua

utilização, evitando assim a geração de documentos suplementares para orientar a

manipulação deste programa uma vez que a facilidade de utilização é um fator

determinante para garantir o sucesso deste tipo de aplicação.

O restante dos módulos que compõem a cadeia de transmissão são os blocos do

sistema ou funções de suporte. Abaixo será feita uma breve descrição desses módulos, sem

entrar no detalhe da técnica utilizada na sua implementação ou em seus algoritmos de

funcionamento.

• binarToDec.m: converte um valor binário em decimal. • binarycode.m: converte um valor décima em binário.

Page 38: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

38

• vetor_binarios_para_decimal.m: efetua a converção de um TSP binário em decimal.

• vetor_decimal_para_binario.m: efetua a converção de um TSP decimal em binairio.

• calculoVerossimilhanca: organiza a informação para o calculo de verossimilhança.

• calcVrais.m: efetua o cálculo de probabilidade bit a bit de cada símbolo recebido, seguindo uma lei normal (canal gaussiano).

• Bancos.m: Contem os valores de comparação para o calculo de verossimilhança, ou seja, os grupos de símbolos separados em grupos para o bit k=0 ou k=1, sendo k o índice dos bits de um símbolo. O arquivo contem esses grupos para cada tipo de modulação.

• entrelacamentoBytes.m: efetua o entrelaçamento de um TSP seguindo o protocolo estabelecido pela norma.

• desentrelacador.m: efetua o desentrelaçamento seguindo o protocolo estabelecido pela norma.

• ISDB_Mapeador: mapeia a informação, em função da parametrização de modulação escolhida para a transmissão.

• messageAleaDec.m: Gera um TSP de mensagem aleatória, com dimbolos em decimal, formato necessário para o inicio do tratamento da informação.

É importante lembrar que a cadeia de transmissão foi dimensionada para a

codificação de um TSP de informação, sendo necessário relança-la a cada novo TSP a ser

“transmitido”.

Para efetuar a transmissão de uma sequencia de TSPs é necessária a criação de

outro modulo de programa para funcionar como “main”. Ou seja, um código que irá

relançar o sistema, efetuando iterações de transmissões. O ANEXO 1 apresentam alguns

exemplos de como criar um programa no MATLAB para lançar uma transmissão iterativa

de TSPs.

Cada etapa do sistema foi validada individualmente antes de ser aplicada dentro

da cadeia de transmissão. A validação global do sistema pode ser exemplificada pela

FIGURA 21 a seguir, que mostra o resultado de uma transmissão sucessiva da imagem

Page 39: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

39

Lena, utilizando o código transm_Image_iterativo.m (ANEXO 1), que comprova

qualitativamente que o sistema é capaz de transmitir uma informação mantendo sua

integridade e que essa informação é degradada devido ao aumento do nível de ruído do

canal, como esperado. Cada imagem foi transmitida com um nível de variância de ruído

diferente e de maneira crescente.

FIGURA 21 – TRANSMISSÕES SUCESSIVAS DA IMAGEM LENA PARA NÍVEIS DE SINALXRUÍDO DECRESCENTES

Após comprovar o bom funcionamento do sistema, foram desenvolvidos

programas para traçar a curva de “Erro de Bits x Sinal/Ruído” visando verificar a

performance do sistema e comparar estes com os resultados esperados para este tipo de

comunicação. O arquivo SNR_Por_TSP_8.m (ANEXO 1) foi utilizado para lançar a

iteração do sistema e traçar as curvas. Cada resultado abaixo demorou cerca de 3 dias de

simulação para atingir os níveis mínimos de erros indicados. O ideal seria chegar a valores

menores, na ordem de 10e-12, porém o tempo de processamento do equipamento

disponível para a simulação da transmissão inviabiliza tal resultado. Estas curvas, porém,

indicam bem a convergência da transmissão, representando globalmente o comportamento

de cada parametrização sistema.

Foram implementadas no simulador todas as modulações, porém, por

simplicidade optou-se por não utilizar a modulação DQPSK pois o comportamento desta é

Page 40: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

40

muito semelhante ao QPSK, podendo ser aproximada sem perder a representatividade do

resultado. A utilização da modulação DQPSK implicaria complicações no restante da

cadeia de transmissão que seriam desnecessárias do ponto de vista do resultado da

simulação.

Outro ponto importante é o fato de a taxa de codificação convolucional 7/8

aparentemente não funcionar no toolbox do MATLAB utilizado no simulador. Para

entender o problema, a modificação da taxa de codificação se passa através de um

puncionamento ou amostragem do sinal codificado por uma taxa 1/2, seguindo o protocolo

estabelecido na FIGURA 6. Esta amostragem diminui a quantidade de bits de paridade

otimizando o fluxo de dados, porém ela retira efetivamente parte da informação original.

Durante a decodificação, existe um algoritmo que tenta fazer a restituição desta informação,

alguns simplesmente restituem os bits amostrados com valores de “0” (zero) ou “1” (um),

outros algoritmos fazem uma espécie de escolha aleatória, porém, todos inserem erros na

informação transmitida com a esperança desta ser corrigida pelo decodificador, implicando

nestes casos a diminuição da eficiência de transmissão, como fica evidente nas figuras 22 à

24. Não foi encontrada a informação sobre a estratégia usada pelo MATLAB para efetuar a

re-amostragem do sinal, mas em um teste amostrando com taxa 7/8 e restituindo o sinal,

chegou-se à mesma incompatibilidade de decodificação. A quantidade de erros inserida no

processo é tamanha que faz o decodificador “se perder”, mesmo com ausência de ruído na

transmissão, impossibilitando a decodificação do sinal. Este fato se mostrou um ponto

difícil de ser resolvido, pois a não possibilidade de decodificação parece ser correta, porém,

esta taxa é especificada na norma, ou seja, está disponível como parâmetro de escolha para

a transmissão ISDB-T. Este é um ponto que demanda um aprofundamento no método de

puncionamento do sinal.

As FIGURAS 22 à 24, mostram as curvas para as respectivas configurações de

transmissão indicadas nas figuras.

Page 41: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

41

FIGURA 22 – PERFORMANCE DE TRANSMISSÃO QPSK PARA TAXAS DE CÓDIGO 1/2, 2/3, 3/4 E 5/6 RESPECTIVAMENTE

Erb

Erb

Erb

Erb Eb/No Eb/No

Eb/No Eb/No

Page 42: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

42

FIGURA 23 – PERFORMANCE DE TRANSMISSÃO QAM16 PARA TAXAS DE CÓDIGO 1/2, 2/3, 3/4 E 5/6 RESPECTIVAMENTE

Erb

Erb

Erb

Erb Eb/No Eb/No

Eb/No Eb/No

Page 43: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

43

FIGURA 24 – PERFORMANCE DE TRANSMISSÃO QAM64 PARA TAXAS DE CÓDIGO 1/2, 2/3, 3/4 E 5/6 RESPECTIVAMENTE

Não existe, entretanto, um padrão teórico para comparação destas curvas e

comprovação de performance do sistema. Podemos considerar, entretanto, que elas

apresentam um comportamento compatível com o tipo de transmissão modelada.

4.2. PROGRAMA DE APRESENTAÇÃO DOS RESULTADOS DAS SIMULAÇÕES

A FIGURA 25 mostra a interface do programa, que foi batizado com o nome de

ISDB-T Performance de Transmissão.

As opções de configuração disponíveis são: i. Modo de transmissão: indica o numero de portadoras do sistema.

ii. Intervalo de guarda: indica o espaçamento entre as portadoras. iii. Modulação: QPSK, QAM16, QAM64. iv. Taxa de codificação: a taxa do código convolucional. v. Nível da relação Sinal x Ruído: para visualização da constelação.

Erb

Erb

Erb

Erb

Eb/No Eb/No

Eb/No Eb/No

Page 44: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

44

Os resultados disponibilizados são: i. Numero de portadoras.

ii. Numero de TSP por segmento. iii. Numero de TSP para os 13 segmentos. iv. Taxa de dados por segmento. v. Taxa de dados para os 13 segmentos. vi. Figura com a curva “Erro de Bits x Sinal/Ruído”. vii. Figura com a constelação para um dado nível de Sinal x Ruído.

FIGURA 25 – INTERFACE GRÁFICA DO PROGRAMA

O banco de dados foi desenvolvido dentro do aplicativo para evitar a existência

de um arquivo externo contendo este banco.

Uma tela de abertura foi criada para que seja possível carregar o programa, e

estabelecer um contato amigável com o usuário, FIGURA 26.

Page 45: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

45

FIGURA 26 – TELA DE ENTRADA

Uma tela contendo os créditos do aplicativo também foi criada para registrar os

créditos do desenvolvimento.

Page 46: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

46

5. CONCLUSÃO

O resultado deste projeto mostra que foi implementado um simulador do

sistema ISDB-T que funciona e também atende os compromissos definidos para este

projeto.

Para o desenvolvimento do simulador optou-se pela utilização do software

MATLAB pois ele contem algumas funções, simples e complexas, que caso fossem

implementadas inviabilizariam o desenvolvimento do projeto no prazo estipulado. Apesar

de o MATLAB ser muito difundido dentro da engenharia, este fato limita um pouco a

utilização do simulador, afinal o usuário deverá conhecer o MATLAB, entender bem o seu

funcionamento e possuir este aplicativo em versões superiores ao 7.0 para poder utilizar o

simulador. Fora este inconveniente o MATLAB proporciona qualidades importantes para o

simulador. Com ele, foi possível a implementação de maneira modular e para um usuário

experiente em MATLAB a manipulação do simulador mostra-se bastante simples,

principalmente uma vez que todas as variáveis do sistema estão disponíveis e as

funcionalidades do software permite manipula-las, construir facilmente gráficos, efetuar

análises, etc.

Para os compromissos do projeto, o único que não foi atingido completamente,

é a questão de interoperabilidade do sistema com outros aplicativos e ambientes de

programação. Foi decidido durante o desenvolvimento do simulador que todo o esforço

seria focado na estruturação do sistema, restando à questão de interoperabilidade o status de

oportunidade futura. No item 6.4 é proposta uma solução para esta questão como sugestão

de sequência do projeto.

Entrando um pouco em detalhe sobre o simulador, percebe-se que a

identificação dos blocos importantes do sistema foi adequada, uma vez que todos os outros

não atuam diretamente na proteção da informação, pois fazem parte da organização da

informação para transmissão ou preparação e proteção ligadas à transformação D/A e

Page 47: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

47

modulação analógica do sinal. Na questão modulação de sinal, foi utilizada a representação

desta simplesmente como símbolos complexos, o que permite uma representatividade

matemática adequada para este tipo de aplicação, e simplifica bastante, tanto a sua

implementação, quanto a modelação do canal.

No item 4.1 foi explicado o porquê da escolha de não utilização da modulação

DQPSK, e a problemática envolvendo a taxa de codificação 7/8. Este ultimo ponto não

pode ser resolvido. Por motivos de simplificação foi utilizado o codificador convolucional

disponível pelo MATLAB, e este não é capaz de usar esta taxa de codificação. Apesar da

tentativa de implementar esta taxa de amostragem, não foi obtido sucesso, e por ser uma

tecnologia recente não existe muita documentação disponível sobre o assunto, exigindo um

estudo mais aprofundado sobre esta técnica de amostragem, o que não foi possível até o

presente momento. Dessa maneira, o simulador aqui apresentado não é capaz de transmitir

as informações com uma taxa de codificação igual à 7/8. Este fato não está

comprovadamente aceito como um problema específico desta aplicação, porém, inspira a

dúvida do porquê desta taxa ser especificada na norma.

Levando em consideração os fatos acima citados, o simulador pode ser

considerado como um bom modelo para o sistema ISDB-T, e certamente será de utilidade

aos estudiosos da comunicação digital, como suporte à suas pesquisas. Permitindo que os

esforços sejam focados nos pontos de interesse no sistema e que não seja perdida energia

desnecessária como todo o restante.

O programa desenvolvido para a apresentação dos resultados também se

mostrou bastante interessante. Rapidamente é possível fazer sua parametrização e analisá-la.

A escolha de apresentar a constelação foi tomada pois esta traz uma informação qualitativa

complementar e importante, pois é possível identificar a dispersão dos símbolos durante a

transmissão e sua relação com a curva de “Erros de bits x Sinal/Ruído”. Inicialmente

cogitou-se a hipótese de apresentar o resultado da transmissão da imagem da Lena como

Page 48: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

48

uma informação qualitativa da degradação do sinal, porém esta informação perde um pouco

o sentido uma vez que a informação é digital e não sofrerá interferências do tipo “chuvisco”

como na TV analógica. Quem determina se a degradação do sinal é suficiente para

impossibilitar sua decodificação em imagem é o decodificador MPEG que faz efetivamente

a conversão do sinal recebido em uma imagem na tela da televisão.

Globalmente o projeto alcançou seus objetivos, e seus produtos são de interesse,

neste momento, dentro da área da TV Digital. Em uma interpretação pessoal, acredito que

este trabalho é importante pelo seu conceito, pois busca a compreensão desta nova

tecnologia, já que ela está sendo importada e certamente com grandes valores associados

que são custeados pela sociedade brasileira. Do meu ponto de vista, o mínimo que se deve

fazer é compreendê-la da maneira mais completa possível, e adapta-la para as

especificidades de cada região brasileira garantindo o bom uso desta tecnologia. Pois se as

riquezas geradas neste pais devem ser exportadas por não sermos capazes de desenvolver

nossas próprias soluções, ao menos temos o dever de aproveitar ao máximo possível o

investimento, para sermos exigentes com relação a qualidade e também onerar o mínimo

possível o nosso país.

Page 49: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

49

6. SUGESTÃO DE SEQUÊNCIA DO PROJETO

6.1. CANAL COM MÚLTIPLO PERCURSO

Um canal gaussiano com múltiplo percurso seria mais representativo para a

comunicação ISDB-T, o que tornaria o simulador mais próximo do modo de funcionamento

real deste sistema de comunicação. Uma vez implementado, uma nova variável será

necessária dentro do simulador, o intervalo de guarda.

6.2. IMPLEMENTAÇÃO C

A implementação em C tornaria mais viável o tempo de execução do programa,

pois otimizaria o processamento do mesmo, uma vez que não é dependente de toda

estrutura imposta pelo software MATLAB. A complexidade de programação, entretanto é

mais elevada e demorada, sendo necessários muitos testes para certificar a robustez do

sistema.

6.3. VALIDAÇÃO EMPÍRICA DOS RESULTADOS

O fato que da utilidade a um simulador é a representatividade de seus resultados

em relação ao sistema real que ele representa. Seria interessante comparar os resultados

encontrados nas simulações com os existentes no sistema real de transmissão. Podendo

identificar possíveis divergências, possibilitando entendê-las e corrigi-las.

6.4. INTEROPERANILIDADE COM OUTROS APLICATIVOS

O item de objetivo que não foi atendido neste projeto é a questão de

interoperabilidade com outros aplicativos ou ambientes de programação.

Uma proposta para essa interoperabilidade é utilizar o conceito de interface.

Esta solução consiste em escrever as variáveis importantes do sistema em arquivos de texto

do tipo “.txt”, possibilitando aos outros aplicativos “lerem” estas variáveis e “escreverem”

Page 50: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

50

seus resultados para que o simulador possa receber essa informação processada pelo outro

aplicativo.

O esquema da FIGURA 27 ilustra esta solução dando o exemplo da

substituição do bloco RS do sistema por um bloco RS-2 externo ao simulador.

FIGURA 27 – PROPOSTA DE INTEROPERABILIDADE PARA O

SIMULADOR

6.5. PESQUISA COM USUÁRIOS

Seria interessante efetuar uma pesquisa para sabe a avaliação dos futuros

usuários quanto ao programa, podendo assim evoluir-lho e adapta-lo para facilitar sua

performance e utilização.

Page 51: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

51

REFERÊNCIAS ASSOCIAÇÃO BRASILEIRA DE NORMA TÉCNICAS. NBR 15601:2007.

Page 52: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

52

DOCUMENTOS CONSULTADOS ROSS, J. Televisão Analógica e Digital. 1. ed. Rio de Janeiro: Antenna Edições Técnicas Ltda., 2007 RESENDE, L. E. A. Desenvolvimento de uma ferramenta de análise de desempenho para o padrão de TV Digital ISDB-T. Rio de Janeiro: Dissertação de Mestrado PUC, 2004. WU Y.; PLISZKA E.; CARON B.; BOUCHARD P.; CHOUINARD G. Comparison of Terrestrial DTV Transmission Systems: The ATSC 8-VSB, the DVB-T COFDM, and the ISDB-T BST-OFDM. IEEE TRANSACTIONS ON BROADCASTING, VOL. 46, NO. 2, JUNE 2000 NOBUO I.; KENICHI T. HDTV Mobile Reception in Automobiles. PROCEEDINGS OF THE IEEE, VOL. 94, NO. 1, JANUARY 2006 TAMOTSU I. Transmission System for ISDB-TSB (Digital Terrestrial Sound Broadcasting) IEEE, VOL. 94, NO. 1, JANUARY 2006 G. BEDICKS G.; YAMADA F.; SUKYSF.; DANTASC. E. S.; RAUNHEITTEL. T. M.; AKAMINE C. Results of the ISDB-T System Tests, as Part of Digital TV Study Carried Out in Brazil. IEEE TRANSACTIONS ON BROADCASTING, VOL. 52, NO. 1, MARCH 2006 M. TAKADA; MASAFUMI S. Transmission System for ISDB-T. IEEE, VOL. 94, NO. 1, JANUARY 2006 CODIGOS CONVOLUCIONAIS - http://cict.inatel.br/nova2/docentes/dayan/TP504/ClassNotes/C%C3%B3digos/na-tp102-2.pdf - visitado dia: 11/07/2008, 11h51m. TRANSFORMADAS EM CORPOS FINITOS PARA CODIFICAÇÃO DE CANAL - iecom.dee.ufcg.edu.br/~jcis/junho1990/volume%205/JCIS_1990_5_03.pdf - visitado dia: 20/07/2008. 23h12m. CORPO DE GALOIS - http://www.impa.br/opencms/pt/eventos/downloads/jornadas_2006/trabalhos/jornadas_valdenilson_garcia.pdf - djhj visitado dia: 11/07/2008, 12h20m. NOVAS APLICAÇÕES DO ISDB-T - www.dibeg.org/techp/Documents/Brazil010618/ANEXO5-p.PDF - dia: 30/07/2008, 10h07m.

Page 53: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

53

ISDB-Tsb: O PADRÃO JAPONÊS DE RÁDIO DIGITAL http://www.freelists.org/archives/radiolivre/12-2005/msg00136.html - dia: 30/07/2008, 14h33m.

Page 54: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

54

ANEXO 1 Rotinas do simulador implementadas em MATLAB

Page 55: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

55

ISDB_CodificadorTPS.m % % Projeto final de graduacao da Universidade Federa l do Parana % % Simulador do Sistema de Comunicacao ISDB-T % % Autor: Ricardo Sugayama, [email protected] r % Professor Orientador: Evelio M. G. Fernández % % Este programa tem por objetivo modelar o bloco ba sico de codificcao de um TSP de comunicacao. % % - Um TSP eh uma menssagem de 204 bytes, sendo 188 bytes de informacao util e 16 bytes de paridade Reed Solomon % % Compoem o corpo do programa: % % 1)SISTEMA DE TRANSMISSAO % ---------------------------------------------- % 1.1) Parametros do Sistema % 1.2) Gerador aleatorio de sequencia binaria % 1.3) Reed Solomon % 1.4) Entrelacador de bytes % 1.5) Codificador convolucional % 1.6) Bloco mapeador % % 2)CANAL % ---------------------------------------------- % 2.1) Canal com Ruido Branco Gaussiano Centrado % ---------------------------------------------- % % 3) SISTEMA DE RECEPCAO % ---------------------------------------------- % 3.1) Deteccao por maximo de verossimilhanca % 3.2) Decodificacao de Viterbi % 3.3) Desentrelacamento % 3.4) Decodificador Reed-Solomon % ---------------------------------------------- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% Inicio do programa %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% 1)SISTEMA DE TRANSMISSAO %%

Page 56: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

56

%% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1.1) PARAMETROS DO SISTEMA % % 1.1.1) Tipo de mapeamento(tipoMap) % 1.1.2) Ruido branco unitario centrado do canal % 1.1.3) Taxa de codigo convolucional %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1.1.1) Tipo de mapeamento(tipoMap): % ---------------------------------------------- % (1) DQPSK % (2) QPSK % (3) QAM-16 % (4) QAM-64 tipoMap =2; % tipo de modulacao % ---------------------------------------------- % 1.1.2) Ruido branco unitario centrado do canal % ---------------------------------------------- snr =100; %relacao sinal/ruido em dBW % ---------------------------------------------- % 1.1.3) Taxa de codigo convolucional % ---------------------------------------------- %taxaCod Taxa % (1) 1/2 % (2) 2/3 % (3) 3/4 % (4) 5/6 % (5) 7/8 taxaCod = 1; %TAXA DO CODIGO CONVOLUCIONAL % ---------------------------------------------- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1.2)Geracao de mensagem aleatoria % %1.2.1) Geracao de um TSP aleatorio %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1.2.1) Geracao de um TSP aleatorio

Page 57: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

57

% ---------------------------------------------- % Criacao da mensagem aleatoria com simbolos em dec imal S = messageAleaDec(8,188); % Obs.: A geracao da mensagem aleatoriamente eh int eressante para nao % tendenciar o resultado. % MODIFICACAO: % Para introduzir outra mensagem de entrada no sist ema faca S = (sua mensagem) % % ENTRADA: sua mensagem % SAIDA: variavel "S" % % Lembre-se que a variavel S deve ter 188 bytes. % Veja o exemplo dectransmissao da imagem da Lena, arquivo: transm_Image_iterativo_bin.m % ---------------------------------------------- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1.3) Reed Solomon % % 1.3.1) Parametrizacao % 1.3.2) Geracao da Matriz de Galois % 1.3.2) Codificacao Reed-Solomon % 1.3.4) Adequacao do vetor de informacao %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Este bloco tem a funcao de criar os bytes de % paridade Reed-Solomon % 1.3.1) Parametrizacao % ---------------------------------------------- m = 8; % Number of bits per symbol n = 204; % Word lengths for code k = 188; % Number of information symbols % ---------------------------------------------- % 1.3.2) Geracao da Matriz de Galois % ---------------------------------------------- msgf = gf(S,m); % Two rows of m-bit symbols % ---------------------------------------------- % 1.3.3) Codificacao Reed-Solomon % ---------------------------------------------- codeRs = rsenc(msgf,n,k); % Obs.: sabendo que o codigo contem 188 palavras de 8 bits % e que o codificador adiciona 16 palavras de parid ade o % numero de correcoes possiveis eh = (n-k)/2= (204- 188)/2= 8

Page 58: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

58

% ou seja, eh possivel corrigir ate 8 erros em um T SP de informacao % ---------------------------------------------- % 1.3.4) Adequacao do vetor de informacao % ---------------------------------------------- % A variavel "codeRs" eh do tipo GF do matlab (matr iz de Galois) % Para acessar somente a matriz com os valores, sem as informacoes % do polinomio gerador, etc, utiliza-se codeRs.x: Srs = double(codeRs.x); % vetor com 204 simbolos (188 de informacao, 16 de paridade RS) % deve-se converter os valores para o tipo "double" % para possibilitar trabalhar aritimeticamente com as % informacos do vetor % Obs.: para voltar a construir a matriz de Galois com o vetor acima deve-se usar a seguinte sintaxe: gf(Srs,8) % MODIFICACAO: % Para usar outro codficador reed-solom basta fazer Srs= seu codificador RS % ENTRADA: variavl "S" % SAIDA: variavel "Srs" % % Lembre-se a variavel "S" tem 188 bytes e a "Srs" deve ter 204 bytes % ---------------------------------------------- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1.4) Entrelacador de bytes % 1.4.1) Entrelacamento %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % O objetivo desse bloco eh de entrelacar os bytes para tentar impedir a % perturbacao ciclica do mesmo bloco de informacoes , impedindo uma perda % viciosa da mesma parte do sinal, por influencia d o meio, durante a transimssao %1.4.1) Entrelacamento % ---------------------------------------------- SrsEntr = entrelacamentoBytes(Srs); % MODIFICACAO: % Para usar outro entrelacador SrsEntr= seu entrela cador % ENTRADA: variavl "Srs" % SAIDA: variavel "SrsEntr" % % Lembre-se a variavel "SrsEntr" deve ter 204 bytes % ----------------------------------------------

Page 59: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

59

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1.5) Codificador convolucional % 1.5.1) Transformacao do vetor SrsEntr para binari o % 1.5.2) Geracao da trelica % 1.5.3) Codificacao convolucional global taxa=1/2 % 1.5.4) Puncionamento %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1.5.1) Transformacao do vetor SrsEntr para binari o % ---------------------------------------------- % A codificacao convolucional trabalha com bits log o o vetor de informacao % deve ser transformado para a base binaria. % o vetor de informacao na base binaria eh chamado de SrsEntrBin SrsEntrBin =vetor_decimal_para_binario(SrsEntr); %retira o "0" que foi usado para iniciar o vetor % MODIFICACAO: % Para usar outra transformacao binaria faca SrsEnt rBin= seu transformador % ENTRADA: variavl "SrsEntr" % SAIDA: variavel "SrsEntrBin" % ---------------------------------------------- % 1.5.2) Geracao da trelica % ---------------------------------------------- % Contrucao da trelica "trellis" sendo o polinomio gerador: trellis = poly2trellis(7,[171 133]); % Constraint length k= 7 (6 bits de memoria (regist ro de deslocamento) + bit de entrada) % Somatoria dos estágios definidos por G1=171(oct) e G3=133(oct) % O valor de k, G1 e G2 sao obtidos da seguinte man eira: A partir do diagrama % do codificador inicialmente conta-se o numero de registradores somando-se % o bit do estágio de entrada e tem-s o valor de k (Constraint length). Observando-se os % estágios que contribuem para o somatorio final (b racos que saem do % estágio ateh o somador) afeta-se "1" para os está gios que contribuem para % o somatorio e "0" para os estágios que nao contri buem, finalmente tem-se % um numero binario com k bits, no nosso exemplo 11 11011 para G1 e 1011011 % para G2, transformando-os para octetos temos G1=1 71(oct) e G3=133(oct) e % assim tem-se a definicao necessaria para a trelic a. trellis = poly2trellis(7,[171 133]); %trelica

Page 60: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

60

% MODIFICACAO: % Para usar outra trelica faca trellis = sua trelic a % ENTRADA: - % SAIDA: variavel "trellis" % ---------------------------------------------- % 1.5.3) Codificacao convolucional % ---------------------------------------------- % Codificacao convolucional k=7, duas saidas: G1=17 1(oct) e G3=133(oct) e taxa 1/2 %Para obter taxas de codificacao 2/3, 3/4, 5/6 e 7/ 8 como eh preconizado na %norma o sistema efetua uma amostragem ou puncionam ento do sinal que sai do %codificador de taxa mae 1/2 acima. Seguindo a tabe la abaixo: % % TAXA Sequencia transmitida % 1/2 -> X1;Y1 % 2/3 -> X1;Y1;Y2 % 3/4 -> X1;Y1;Y2;X3 % 5/6 -> X1;Y1;Y2;X3;Y4;X5 % 7/8 -> X1;Y1;Y2;X3;Y4;X5;Y6;X7 %O parametro taxaCod identifica o tipo de codificac ao escolhida (taxaCod) % %taxaCod Taxa % 1 1/2 % 2 2/3 % 3 3/4 % 4 5/6 % 5 7/8 % ***------------------------------------------- if taxaCod == 1 %if principal para a rotin de puncionamento puncionamento= [ 1 , 1]; %pode ser 204 tsp taxa = '1/2' ; elseif taxaCod ==2 puncionamento= [ 1 0, 1 1]; %pode ser 204 tsp taxa = '2/3' ; elseif taxaCod == 3 puncionamento= [ 1 0 1, 1 1 0]; % pode ser 204 tsp taxa = '3/4' ; elseif taxaCod == 4 puncionamento= [ 1 0 1 0 1, 1 1 0 1 0]; %erro tem que ser 205 tsp taxa = '5/6' ; %correção do numero de bits para adequar ao mapeame nto SrsEntrBin = [zeros(1,8) SrsEntrBin]; elseif taxaCod == 5 puncionamento= [ 1 0 0 0 0 1 0 1, 1 1 1 1 0 1 0 ]; %erro tem que ser 210 taxa = '7/8' ; %correção do numero de bits para adequar ao mapeame nto

Page 61: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

61

SrsEntrBin = [zeros(1,8*6) SrsEntrBin]; end %fim do if principal para a rotin de puncionamento %------------------------------------------------- %------------------------------------------------- %Codificação SrsEntrBinConv = convenc(SrsEntrBin,trellis, puncio namento); % MODIFICACAO: % Para usar outro codificador faca SrsEntrBinConvGl obal = seu codificador % ENTRADA: variavel "SrsEntrBin" % SAIDA: variavel "SrsEntrBinConv" % ---------------------------------------------- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1.6) Mapeador %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Neste bloco efetua-se o mapeamento para a % transmissao da informacao. % Seguindo a parametrizacao pre definida pode-se % mapear o sinal para as seguintes modulacoes (tipo Map): % 1) DQPSK % 2) QPSK % 3) QAM-16 % 4) QAM-64 SrsEntrBinConvMap =ISDB_Mapeador(tipoMap,SrsEntrBin Conv); % MODIFICACAO: % Para usar outro mapeador faca SrsEntrBinConvMap = seu mapeador % ENTRADA: variavel "SrsEntrBinConv" % SAIDA: variavel "SrsEntrBinConvMap" %Carrega titulos das figuras e expoente "M" if tipoMap == 1 TipoModul = 'DQPSK' ; %titulo do grafico M=2; %Numero de bits par palavra elseif tipoMap == 2 TipoModul = 'QPSK' ; %titulo do grafico M=2; %Numero de bits par palavra elseif tipoMap == 3 TipoModul = 'QAM16' ; %titulo do grafico M=4; %Numero de bits par palavra else TipoModul = 'QAM64' ; %titulo do grafico M=6; %Numero de bits par palavra end

Page 62: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

62

% ---------------------------------------------- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% 2) CANAL %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 2.1) Canal com Ruido Branco Gaussiano Centrado %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ---------------------------------------------- SrsEntrBinConvMapRuido = awgn(SrsEntrBinConvMap,snr , 'measured' ) ; % MODIFICACAO: % Para usar outro canal faca SrsEntrBinConvMapRuido = seu canal % ENTRADA: variavel "SrsEntrBinConvMap" % SAIDA: variavel "SrsEntrBinConvMapRuido" % ---------------------------------------------- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% %% %% 3) SISTEMA DE DETECCAO %% %% %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 3.1) Deteccao por maximo de verossimilhanca % 3.1.1) Calculo da variancia do ruido do canal % 3.1.2) Estimacao por maximo de verossimilhanca %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ---------------------------------------------- % Este algoritmo usa uma funcao de maximo de veross imilhanca para um canal % com ruido gaussiano branco e centrado. % A funcao compara o simbolo recebido com todos os valores possiveis dos simbolos para % verificar a maxima probabilidade de cada bit da p alavra recebida ser % igual a "1" ou "0". Estimando assim o simbolo mai s provavel em relacao a % cada bit da palavra. % 3.1.1) Calculo da variancia do ruido do canal % ---------------------------------------------- Ruido=(SrsEntrBinConvMap - SrsEntrBinConvMapRuido); sigma= var(Ruido); % MODIFICACAO: % Para usar outro calculo da variancia faca sigma = seu calculo devariancia

Page 63: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

63

% ENTRADA: variavel "Ruido" % SAIDA: variavel "sigma" % ---------------------------------------------- % 3.1.2) Estimacao por maximo de verossimilhanca % ---------------------------------------------- S_estime = calculoVerossimilhanca(SrsEntrBinConvMap Ruido,tipoMap,sigma); % MODIFICACAO: % Para usar outro algoritmo de estimacao faca S_est ime = seu sinal estimado % ENTRADA: variavel "SrsEntrBinConvMapRuido" % SAIDA: variavel "S_estime" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 3.2) Decodificacao de Viterbi %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % ---------------------------------------------- %identifica em relacao ao mapeamento e o puncioname nto se o numero de bits %por simbolo foi alterado if tipoMap == 4 && (taxaCod == 3 || taxaCod==5) S_estime = S_estime(3:end); end % ---------------------------------------------- % Esta funcao faz o descodificacao convolucional S_estime_decodVit = vitdec(S_estime,trellis,1, 'trunc' , 'hard' , puncionamento); % Decodificacao por algo de viterbi. % A trelica eh a mes ma definida no item 1.5.2 % MODIFICACAO: % Para usar outro algoritmo de viterbi faca S_estim e_decodVit= seu decodificador % ENTRADA: variavel "S_estime" % SAIDA: variavel "S_estime_decodVit" % ---------------------------------------------- % Correção para o puncionamento % correção devida a adequação do numero de bits por TSP e a amostragem do % puncionamento % ---------------------------------------------- if taxaCod == 4 S_estime_decodVit = S_estime_decodVit(9:end); %foi adicionado no sinal original 1 byte SrsEntrBin = SrsEntrBin(9:end); elseif taxaCod == 5 S_estime_decodVit = S_estime_decodVit(49:end); %foram adicionados no sinal original 6 byte SrsEntrBin = SrsEntrBin(49:end);

Page 64: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

64

end %fim do if principal para a rotin de puncionamento % ---------------------------------------------- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 3.3) Desentrelacamento % 3.3.1) Bit para Decimal % 3.3.2) Desentrelacador %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 3.3.1) Bit para Decimal % ---------------------------------------------- % Muda o vetor para base decimal S_estime_decodVit_Dec=vetor_binario_para_decimal(S_ estime_decodVit); % Para usar outro algoritmo de transformacao de bas e faca S_estime_decodVit_Dec= seu transformador % ENTRADA: variavel "S_estime_decodVit" % SAIDA: variavel "S_estime_decodVit_Dec" % ---------------------------------------------- % 3.3.2) Desentrelacador % ---------------------------------------------- S_estime_decodVit_Dec_desentrelacado = desentrelacador(S_estime_decodVit_Dec); % MODIFICACAO: % Para usar outro desentrelacador faca S_estime_dec odVit_Dec= seu desentrelacador de base % ENTRADA: variavel "S_estime_decodVit" % SAIDA: variavel "S_estime_decodVit_Dec" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 3.4) Decodificador Reed-Solomon % 3.4.1) Reconstrucao da matriz de galois % 3.4.2) Decodificacao Reed-Solomon % 3.4.3) Adequacao do vetor de informacao %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 3.4.1) Reconstrucao da matriz de galois % ---------------------------------------------- S_estime_decodVit_Dec_desentrelacado_galois = gf(S_estime_decodVit_Dec_desentrelacado,8); % ---------------------------------------------- % 3.4.1) Decodificacao Reed-Solomon % ----------------------------------------------

Page 65: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

65

[S_estime_decodVit_Dec_desentrelacado_decodRs,numer r] = rsdec(S_estime_decodVit_Dec_desentrelacado_galois,n ,k); % ---------------------------------------------- % 3.4.3) Adequacao do vetor de informacao % ---------------------------------------------- S_estimada = double(S_estime_decodVit_Dec_desentrel acado_decodRs.x); % MODIFICACAO: % Para usar outro decodificador Reed-Solomon faca S _estimada= seudecodificador % ENTRADA: variavel "S_estime_decodVit_Dec" % SAIDA: variavel "S_estimada" % ----------------------------------------------

messageAleaDec.m function S = messageAlea(M, L) %Ricardo Sugayama %Generation de message aleatoir en binaire pur %de 'M' bits de mot et de taille 'L' %example % S = messageAlea(2, 7) % S= 0 1 0 1 1 0 1 1 0 1 1 0 1 0 a=zeros(1,M); for i=1 : L sn = randperm(2^M); %an= binarycode(sn(1),M); %an= binarycode(sn(1)-1,M); a=[a,sn(1)-1]; end S= a((M+1):end); transm_Image_iterativo.m % % Projeto final de graduacao da Universidade Federa l do Parana % % Simulador do sistema de comunicacao ISDB-T % % Autor: Ricardo Sugayama, [email protected] r % Professor Orientador: Evelio M. G. Fernández % tic % comeca a contar o tempo de processamento %-------------------------------------------------- ----- %Configuracoes

Page 66: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

66

%-------------------------------------------------- ----- ErrTotal = 0; %vetor de erro %sigma=0.25; % ruido do canal tipoMap =3; % tipo de modulacao: % 1) DQPSK % 2) QPSK % 3) QAM-16 % 4) QAM-64 %Carrega titulos das figuras if tipoMap == 1 TipoModul = 'DQPSK' ; %titulo do grafico elseif tipoMap == 2 TipoModul = 'QPSK' ; %titulo do grafico elseif tipoMap == 3 TipoModul = 'QAM16' ; %titulo do grafico else TipoModul = 'QAM64' ; %titulo do grafico end % Iteracao para sigma = [0,10 0,20 0,30 0,40 0,50 0 ,60 0,70 0,80 0,90 1] for i=0.1:0.1:3 %loop principal % Variacao de sigma sigma = i; %-------------------------------------------------- ----- %Bloc message %-------------------------------------------------- ----- %generation du signal: une message avec L mots de k bits imageLena = imread( 'lena_512x512.tif' ); imageLena = double(imageLena); % Dobra precisão [lines,columns] = size(imageLena); % Tamanho de matriz da imagem image_size = lines*columns; % Numero de pixels image_vector = reshape(imageLena,1,image_size); % Vetor da imagem carregado % envia imagem para bloco codificador ISDB image_vector_estimado=0; L=(262072/188) - 1; for i=0:L % diviminuicao da imagem de 262144 para 262072 para ser multiplo de 188 S=image_vector(i*188+1:i*188+188); %formacao do TSP ISDB_CodificadorTPS image_vector_estimado= [image_vector_estimado S _estimada];

Page 67: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

67

end image_vector_estimado = [image_vector_estimado( 2:end) zeros(1,(262144 - 262072))]; %reconstrucao da mensagem de 262144 valores %-------------------------------------------------- ----- % Visualizacao da imagem %-------------------------------------------------- ----- figure; figure_estimada =reshape(image_vector_estimado,512, 512); colormap(gray); imagesc(figure_estimada) title([ 'Modulacao: ' TipoModul ', taxa de codigo = 1/2 e sigma= ' num2str(sigma)]) % tempo estimado mod QAM-16 e taxa 1/2 de cod convo lucional = 1h35m %-------------------------------------------------- ----- % Contagem de Erro %-------------------------------------------------- ----- count =0; erreur = image_vector-image_vector_estimado; for b=1:length(erreur ) if erreur(b)== 0 else count=count+1; end end ErrTotal = [ count ErrTotal]; end %Fim do loop pincipal t= toc; %termina de contar o tempo de processamento SNR_Por_TSP_8.m % % Projeto final de graduacao da Universidade Federa l do Parana % % Simulador do sistema de comunicacao ISDB-T % % Autor: Ricardo Sugayama, [email protected] r % Professor Orientador: Evelio M. G. Fernández % %Este script tem por objetivo tracar uma curva ERB/ SNR de um tsp, fazendo

Page 68: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

68

%uma amostragem de 2 TSP por SNR. %Eh necessario deixar o codificador com a geracao d e mensagem aleatoria % ***------------------------------------------- %Parametros % ---------------------------------------------- % Tipo de mapeamento(tipoMap): % 1) DQPSK % 2) QPSK % 3) QAM-16 % 4) QAM-64 tipoMap =2; % tipo de modulacao % Taxa de codigo convolucional %taxaCod Taxa % 1 1/2 % 2 2/3 % 3 3/4 % 4 5/6 % 5 7/8 taxaCod = 2; %TAXA DO CODIGO CONVOLUCIONAL Vetor_ErrTotal_2=0; Vetor_ErrVero_2=0; Vetor_ErrViterbi_2=0; Vetor_SNR=0; limiteErr = 1000; for d=0:13 %loop principal snr=d; %relacao sinal ruido em dB %snr=100; %relacao sinal ruido em dB Vetor_ErrTotal_1=0; Vetor_ErrVero_1=0; Vetor_ErrViterbi_1=0; n_trasmitido = 0; %numero de transmissoes necessarias para obtermos 100 erros temporario = 0; % print na tela tic %contagem parcial de tempo while Vetor_ErrTotal_1 < limiteErr %loop secundario ateh contarmos 100 erros ISDB_CodificadorTPS

Page 69: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

69

% ***------------------------------------------- %Contagem de erros % ---------------------------------------------- [ErrVero,ratioVero]=biterr(S_estime , SrsE ntrBinConv); [ErrViterbi,ratioViterbi]=biterr(S_estime_d ecodVit , SrsEntrBin); [ErrTotal,ratioTotal]=biterr(S_estimada , S , 8); Vetor_ErrTotal_1 = Vetor_ErrTotal_1 + ErrTo tal; Vetor_ErrVero_1 = Vetor_ErrVero_1 + ErrVero ; Vetor_ErrViterbi_1 = Vetor_ErrViterbi_1 + E rrViterbi; %para visualizacao if Vetor_ErrTotal_1 >0 & temporario < Vetor_ErrTotal_ 1 % print na tela [snr, Vetor_ErrTotal_1] end temporario = Vetor_ErrTotal_1; % print na tela n_trasmitido = n_trasmitido + 1; end %loop secundario toc %contagem parcial de tempo %Construcao do vetor de erro Vetor_ErrTotal_2=[Vetor_ErrTotal_2 (Vetor_ErrTotal_1/(188*8*n_trasmitido))]; Vetor_ErrVero_2=[Vetor_ErrVero_2 (Vetor_ErrVero_1/(204*8*2*n_trasmitido))]; Vetor_ErrViterbi_2=[Vetor_ErrViterbi_2 (Vetor_ErrViterbi_1/(204*8*n_trasmitido))]; if snr > 8 %para garantir uma boa amostragem para a curva SNR limiteErr=100; end end %fim loop principal %Readequacao do vetor de erro Vetor_ErrTotal_2=Vetor_ErrTotal_2(2:end) Vetor_ErrVero_2=Vetor_ErrVero_2(2:end) Vetor_ErrViterbi_2=Vetor_ErrViterbi_2(2:end) Vetor_SNR=Vetor_SNR(2:end) % Plotagem da curva SNR com o parametro enviado na funcao awgn do matlab

Page 70: Ricardo Sugayama Desenvolvimento de uma ferramenta para … · 2010. 10. 15. · tribos utilizavam tambores para enviar mensagens. Na região européia e asiática o advento do papel

70

figure; semilogy(([0:13]-10*log10(M)),Vetor_ErrVero_2, '-go' ) hold on semilogy(([0:13]-10*log10(M)),Vetor_ErrViterbi_2, '-rx' ) hold on semilogy(([0:13]-10*log10(M)),Vetor_ErrTotal_2, '-*' ) title([ 'Modulacao: ' TipoModul ', taxa de codigo = ' taxa ' e SNR= 0~29' ])