TV Digital I: Entrelaçadores Temporais para Sistemas de Transmissão
Esta série de tutoriais tem como objetivo estudar o desempenho dos sistemas de televisão digital
terrestre, depois de implementado um entrelaçador temporal. Para isso foram estudados os blocos de
todo o sistema, em especial o conjunto de codificador convolucional e decodificador Viterbi, o
codificador Reed Solomon, a modulação OFDM e o principal assunto deste trabalho, os blocos
entrelaçadores. E com o uso da ferramenta matemática, MatLab, foi possível implementar e analisar
os resultados obtidos pela inserção do entrelaçador temporal.
Os tutoriais foram preparados a partir do trabalho de graduação “A Inserção de Entrelaçadores
Temporais em Sistemas de Transmissão de TV Digital Diante de Ruído Impulsivo”, elaborada
pelo autor, e submetido ao Centro Superior de Educação Tecnológica da Universidade Estadual de
Campinas para obtenção do título de Tecnólogo em Telecomunicações.. Foi orientador do trabalho o
Prof. Dr. Rangel Arthur.
Este tutorial parte I inicialmente aborda com detalhes o código corretor de erro Reed Solomon e
também o algoritmo de Viterbi, em seguida apresenta os conceitos da modulação OFDM, utilizada nos
sistemas de TV Digital estudados neste trabalho, e finaliza com a apresentação do sistema DVB-T,
padrão europeu de TV Digital.
Alfredo de Carvalho Neto
Tecnólogo em Telecomunicações pela Faculdade de Tecnologia da UNICAMP (Limeira, SP –
junho/2008). Técnico em Informática pela Polibrasil (2003). Graduando em Tecnologia em
Informática pela Faculdade de Tecnologia da UNICAMP (Limeira, SP).
Atuou como Estagiário na empresa eCliente, atuando no desenvolvimento de sistemas web,
programação PHP, HTML, JavaScript, XML, Ajax, JQuery e gerenciamento de banco de dados
MYSQL, e como Estagiário na Ci&T Software, executando atividades de implementador.
Atualmente trabalho como Engenheiro Junior na Ci&T Software, executando atividades de
implementador.
Email: [email protected]
Categoria: TV e Rádio
Nível: Introdutório
Enfoque: Técnico
Duração: 20 minutos
Publicado em: 01/08/2011
1
TV Digital I: Introdução
Em 02 de dezembro de 2007, foi a data para o sistema ISDTV (International System for Digital
Television) o nome para o padrão de TV digital do Brasil entrar ao ar, com o início das transmissões e
recepções na cidade de São Paulo - SP, tanto em terminais domésticos, televisores, quanto móveis,
celulares e PDA [1].
Afirmado pelo Fernando Bittencourt, diretor de engenharia da TV Globo, o Brasil terá uma excelente
qualidade em TV digital, já que foi o último a ser normatizado, o padrão brasileiro sobressai na frente
por ter tido a oportunidade das tecnologias não estarem maduras quando os três padrões
internacionais foram definidos.
A utilização da modulação COFDM com o uso de entrelaçador de frequência e pilotos, a introdução
de códigos turbo, tudo isso conferindo maior robustez em ambientes de multi-percursos, junto com o
entrelaçamento temporal, melhorando o sistema contra interferências impulsivas [2,3].
Esse processo de desenvolver o sistema brasileiro foi devido ao acordo firmado entre a SET
(Sociedade de Engenharia de Televisão) e a universidade Mackenzie, local do laboratório de testes e a
Associação Brasileira de Emissoras de Rádio e Televisão (ABERT).
Mas para que fosse possível o surgimento dos padrões de TV digital no mundo como ATSC, DVB-T,
ISDB-T, Americano, Europeu e Japonês, respectivamente, foi preciso que o padrão de compreensão
MPEG-2 fosse lançado, permitindo comprimir vídeos em HDTV com taxas de 1.5 Gbps para 20
Mbps.
Os estudos desses três padrões, fez com que o padrão ATSC fosse descartado logo no início devido ao
fato de não ser tão robusto quanto à modulação OFDM, e em seguida o padrão ISDB-T mostrou se
melhor as necessidades para o sistema Brasileiro, por possuir características que possibilitavam a
transmissão portátil, e também por apresentar melhor solução a interferências, principalmente ao fato
do entrelaçamento temporal em ajudar na robustez devido ao ruído impulsivo.
Com esse novo método de transmissão, a população brasileira terá a oportunidade de mais serviços
pelo canal televiso, tais como: programas em alta definição de imagem para receptores fixos,
proporcionando imagem e som de alta qualidade; informações do programa, informações genéricas,
clima, trânsito, etc.; transmissão para terminais móveis, serviço de recepção estável; múltiplos
programas em imagens de definição padrão para receptores fixos, programação múltipla em um único
canal e interatividade, convergência com os serviços de telecomunicações.
Motivações e Objetivos
Como visto em testes realizados em território nacional, as cidades brasileiras que foram submetidas às
medidas, apresentaram em todo perímetro presença de reflexões, causando a interferência de
multipercurso, ilustrado na figura 1, este tipo se deve ao fato de construções nas cidades, ou qualquer
outro objeto que possa estar refletindo o sinal transmitido, causando atrasos no sinal original na
recepção, fazendo com que o receptor receba várias vezes o mesmo sinal, porém com atraso.
2
Figura 1: Cenário de multipercurso
Outro importante tipo de interferência que ocorre no sinal, o ruído impulsivo, que foi observada a
presença deste nos testes com uma taxa de 23%, pode ser originado antes do sinal ser transmitido
pelos circuitos, tanto quanto depois por agentes externos, como veículos, liquidificadores entre
inúmeros itens [4].
Sendo assim, foram feitas análises com os dois padrões, o europeu e o japonês, como discutido
anteriormente, o modelo europeu, DVB-T, não se mostrou eficaz na presença de ruído impulsivo, já o
modelo japonês, ISDB-T, mostrou se mais robusto ao se inserir um entrelaçador temporal antes do
sinal ser transmitido, para então erros em rajadas causados pelo ruído impulsivo sejam dispersos no
tempo, viabilizando para os códigos corretores de erro resolverem o problema.
Com esse contexto, nesse trabalho será implementado um entrelaçador temporal para analisar os
resultados obtidos após ter sido inserido no estágio de codificação de canal. Comparando assim as
performances do sistema diante ao efeito de ruído impulsivo com e sem o entrelaçador temporal.
Organização do Trabalho
Este tutorial parte I inicialmente aborda com detalhes o código corretor de erro Reed Solomon e
também o algoritmo de Viterbi, em seguida apresenta os conceitos da modulação OFDM, utilizada nos
sistemas de TV Digital estudados neste trabalho, e finaliza com a apresentação do sistema DVB-T,
padrão europeu de TV Digital.
O tutorial parte II apresentará inicialmente o sistema ISDB-T, padrão japonês de TV Digital adotado
no Brasil, mostrando e explicando cada bloco, junto com suas características semelhantes e únicas.
Em seguida apresentará o conceito de um entrelaçador temporal e sua utilidade na defesa contra os ruídos em rajadas causados pelos equipamentos, assim
como as simulações do entrelaçador temporal implementado e seus resultados, mostrando as diferenças e
performances dos sistemas diante o ruído impulsivo. Finalmente apresentará as conclusões e sugestões
para futuros trabalhos com relação à TV digital.
A figura 2 apresenta um diagrama em blocos de um sistema de TV digital.
3
Figura 2: Diagrama básico de um sistema de TV digital
Contribuição
Com esse trabalho, se contribuiu em implementar um entrelaçador temporal, e ao final serão
apresentadas várias técnicas de entrelaçamento, das quais a última, o entrelaçador JPL, será
implementado no tutorial parte II, em um sistema com um codificador convolucional no transmissor e
um decodificador Viterbi no receptor com um canal de transmissão sujeito a ruído impulsivo,
pertinente a grande parte do território nacional, já que no Brasil não se tem uma lei agressiva ao uso
de filtros em aparelhos domésticos, para posterior realização da análise do desempenho contra um
sistema sem entrelaçamento temporal.
4
TV Digital I: Reed Solomon e Viterbi
O código Reed Solomon, inventado no ano de 1960 por Irving S. Reed e Gustave Solomon, no
laboratório Lincoln do MIT, é um código de correção de erros, que consiste em uma técnica em
adicionar informação redundante no sinal, para que o receptor possa detectar e corrigir erros que
possam vir a ocorrer na transmissão.
Existem vários tipos de códigos com esse mesmo propósito, porém o Reed Solomon provou ter um
bom compromisso entre eficiência (quantidade de redundância necessária) e complexidade
(dificuldade de codificar e decodificar).
Além desse código corretor de erros, os sistemas de TV digital utilizam o par codificador
convolucional e decodificador Viterbi formando uma forte estrutura para transmissão com ambientes
sujeitos à inserção de erros, que é o caso do território de grandes cidades brasileiras, nesse capítulo
será exposto como se dá o processo desses códigos com exemplos numéricos.
Teoria Base Reed Solomon
Classificação
Existem várias categorias de códigos corretores, o Reed Solomon se encaixa nos códigos de blocos, ou
seja, a mensagem a ser transmitida é dividida em vários blocos separados de dados. Em cada bloco se
tem informação de paridade que junto forma a palavra de código. Um código Reed Solomon pode ser
classificado como RS(n,k), em que representa a palavra de código, composta pela mensagem original
mais os símbolos de paridade (2t), e a capacidade de correção de erros esta diretamente relacionada
com a metade do valor dos bits de paridade, ou seja t, a figura 3 ilustra uma palavra de código.
Um código Reed Solomon também é um código linear (adicionar duas palavras de código produz outra
palavra de código) e também cíclico (deslocar símbolos ciclicamente de uma palavra de código produz
outra palavra de código). E por ter símbolos multi-bit faz com que esse código seja bom em combater
rajadas de erros já que ao invés de todos os bits do símbolo estar no erro isso conta como somente um
erro de símbolo.
Figura 3: Definições do código Reed Solomon
Campo de Galois e Operações Aritméticas
Para entendermos como se dá a construção do código Reed Solomon é necessário uma explicação da
teoria de campos finitos. Nesse item serão brevemente expostos, elementos do campo de Galois, suas
operações matemáticas, soma, subtração, multiplicação e divisão e sobre o polinômio gerador, para
5
que no próximo item seja explicada a construção do código.
Um campo de Galois consiste em elementos, baseados no elemento primitivo, usualmente denotado
por α normalmente de valor igual a dois, com os seguintes valores:
Para formarmos um conjunto de 2m, onde (N = 2m – 1). O campo é conhecido como GF(2m). Para o
exemplo de (m = 4), GF(16) podemos representar cada elemento na forma polinomial a seguir:
Com a3a2a1a0 correspondendo aos números binários de 0000 a 1111. Ou podemos nos referir
alternativamente aos elementos de campo na forma de decimal equivalente de 0 a 15. Aritmética em
campos finitos tem os processos de adição, subtração, multiplicação e divisão diferentes daquele que
estamos acostumados com números inteiros. O efeito dessa diferença é que qualquer combinação
aritmética de elementos de campos finitos irá sempre produzir outro elemento de campo finito.
Vamos fazer uma ilustração de uma adição a seguir, por exemplo, a soma de (x3 + x) e (x3 + x2 +1)
para resultar em (x2 + x + 1) com GF(16). O processo se inicia em colocarmos os números binários
com suas respectivas potências e depois seguindo o conceito onde a soma (c = a + b) resulta zero (0)
quando (a = b) e um (1) quando (a ≠ b) temos.
Quando se soma um elemento por ele mesmo, devido à função XOR o resultado é igual a zero (0), ou
seja, por exemplo, (2 + 2 = 0), a tabela 1 sobre a adição para o GF(16) inclui as somas com os
elementos na forma decimal.
Tabela 1: Resultados da adição entre elementos de campo finito com GF(16)
A operação de subtração em campos finitos tem o mesmo efeito que o da adição pois segue o mesmo conceito da função XOR onde a soma (c = a + b) resulta
zero (0) quando (a = b) e um (1) quando (a ≠ b), logo,( 2 – 2 = 0) e (10 – 13 = 7).
6
Antes de prosseguirmos com as outras operações aritméticas, se faz necessária a apresentação do
polinômio gerador de campo ou polinômio primitivo, p(x). Esse polinômio tem grau m no qual é
irredutível, ou seja, sem fatoração. Que forma parte do processo de multiplicação de dois elementos
de campo finito. Para GF(16) temos o seguinte polinômio primitivo p(x) a seguir.
Uma alternativa que também poderia ser usada para GF(16) é:
Todos os elementos diferentes de zero podem ser obtidos utilizando se o fato do elemento primitivo α
ser raiz do polinômio gerador de campo, ou seja, (p(α) = 0), para o nosso exemplo de GF(16),
substituindo temos:
Lembrar que – pode ser substituído por +, já que a soma de elementos iguais é zero.
Multiplicando a cada estágio por α, e substituindo α4 por (α + 1) e adicionando se os termos pode-se
obter o campo completo dos elementos de 0 à 14, como mostra a tabela 2, lembrando que α é igual a
dois (2). Para elementos posteriores a α14, basta voltar ao inicio da tabela, ou seja para α15 teríamos o
mesmo valor que α0 assim em diante.
Tabela 2: O campo dos elementos para GF(16) com p(x) = x4 + x + 1
Com base nesse conceito do polinômio p(x), temos que uma multiplicação de campo de Galois se
define como o resto da divisão entre o produto entre os dois elementos a serem multiplicados pelo
polinômio primitivo, p(x). Ou seja, somente assim o grau do polinômio resultante será sempre (m – 1)
ou menor. Tomando como exemplo a multiplicação de 10 e 13 em GF(16), representado em suas
formas polinomiais temos
7
Para completarmos precisamos dividir esse resultado pelo polinômio primitivo, (x4 + x + 1). O
processo de divisão de um polinômio por outro é similar a longa divisão convencional, ou seja, é
necessário multiplicar o divisor por um valor que torne seu grau de mesmo valor que o dividendo e em
seguida subtrair que é o mesmo processo de adicionar.
O quociente da divisão é (x2 + x +1) e o resto, o qual é o produto de 13 e 10 que era o que estávamos
inicialmente buscando é (x3 + x + 1) (binário 1011 ou em decimal 11), observe que o grau do resto é
menor que m. Ou seja, podemos escrever que (10 x 13 = 11). A tabela 3 ilustra de forma prática os
resultados das multiplicações dos elementos de campo finito em decimal.
Tabela 3: Resultados da adição entre elementos de campo finito com GF(16)
8
Construindo um Código Reed Solomon
Um código Reed Solomon RS(n,k) é construído através de um polinômio gerador de código
representado por g(x), este possui m fatores, em que m é igual a raiz quadrada de (n+1), para o nosso
exemplo iremos usar um código Reed Solomon (15,11), ou seja, o comprimento do bloco é de 15
símbolos no qual temos 11 símbolos de informação e 4 símbolos de paridade, o que implica dizer que
nesse código a capacidade de correção de erro será de até 2 símbolos, pois nesse exemplo temos (2t =
m), (t = 2), o campo de Galois será GF(2m) igual a GF(16), e cada símbolo consiste em uma palavra de
4 bits.
O número de fatores que constituem um polinômio gerador de código é igual ao valor de m, ou seja
para nosso exemplo podemos escrever:
Substituindo a por 2 temos:
Fazendo a multiplicação de campos finitos obtemos:
Nos sistemas DVB-T e ISDB-T a diferença em relação ao exemplo dado, é o valor de n e k, que irão
produzir outros valores para os polinômios, tanto o primitivo como o de gerador de código, que serão
apresentados nas seções sobre DVB-T e ISDB-T.
Codificação e Decodificação Reed Solomon
Agora com a teoria de campo de Galois fornecida na seção podemos prosseguir com o processo de
codificação e decodificação do código Reed Solomon.
Processo de codificação
Inicialmente temos a mensagem representada pelo polinômio M(x) que possui k símbolos, em seguida
9
deslocamos essa mensagem multiplicando por xm, finalmente divide-se pelo polinômio g(x) detalhado
anteriormente, seguindo o código de RS(15,11) faremos um exemplo para melhor compreensão, onde
a nossa mensagem terá 11 símbolos de 4 bits com valores de (1,2,3,4,5,6,7,8,9,10,11) para ser
codificada, colocando em forma polinomial teremos:
Ao deslocar com x4 teremos:
Agora para produzimos um resto r(x) com 4 símbolos de paridade dividimos pelo (g(x) = x4 + 15x3 +
3x2 + x + 12), essa divisão será feita como mostrado anteriormente pela longa divisão, figura 4,
lembrando que todas as operações aritméticas envolvidas (adição e multiplicação) são de elementos
finitos, para facilitar pode se utilizar os dados das Tabelas 2.1 e 2.3, existem outro método que podem
ser utilizados para se fazer a divisão entre dois polinômios de elementos finitos, “Pipelined Version”,
que não será exposta [6].
Figura 4: Divisão de M(x) por g(x) com GF(16) produzindo r(x)
Agora temos o resto da divisão r(x) que pode assumir a forma polinomial (3x3 + 3x2 + 12x + 12),
então a mensagem codificada chamada de T(x) resulta da soma da mensagem deslocada somada com
o resto r(x) calculado.
Teoria de Correção de Erro
Erros podem ser adicionados a mensagem no canal, uma forma de representar esse erro é pelo
polinômio E(x), ou seja a mensagem que o receptor irá receber será a mensagem original mais os
erros, chamaremos então de R(x) a mensagem recebida que é expressa por:
Onde:
10
Lembrando que o número de fatores não zeros no polinômio E(x) não deve exceder t, no caso 2.
Agora partiremos para o primeiro passo da decodificação, que é dividir a mensagem recebida R(x)
pelos fatores (x + αi) do polinômio gerador de código, nesse processo obteremos um resto desta
divisão que chamaremos de síndrome S(x):
Onde
rearranjando
tere
mos:
Substituindo x por αi, teremos:
Agora iremos introduzir dois erros na 6ª e 13ª posição da mensagem codificada, produzindo um
polinômio de erro E(x) com dois (2) termos não nulos.
Então, agora iremos calcular a síndrome, sabendo que a mensagem recebida agora se constitui de
erros, ou seja, T(x) agora passa a ser o que era antes mais a adição do polinômio E(x), usando a
aritmética de Galois, temos que o sexto termo que era 6x9, mais 13x9 vindo do erro passa a ser 11x9 e
o décimo terceiro termo que era 3x2, mais 2x2 passa a ser 1x2.
A Síndrome que é o mesmo que R(x), agora pode ser encontrada substituindo se o x por α e utilizando
se a tabela 2, lembrando que (Si = αi) como mostrado a seguir:
Onde:
S1 = R(a1) = 3;
S2 = R(a3) = 4;
S3 = R(a2) = 12.
Uma vez calculado os termos da síndrome pode se escrever o polinômio S(x) da seguinte maneira:
11
Substituindo pelos valores encontrados:
O próximo passo é encontrar o polinômio localizador de erros representado por Λ e o polinômio
magnitude do erro representado por Ω, onde seus coeficientes podem ser encontrados pelo MDC de
dois números resultantes do processo da divisão que será exposto em seguida, abaixo os polinômios
Λ(x) e Ω(x).
Agora o processo da divisão para encontrar os dois polinômios que buscamos para a solução de Λ(x) e
Ω(x) que consiste em dividir x2t pela S(x) [6]. Nessa divisão será produzido um resto de grau maior t,
igual a (6x2 + 6x + 4), então se faz necessário continuar dividindo, agora a síndrome é o dividendo e o
resto da primeira divisão se torna o divisor, o que irá resultar um resto de grau menor que t, igual ao
polinômio (3x + 14). Em ambas as divisões irão também encontrar como resultado dois polinômios na
parte da direita do processo de divisão, são eles (10x + 6) e (7x2 + 7x + 9).
Uma vez encontrado o resto (3x + 14) e o polinômio (7x2 + 7x + 9) ao se fazer o MDC iremos
encontrar os polinômios que buscamos:
Agora basta usarmos o polinômio localizador de erros para encontrarmos os erros, para o exemplo
temos erros nas posições α6 e α13 ou seja, se substituirmos e encontrarmos como resultado o valor
zero (0), implicará dizer que é a raiz da equação, logo a posição do erro, caso o valor seja diferente de
zero (0) significa que não possui erro naquela posição, veremos para a posição 14 que sabemos não
possui erro.
Ou seja 3 ≠ 0, não possui erro.
A seguir a tabela 4, que representa o método “Chien search”, mostra os resultados para todas a
12
posições, reparar que nas posições 6 (α-9) e 13 (α-2), aparece o valor zero (0), o que implica que
nestas posições se tem erro.
Tabela 4: Termos do exemplo “Chien Search”
O cálculo dos valores do erro pode ser feito através da equação de Forney [5].
onde
(2.11)
Então, Substituindo Xj por (α9) = 10 e (α2) = 4, referente aos símbolos nas posições 6 e 13 que
contém erros, e (α-9) = 12 e (α-2) = 13 na equação Ω, encontraremos os seguintes resultados:
Finalmente o último passo que será a correção dos erros, se dá pelo processo no qual os valores dos
erros Υ = (13 e 2), são adicionados a mensagem recebida R, nas posições X = (6 e 13).
Ou seja, R será composto agora por:
13
Algoritmo de Viterbi
Nessa seção será ilustrado um exemplo do algoritmo de Viterbi [8], com o objetivo de provar sua
eficiência diante de erros percebidos no canal de transmissão.
O código convolucional é frequentemente utilizado em sistemas de transmissão digital onde se tem
baixa taxa de relação sinal-ruído. Esse código pode alcançar uma transmissão livre de erros, também
pelo fato de adicionar informação redundante a mensagem original. A escolha do código
convolucional é dependente da aplicação, do meio de transmissão e claro da taxa de transmissão
desejada.
O Algoritmo
O sistema que iremos ilustrar de exemplo será de uma máquina de 4 estados para uma taxa de 1/2 , ou
seja, 2 bits de saída para cada bit de entrada. Na figura 5 temos um diagrama em blocos do codificador
convolucional, em que a entrada é representada por X(n) e as duas saídas por G0(n) e G1(n), dois
atrasadores, D, são postos no sistema de forma que podemos encontrar o número de estados por 2k, no
caso 22, que resulta em 4 estados.
Figura 5: Diagrama de blocos do codificador convolucional
As saídas possuem os respectivos polinômios, (G0(n) = x(n) +x(n – 1) +x(n – 2)) e (G1(n) = x(n) + x(n
– 2)), o sinal de + equivale a porta lógica XOR, em que a saída é nula (0), para termos iguais e caso os
termos sejam diferentes, a saída é um (1). A seguir o estado de diagrama na figura 6, que ilustra todas
as possibilidades do sistema e ao lado o diagrama de Trellis ordenado, que mostra a influência nas
saídas e nas transições de estados para cada entrada do codificador.
14
(a)
(b)
Figura 6: Diagrama de transição (a) e de Trellis (b)
Para nosso exemplo tomaremos a palavra a ser transmitida de 1011010100, lembrando que para uma
apropriada correção de erros é necessário que a entrada seja 10 vezes o número de atrasadores mais 1,
em nosso exemplo, 10 vezes (k + 1) que equivale a 10 vezes 3, ou seja, seriam necessários receber 30
símbolos de entrada antes de começar o processo de decodificação. A tabela 5 mostra os valores para
a palavra transmitida, em que a primeira coluna representa o símbolo de entrada, I, os dois
atrasadores, X1 e X2, e finalmente as duas saídas, G0 = (111) e G1 = (101):
Tabela 5: Tabela da verdade do codificador
I
X1
X2
G0
G1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
0
1
0
0
0
1
0
1
0
0
0
1
1
1
Essa saída codificada, agora precisa ser transmitida em forma de sinal analógico, em que o bit zero (0)
será representado por uma tensão positiva e o bit um (1) por uma tensão negativa, já na recepção o
sinal é quantizado por um quantizador de 3-bit, em que o valor de bit zero (0) é representado por três
(3), e o bit um (1) por menos quatro (-4). Porém ao passar pelo canal essa informação pode sofrer
erros e ser interpretada diferente, ou seja, ao se transmitir (11), podemos não receber o valor esperado
de (-4,-4), para isso que o Viterbi utiliza de valores anteriores previamente recebidos codificados pelo
codificador convolucional. Na figura 7 a seguir será mostrado esse processo para o nosso exemplo
para facilitar a compreensão do procedimento.
15
Figura 7: Exemplo de codificação/decodificação
Após a quantização do sinal recebido, o processo de decodificação Viterbi entra em ação, nesse
estágio temos duas majoritárias operações a serem realizadas a cada par de símbolos, o cálculo de
métricas de desvio, pelo método da Distância Euclidiana, no nosso exemplo para o par de símbolos
(G0(n), G1(n)) = (-3,-4) para os 4 possíveis estados (00), (01), (10) e (11) em que para facilitar os
cálculos, o zero (0) representa o número +1 e o um (1) representa o número -1, teremos as seguintes
operações.
16
Esse processo se repete para todos os símbolos, uma vez tendo as métricas de desvio, partiremos para
a segunda operação, onde as métricas de estado e a determinação do melhor caminho podem ser
determinadas. No tempo inicial zero (0) todas as métricas de estados começam com valor nulo exceto
pelo estado (00) que inicia com valor 100, isso é feito para forçar que os outros estados não
participem da escolha do melhor caminho no instante zero (0).
Sendo assim as métricas de estado são atualizadas a cada dois estágios, onde a que possuir o maior
valor é armazenada como a nova métrica de estado e o correspondente caminho é também
armazenado como sendo o melhor.
Um exemplo seria pegar no instante inicial zero, observando a figura 6 (b) temos que do estado (00)
podemos chegar aos estados (00) e (10), com as respectivas métricas de estados, (00) que equivale a
-7 e (11) que equivale a +7, no instante um (1) agora teremos as duas possibilidades, no estado (00)
que 100-7 = 93 e no estado (10) que 100+7 = 107, mas precisamos proceder com mais um passo pra
definir o melhor caminho, ou seja, do estado (00) de novo podemos ir para (00) ou (10), o que nos
daria respectivamente 93-7 = 86 e 93+1 = 94, e do estado (10) podemos ir para (01) e (11) que
resultaria em 107+7 = 114 ou 107-7 = 100, ou seja dentre os 4 caminhos o maior seria o que resulta
em 114.
Portanto esse é o caminho armazenado, em que para uma transição de caminho de um estado superior
para um inferior se escolhe o valor 1 e para a transição contrária se tem o valor 0, na figura 8 se tem a
ilustração desse exemplo para facilitar a visualização do processo, em que mostra os instantes zero,
um e dois.
Figura 8: Instantes 0,1 e 2 de tempo para a decodificação Viterbi e Diagrama de Trellis
O procedimento para a saída do decodificador é feito após ter sido completado a métrica do último
símbolo do frame, para então começar a representar as transições como a saída decodificada.
17
TV Digital I: Modulação OFDM
Como visto anteriormente, os canais de transmissão nacionais, estão constantemente sujeitos as
interferências, portanto já vimos o conjunto de códigos corretores de erros para combater os possíveis
erros inseridos nos sinais transmitidos através desses canais.
Entretanto as transmissões de TV digital requerem altas taxas de transmissão aumentando assim a
possibilidade de ocorrência de interferências. Nesse capítulo será introduzida uma técnica de
modulação que permite o uso da faixa de frequência junto com outras técnicas para melhorar a
robustez contra as intempéries dos canais de transmissão.
Desvanecimento Seletivo em Frequência
Como explicado anteriormente um canal que sofre de multipercurso, faz com que o receptor receba
variações do sinal transmitido com atrasos, e quanto maior esses valores de atraso menor será o
espaço entre os nulos espectrais do sinal, causando uma dispersão temporal dos símbolos e assim
introduzindo a interferência intersimbólica (ISI).
Agora veremos um parâmetro, chamado de banda de coerência (BWc) para poder analisar se ocorre
ou não o desvanecimento seletivo em frequência, a seguinte equação determina a banda de coerência
do canal.
Em que temos o fator de correção (k), que pode assumir os seguintes valores, 5 (para coerência de
50%) ou 50 (para coerência de 90%) e σt é o valor rms (root mean square) do atraso de propagação
do canal. Para que ocorra um desvanecimento seletivo em frequência, introduzindo ISI no sinal, basta
que a largura de faixa do sinal seja maior que a banda de coerência do canal, caso contrário o
desvanecimento será plano.
Modulação M-QAM
A modulação M-QAM é combinada pela modulação em fase e amplitude do sinal, que usa com maior
eficiência a largura de faixa, esse tipo de constelação é constituído de M símbolos, cada qual
representado por (k = log2(M)) bits. A seguir a figura 9 que mostra um modulador M-QAM genérico
(a) e em baixo a constelação para M igual a 16 (b).
(a)
(b)
Figura 9: Modulador M-QAM genérico (a) Constelação 16-QAM (b)
18
Tipos de Sistemas
Os sistemas podem ser classificados por serem de portadoras únicas ou de múltiplas portadoras, o
primeiro sistema, de uma única portadora, é utilizado para transmitir sequencialmente os dados pelo
canal de comunicação. O parâmetro, largura de faixa (BWs), pode ser escrito da seguinte forma.
onde
Devemos notar que quanto maior a taxa da transmissão de dados (Rs), maior será a largura de faixa
ocupada pelo sinal, o que implica em uma maior probabilidade de ocorrência de desvanecimento
seletivo em frequência, pois uma vez que BWs > BWc ocorrerá o desvanecimento seletivo.
Para evitar esse fato, olhando a equação 3.2, se deve reduzir o Rs porém para isso ou diminuímos a
taxa de transmissão, algo que não podemos almejar devido a necessidade de altas taxas para
transmissão de TV digital, ou aumentar a ordem da constelação, porém ao se fazer isso se deve ter o
cuidado com o problema do ruído AWGN.
Uma forma de se contornar esse problema é a introdução do conceito de sistemas que utilizam não só
uma portadora, mas sim múltiplas, em que a largura de faixa é dividida de acordo com o número de
divisões feitas, chamadas de subportadoras (feixes), que possuem diferentes frequências, essas são
transmitidas paralelamente com uma taxa de transmissão expressa por:
E a largura de faixa ocupada por cada subportadora é igual à expressão seguinte:
O nosso objetivo é reduzir a largura de banda do sinal, então temos que encontrar a distância mínima
entre as subportadoras, Δfmin, que são moduladas por frequências de modo que se garanta o mínimo
espaçamento sem a ocorrência da sobreposição espectral. Isso pode ser feito limitando se a largura de
cada subportadora entre seus pontos de nulos, respeitando a equação.
Agora que a banda foi reduzida proporcionalmente ao número de portadoras, para que isso se torne
útil todas essas subportadoras precisam ser transmitidas em um único canal, isso é possível sem causar
interferências entre subportadoras caso elas sejam ortogonais entre si, permitindo assim a separação
dos vários subcanais. Esse método de modulação costuma ser chamada de OFDM (do inglês,
Orthogonal Frequency Division Multiplexing) e é empregado em sistemas de radiodifusão, em
transmissão digital sobre linhas telefônicas e em redes locais sem fio e também em alguns dos padrões
de TV digital, como o europeu e japonês [7].
Uma boa forma de visualizar a vantagem em relação à eficiência de banda espectral é olhando a figura
10 que mostra os espectros de frequência para os sistemas de portadora única, FDM e OFDM.
19
Figura 10: Comparação entre os espectros de sinais de portadora única, FDM e OFDM
Com a definição do conceito de OFDM, temos uma sensação de ser um sistema muito vantajoso em
relação aos demais, de fato é um sistema que utiliza o espectro de frequência com técnicas avançadas,
em que possibilita as transmissões com altas taxas de dados sem ter problemas com a ISI, pelo uso da
ortogonalidade entre as portadoras, ao contrário do sistema de portadora única, quando ocorre o
desvanecimento seletivo em frequência apenas os símbolos transmitidos nas portadoras afetadas pelo
desvanecimento são perdidos.
Uma importante característica que essa modulação possui é a robustez contra erros em rajada na
recepção, analisando os símbolos no domínio do tempo percebemos que os símbolos têm maior
duração de acordo com o número de subportadoras, tornando se robusto ao desvanecimento plano,
que ocasiona atenuação na potência do sinal recebido por certo período de tempo.
Por tratarmos de transmissões com altas taxas, temos um curto tempo de símbolo em sistemas de
portadora única, ocasionando a perda de vários símbolos durante o período de desvanecimento, ao
contrário do sistema multiportadora, todos os N símbolos são afetados por serem transmitidos
paralelamente, porém com um número elevado de subportadoras o tempo de símbolo é maior que a
duração do desvanecimento, fazendo com que a interferência não acarrete na perda de símbolos.
20
Figura 11: Comparação entre os efeitos de desvanecimento plano
entre sistemas de portadora única e multiportadora.
Como pode ser visto na figura 11 acima os símbolos S3,S4 e S5 são afetados nos sistema de portadora
única, havendo erros em rajada, o que não acontece nos símbolos de multiportadora por apresentar
um tempo de símbolo muito maior que a duração do desvanecimento.
Como será dito no capítulo sobre os padrões de TV digital, antes da modulação OFDM existem blocos
de entrelaçadores, para evitar erros em rajadas, possibilitando com que os blocos corretores de erros já
estudados no capítulo anterior possam efetivamente realizar uma recepção livre de erros. E logo após
o bloco da modulação OFDM se tem a inserção do intervalo de guarda, tornando o tempo de símbolo
muito maior do que a dispersão temporal do canal, aumentando mais ainda a robustez contra ISI.
Após apresentadas todas essas vantagens, temos que se lembrar de dois majoritários problemas
inerentes a implementação desse método, a complexidade na geração e detecção dos símbolos que se
tornam maior de acordo com o número de subportadoras, devido a necessidade de sincronismo de fase
e frequência.
E por questão de viabilidade financeira os amplificadores são projetados para trabalharem na região
de maior eficiência, em que o ponto de operação é próximo ao ponto de saturação, fazendo com que
os picos do sinal sejam ceifados antes da transmissão, um trabalho realizado para combater esse
problema mostrou que mudanças na disposição da constelação pode-se contornar esse fato [9].
Geração e Detecção dos Sinais OFDM
Existem dois métodos para se gerar e detectar os símbolos OFDM, o primeiro que é chamado de
método da força bruta, se torna limitado à medida que o número de subportadoras aumenta a
complexidade de implementação devido a necessidade de sincronização dos osciladores complexos, o
segundo, usa o processamento digital de sinais, para discretizar o sinal no domínio do tempo e utilizar
a DFT, porém o grau de complexidade computacional aumenta de forma exponencial de acordo com o
número de subportadoras, com isso se usa a FFT, um método que torna o cálculo da DFT mais eficiente diminuindo a carga computacional
exigida.
No método da força bruta temos o sinal a ser transmitido, uma sequência binária m(t), mapeado em
fase, in pela função cosseno, e em quadratura, qn pela função seno, ambos de frequência angular de
wn, compondo o sinal complexo cn. Este sinal por sua vez passa por um conversor serial/paralelo
tornando-se agora em N feixes de símbolos complexos paralelos que modulam as subportadoras
complexas para serem somados, formando o sinal OFDM expresso por:
21
Uma observação importante é que todas as subportadoras possuem ciclos completos durante o tempo
de T segundos, o que possibilita a detecção do i`N, como mostra a equação a seguir.
Para obtermos o sincronismo entre os osciladores do transmissor e do receptor são inseridos
portadoras pilotos que geram um sinal de referência para o receptor, além de sua função de
sincronismo, esse sinal passa a ser útil na estimativa do canal, no qual se medem as atenuações
causadas nas amplitudes das portadoras pilotos, em que através da interpolação podemos estimar a
resposta em frequência do canal, uma vez que essas portadoras pilotos não são moduladas, este
procedimento é ilustrado na figura 12 abaixo.
Figura 12: Equalização no domínio da frequência
O segundo método em que possibilita a simplificação da construção do transmissor e receptor utiliza
de DSPs, (processamento digital de sinais), em que podemos analisar o sinal OFDM discretizado no
domínio do tempo.
Com as seguintes definições, a frequência de amostragem sendo o inverso do período T, a frequência
angular digital (Ω = 2Πfn), as frequências das subportadoras são (fs = n / T) e o intervalo das amostras
do sinal OFDM, (tm = mts) em que ts representa o tempo de símbolo OFDM, sendo assim (T = Nts),
22
com isso podemos escrever a seguinte equação.
,
(3.8)
Esta equação nos sugere a possibilidade do sinal OFDM poder ser obtido através da transformada
discreta de Fourier inversa (IDFT) do vetor de N símbolos complexos, cn. Iremos analisar a situação
em que na modulação/demodulação em que tanto a parte real como a imaginária do sinal é
transmitida. A seguir a figura 13 em que mostra o diagrama em blocos do sistema OFDM.
Figura 13: Sistema OFDM utilizando IDFT/DFT
O problema neste método consiste na complexidade dos cálculos computacionais derivados da IDFT e
DFT, pois enquanto o tempo de símbolo OFDM aumenta linearmente com o número de subportadoras,
o tempo requerido para processar a IDFT e a DFT aumenta exponencialmente com N.
Para esse problema, se utiliza um algoritmo que diminui o tempo de processamento da IDFT e DFT,
atendido pelo nome de transformada rápida de Fourier (FFT), mas para que o tempo seja reduzido
efetivamente, precisamos que a seguinte condição seja satisfeita.
Sendo assim o sistema OFDM implementado pelo método IFFT/FFT pode ser visto na figura 14 a
seguir.
23
Figura 14: Sistema OFDM utilizando IFFT/FFT
Definições Importantes
Ortogonalidade
Para que a condição de que todas subportadoras tenham um número inteiro de ciclos dentro do
símbolo OFDM, figura 15 (a), e para que não haja a ocorrência de interferência entre as subportadoras
adjacentes ICI, elas são arranjadas de tal forma que no centro de suas frequências se tenha um nulo
como mostra a figura 15 (b).
Figura 15: Sinal OFDM de 4 subportadoras. No domínio do tempo (a) e frequência (b)
Intervalo de Guarda
No combate da ISI, vimos que é necessário que o tempo do símbolo seja suficientemente maior que a
dispersão temporal do canal, para isso se insere um intervalo de guarda com valor superior ao
esperado do espalhamento temporal. Esse valor acrescido ao invés de ser um espaço vazio, é
constituído pela extensão cíclica do símbolo OFDM, garantindo dessa forma que se tenham um
número inteiro de ciclos completos na parte útil do símbolo OFDM, garantindo a condição de
ortogonalidade. O símbolo OFDM com o intervalo de guarda pode ser visto na figura 16 a seguir.
24
Figura 16: Intervalo de guarda, formado por uma cópia cíclica da parte final do símbolo OFDM
Janelamento
A modulação QAM, causa variações bruscas de fase, como o sistema OFDM é gerado a partir de
várias subportadoras QAM sem filtro, o espectro decai lentamente de acordo com a função sinc. Para
que o espectro decaia rapidamente, um janelamento do tipo cosseno levantado com o roll-off β é
aplicado a cada símbolo OFDM. Devemos lembrar que para valores maiores de roll-off melhoram o
espectro porém reduzem a tolerância do espalhamento temporal do símbolo OFDM. A seguir a figura
17 representando para vários valores de roll-off o decaimento do espectro de frequência.
Figura 17: Espectro do sistema DVB-T 8k 64-QAM, 3/4, 1/16 com janelamento de cosseno
levantado para valores de roll-off de 0 (janela retangular), 0.025, 0.05 e 0.1.
Sincronismo
Nesta seção iremos reforçar que o receptor precisa passar por dois estágios de sincronismo, o temporal
e o de frequência, o primeiro consiste em achar os limites do símbolo OFDM, evitando a ISI e a ICI, e
a segunda é estimar as variações de frequência entre subportadoras evitando a ICI.
A variação de frequência pode ser gerada devido ao ruído de fase dos osciladores do transmissor e
receptor, esse fato ilustra uma desvantagem para o sistema OFDM que se torna muito sensível aos
erros de sincronização, o que não acontece com sistemas de portadora única em que apenas a relação
sinal-ruído no receptor é degradada pela perca de foco nas constelações.
Existem vários métodos para essas sincronizações, na tese de mestrado do Cristiano Akamine
apresentado para a UNICAMP [4], se encontra referências para tais, esses métodos se baseiam na
sincronização ou dos sinais pilotos ou do intervalo de guarda.
25
TV Digital I: Padrão Europeu – DVB-T
Ao redor do mundo temos vários padrões de televisão digital, tais como o americano, europeu,
japonês, chinês e o brasileiro, com suas respectivas siglas, ATSC, DVB-T, ISDB-T, DTTB e ISDTV.
Porém nesse trabalho, como estudamos a técnica OFDM, e analisaremos o entrelaçamento no tempo e
por questão de foco, serão abordados com detalhes apenas os modelos, europeu e japonês, exibindo os
diagramas de blocos, as codificações de canais, as modulações e as configurações do quadro OFDM,
terminando com as taxas de transmissão.
Esta seção apresenta o sistema DVB-T, onde as características que serão expostas do padrão europeu
foram baseadas na norma ETS 300744 V1.4.1 de abril de 2001 [10].
Diagrama de Blocos
O diagrama de blocos apresenta como entrada a saída do MPEG-2, um pacote de informações
multiplexado com dados, vídeo e áudio. Os processos seguintes deverão ser aplicados na sequência de
dados provenientes da saída MPEG-2:
Começando pela randomização do sinal pelo dispersor de energia, para então termos o codificador
externo, formado pelo código de Reed Solomon com o entrelaçador externo de bytes; na parte do
codificador interno, se verifica uma flexibilidade, pois a taxa mãe do codificador convolucional de 1/2
tem ajuste de puncionamento com entrelaçamento de bits e símbolos.
Em seguida o sinal é mapeado em um dos seguintes estados de modulação, QPSK, 16-QAM ou
64-QAM, para depois uma estrutura de sincronismo, no bloco de adaptação de quadro, ser incluída
através de sinais pilotos e TPS (parâmetros de transmissão e sinalização). Finalmente se deparamos
com o último processo da modulação, formado por um modulador OFDM, com o intuito de aumentar
a robustez sobre ISI, opera com IFFT de tamanho 2k e 8k, logo após se insere o intervalo de guarda
com prefixo cíclico melhorando ainda a robustez contra interferências verificadas nos canais de
transmissão.
Iremos dividir o diagrama em 4 partes, o codificador, o estruturador de quadros, o modulador e o
circuito de saída TX, que podem ser vistos na figura 18.
Figura 18: Diagrama de blocos funcional do sistema DVB-T
Codificador
26
No primeiro bloco do codificador temos o divisor de sinais (“Splitter”), que é utilizado para transmitir
dois feixes de dados com conteúdos diferentes, como exemplo, um feixe destinado ao sinal padrão de
TV digital, outro para um sinal em um canal de TV digital destinado ao serviço móvel.
Dando sequência ao codificador, temos a adaptação do MUX, em que sua saída consiste de um sinal
com pacotes formados por 187 bytes de informação útil mais 1 byte destinado a sincronismo, como se
verifica na figura 19 a seguir.
Figura 19: Pacote de MPEG-2
Em seguida esses pacotes precisam passar pelo dispersor de energia, para que sequências repetidas de
0s e 1s sejam espalhadas, evitando-se assim a ocorrência ISI, o processo funciona com base em uma
sequência binária pseudo-aleatória chamada de PRBS, que é formado pelo polinômio gerador (1 + x14
+ x15), em que os dados são serializados e somados a essa sequência.
Os valores iniciais desses registradores são “100101010000000”, o tamanho da sequência desse
aleatorizador é igual a (215 – 1) que resulta em 32767, o esquema desse aleatorizador é mostrado na
figura 20 abaixo.
Figura 20: Aleatorizador de dados
Soma-se junto com a saída do aleatorizador 8 pacotes MPEG-2, sendo o primeiro byte formado pelo
pulso de sincronismo invertido (B8HEX), para tal se precisa desabilitar o PRBS durante os 8 primeiros
bits do MPEG-2.
O pacote de dados aleatorizados então se constitui de 8 pacotes MPEG-2, em que 1 byte é de
sincronismo (B8HEX) e os outros 1503 bytes são de dados, somados ao aleatorizador como mostra a
figura 21 a seguir.
27
Figura 21: Pacote de dados aleatorizados
Olhando o próximo bloco do diagrama do sistema DVB-T temos o codificador externo, em que se
escolheu o código de bloco, Reed Solomon RS(n,k,t), em que a n representa a saída, k a entrada e t a
capacidade de correção de erros. No DVB-T temos os seguintes valores, (n = 204) e (k = 188), t pode
ser obtido dividindo se pela metade o número de símbolos de paridades, ou seja nesse caso
(204-188)/2 = 8, o que representa a capacidade de correção de erros para o código RS(204,188,8).
Como explicado em capítulo anterior, temos para esse código o seguinte código polinomial gerador
g(x) = x0 + x1 + x2 + x15 e o seguinte polinômio gerador de campo p(x) = x0 + x2 + x4 + x8,
necessários para a formação de um código Reed Solomon. Para se ter uma implementação curta desse
código basta acrescentar 51 bytes preenchidos com zeros antes da entrada do codificador, depois de
codificados esses bytes são descartados, ficando assim a seguinte configuração, RS(255,239,8).
Depois de ter sido inserido redundância no pacote de dados, ficamos com a seguinte configuração do
pacote de dados, exposta na figura 22.
Figura 22: Pacote de dados com RS(204,188,8)
Agora os pacotes são entrelaçados por um entrelaçador externo constituído por um entrelaçador
convolucional de (I = 12) ramos e (J = 17) bytes de memória formados por registradores de
deslocamento. Em que cada ramo se tem ((I-1) 17) registradores e cada símbolo oito (8) bits.
Conectados ciclicamente na saída Reed Solomon os ramos transferem 1 símbolo por vez, como mostra
a figura 23.
Figura 23: Diagrama do entrelaçador/desentrelaçador
Observando o primeiro ramo, podemos notar que não tem presença de registradores, ou seja, nesse
ramo se transfere os símbolos de sincronismo imediatamente, no ramo seguinte se encontra uma
memória, no seguinte duas memórias, e assim em diante. Nesse momento o pacote de dados de 204
Bytes, exceto pelo byte de sincronismo estão todos entrelaçados.
28
Agora iremos para o processo de codificação e entrelaçamento interno, em que o nível agora de dados
é por bit e símbolo. O codificador convolucional com puncionamento forma o bloco codificador
interno, como visto em capítulo anterior, este codificador apresenta taxa mãe de 1/2 e 64 estados, com
a saída X gerada pelo código convolucional G1 = 171OCT e para a saída Y o código G2 = 133OCT,
como podemos ver na figura 24 a seguir.
Codificador Convolucional (n,k,m) onde:
G1 = 1 1 1 1 0 0 1 = 1+D+D2+D3+D6;
G2 = 1 0 1 1 0 1 1 = 1+D2+D3+D5+D6;
n = saída (número de somadores modulo 2);
k = entrada;
m = memória (número de registradores de deslocamento).
Figura 24: Codificador convolucional (2,1,6) com taxa de 1/2
Através do puncionamento a taxa de 1/2 pode ser alterada para 2/3, 3/4, 5/6 e 7/8 como mostra a
tabela 6.
Tabela 6: Puncionamento do código convolucional
Depois do codificação interna, iremos para o entrelaçamento interno, o qual tem três etapas, o
demultiplexador, o entrelaçador de blocos e o entrelaçador de símbolos. O demultiplexador consiste
em dividir o feixe de entrada em v bits, em que v = 2 para QPSK, v = 4 feixes para 16-QAM e v = 6
feixes para a modulação 64-QAM, na tabela 7 (a) é possível visualizar as saídas do demultiplexador
de bit não hierárquico para os 3 estados de modulação e na tabela 7 (b) as saídas para o
demultiplexador de bit hierárquico. A equação (4.1) representa a demultiplexação na modulação não
hierárquica, para a modulação hierárquica é utilizada a demultiplexação pelas equações (4.2) e (4.3) a
seguir.
29
Onde:
xdi = be,do;
xdi, é a entrada do demultiplexador para a modulação não hierárquica;
x'di, é a entrada do demultiplexador de alta prioridade;
x''di, é a entrada do demultiplexador de baixa prioridade;
be,do, é a saída do demultiplexador;
e, é o número do bit-stream demultiplexado número 0 ≤ e < 0;
do, é o número de saída demultiplexado do bit-stream que contém informação útil;
di, é o número de entrada do bit-stream que contém informação útil;
v, é o número de bits de entrada (2 para QPSK, 4 para 16-QAM e 6 para 64-QAM).
Tabela 7: Demultiplexador não hierárquico (a) e hierárquico (b)
Cada feixe de saída do demultiplexador será processado por um entrelaçador de bit separado, o qual
atinge a faixa entre I0 até I5, variando de acordo com o estado de modulação, I0 a I1 para QPSK, I0 a
I3 para QAM-16 e I0 a I5 para QAM-64.
O entrelaçamento de bits é feito apenas em dados úteis e o tamanho do bloco entrelaçado consiste em
126 bits, ou seja, para uma modulação no modo 2k, o símbolo OFDM possui 1512 bits úteis e no
modo 8k 6048, serão necessários 12 e 48 conjuntos de blocos em paralelo para transmitir
respectivamente no modo 2k e 8k.
O vetor de entrada para cada entrelaçador de bit é definida por:
30
B(e) = (be,0, be,1, be,2, ..., be,125)
onde e assume os valores de 0 a (v-1)
(4.4)
O vetor de saída do entrelaçador A(e) = (ae,0, ae,1, ae,2, ..., ae,125) é definido por:
ae,w = be,He(w), onde w = 0, 1, 2, ..., 125
(4.5)
A função de permutação, He(w) é diferente para cada entrelaçador, a seguir segue a função para cada
entrelaçador:
I0: H0(w) = w;
I1: H1(w) = (w + 63) mod 126;
I2: H2(w) = (w + 105) mod 126;
I3: H3(w) = (w + 42) mod 126;
I4: H4(w) = (w + 21) mod 126;
I5: H5(w) = (w + 84) mod 126.
Para ilustrarmos, seguem as Figuras 4.8 e 4.9 que mostram o entrelaçamento interno e o mapeamento
dos bits em símbolos para as modulações, hierárquica e não-hierárquica.
Figura 25: Entrelaçador interno com o mapeamento de bits em símbolos para modulação
hierárquica
31
Figura 26: Entrelaçador interno com o mapeamento de bits em símbolos para modulação
hierárquica
As saídas dos entrelaçadores de v bits são agrupadas para formar os símbolos de dados digitais, tal que
cada símbolo de v bits irá consistir de exatamente um bit de cada v entrelaçador. Então a saída do
entrelaçador de bit é uma palavra, y’ de v bits, onde a saída do entrelaçador I0 tem o bit mais
significativo, a seguir a equação (4.6).
y'w = (a0,w, a1,w, ..., av-1,w)
(4.6)
O propósito do entrelaçador de símbolos é mapear os v bits em palavras de tamanho de 1512 (modo
2k) ou 6048 (modo 8k) que representa as portadoras de informações úteis do símbolo OFDM. Então
para o modo 2k, 12 grupos de 126 palavras de dados são lidas sequencialmente em um veto Y’ =
(y’0,y’1,y’2,...,y’1511) vindas do entrelaçador de bit, similarmente para o modo 8k, um vetor Y’ =
(y’0,y’1,y’2,...,y’6047) é formados por um conjunto de 48 grupos de 126 palavras de dados
O vetor entrelaçado Y=(y0,y1,y2,...,yNmax-1) é definido por:
YH(q) = Y’q para símbolos pares q = 0,...,Nmax-1;
Yq = Y’H(q) para símbolos impares q = 0,...,Nmax-1;
Onde: Nmax = 1512 para o modo 2k ou 6048 para o modo 8k.
H(q) é a função de permutação definida por uma palavra binária R’i.
Uma palavra de bit binária (Nr-1), onde Nr =log2(Mmax) e Mmax = 2048 para o modo 2k ou 8192 para
o modo 8k.
R'i assume os valores:
i = 0,1:
R'i [Nr -2, Nr -3,...,1,0] = 0,0,...,0,0
i = 2:
R'i [Nr -2, Nr -3,...,1,0] = 0,0,...,0,1
32
2 < i < Mmax:
R'i [Nr -3, Nr -4,...,1,0] = R' i-1 [Nr -2, Nr -3,
..., 2, 1];
para o modo
2k:
para o modo
8k:
R'i [9] = R'i-1 [0] ⊕ R'i-1 [3]
R'i [11] = R'i-1 [0] ⊕ R'i-1 [1] ⊕ R'i-1 [4] ⊕
R'i-1 [6]
Um vetor Ri é derivado do vetor R’i por permutações de bits como mostra as Tabelas 4.3 e 4.4 a
seguir.
Tabela 8: Permutações de bit no modo 2k
Tabela 9: Permutações de bit no modo 8k
Em um modo similar de y’, y é formado por v bits:
yq' = (y0,q’,y1,q’,...,yv-1,q’)
(4.7)
Em que q’ é o número do símbolo da saída do entrelaçador de símbolos. Esses valores de y são usados
para mapear o sinal dentro da constelação, como descrito na próxima seção.
Estruturador de Quadro e Modulador
O sistema utiliza a transmissão OFDM, em que todas as portadoras de dados de um frame OFDM são
moduladas em QPSK, 16-QAM, 64-QAM, 16-QAM não uniforme e 64-QAM não uniforme, que são
mapeadas usando a codificação Gray.
Na modulação não hierárquica temos na figura 27 (a, b e c) os seguintes padrões de constelação, já na
modulação hierárquico existem dois feixes que são transmitidos simultaneamente, o de alta prioridade
que utiliza a modulação QPSK, e o de baixa prioridade que utiliza ou QPSK ou 16-QAM, esses dois
feixes, alta e baixa prioridade, são separados pelo fator α, na figura 28 (a, b) podemos ver as
constelações 16-QAM com fator α de valor de 2 e 4, já na figura 29 (a, b) temos a modulação
64-QAM (duplamente codificada em QPSK e 16-QAM) com valores de α iguais a 2 e 4.
33
(a)
(b)
(c)
Figura 27: Constelações QPSK (a), 16-QAM (b) e 64-QAM (c) não hierárquica
34
(a)
(b)
Figura 28: Constelação 16-QAM com α igual a 2 (a) e 4 (b)
(a)
(b)
Figura 29: Constelação 64-QAM com α igual a 2 (a) e 4 (b)
O sinal transmitido é organizado em quadros, cada quadro tem duração de TF, e consiste de 68
símbolos, para cada 4 quadros se forma um super quadro. Cada símbolo é constituído de (k = 6817)
portadoras para o modo 8k e (k = 1705) portadoras para o modo 2k e transmitidos com duração de TS,
esse período corresponde ao tempo útil TU mais o intervalo de guarda Δ, formado por uma parte
cíclica do tempo útil, TU, que é inserido por primeiro.
Um símbolo OFDM ocupa uma banda de 5.71 MHz, a tabela 10 representa os valores numéricos para
o símbolo OFDM, e a tabela 11 mostra os 4 valores possíveis do intervalo de guarda, em que são
múltiplos do período elementar T = 7/64 μs, ambas sobre um canal de 6 MHz.
Tabela 10: Valores numéricos do símbolo OFDM para 6 MHz
Tabela 11: Valores numéricos do símbolo OFDM para 6 MHz com 4 diferentes valores de Δ
35
Os símbolos de um quadro OFDM são enumerados de 0 a 67, os quais contêm informações de dado e
referência. Ou seja, além da transmissão de dados em um quadro OFDM, temos subportadoras
espalhadas, contínuas e TPSs (parâmetros de transmissão e sinalização).
Essas portadoras pilotos são utilizadas para a sincronização, de quadro, de frequência e tempo,
estimação de canal, identificação do modo de transmissão e correção do ruído de fase e como o sinal
OFDM tem suas subportadoras ortogonais entre si, cada símbolo OFDM pode ser considerado como
uma única portadora de tempo TU.
Onde:
k, Número da portadora;
l, Número do símbolo OFDM;
m, Número do quadro OFDM;
K, Número de portadoras transmitidas 2k ou 8k;
TS, Duração do símbolo OFDM com intervalo de guarda;
TU, Duração do símbolo OFDM sem intervalo de guarda;
Δ, Duração do intervalo de guarda;
Fc, Frequência central do canal de RF;
k', Índice da portadora relativo ao centro da frequência,
k' = k - ( Kmax + Kmin ) / 2;
cm,l,k, Dado a ser transmitido representado por um símbolo complexo que modulará uma
portadora k no símbolo l no quadro OFDM de número m.
Estes valores de símbolos, cm,l,k, são normalizados por um fator Z de acordo com a modulação
empregada, a tabela 12 ilustra os fatores de normalização.
Tabela 12: Fator de normalização
36
Vários símbolos de constelação (subportadoras) são modulados com informações de referência, no
qual os valores de transmissão são reconhecidos pelo receptor. Essas subportadoras são transmitidas
com um nível de potência superior, essas informações podem estar em subportadoras pilotos contínuas
ou espalhadas.
A cada 4 símbolos OFDM um piloto contínuo se coincide com um piloto espalhado, o número de
subportadoras que transmitem informações de dados úteis são, para o modo 2k de 1512 e para o modo
8k de 6048.
Os pilotos contínuos e espalhados são modulados de acordo com a sequência PRBS, wk,
correspondente a sua portadora de índice k. O polinômio dessa sequência é (x11 + x2 + 1), como pode
ser visto na figura 30.
Figura 30: Gerador do PRBS dos pilotos
Em que wk assume os valores de 0 ou 1 e a sequência PRBS é inicializada com a primeira portadora e
incrementada a cada portadora transmitida (piloto ou não). As localizações dessas portadoras, tanto
espalhadas, contínuas e de parâmetros de sinalização serão descritas a seguir.
As portadoras pilotos espalhadas de referência são transmitidas com uma potência superior ao das de
dados e são moduladas em BPSK que pode ser representada da seguinte maneira, a parte real,
Re(Cm,l,k) = 4/3 X 2(1/2 – wk) e a parte imaginária, Im(Cm,l,k) = 0, onde wk assume os valores de 0 e
1 provenientes do gerador PRBS. A posição de cada uma das subportadoras pilotos espalhadas é
representada pela equação (4.10) a seguir.
Em que l representa o número do símbolo OFDM, p o número de pilotos adicionados, (p ≥ 0) e k deve
ficar entre os valores Kmin e Kmax. A seguir a figura 31 que representa a estrutura do quadro OFDM,
mostrando o padrão da inserção das subportadoras pilotos.
37
Figura 31: Estrutura do quadro
Além das subportadoras pilotos espalhadas descritas acima, temos 177 pilotos contínuos no modo 8k e
45 no modo 2k, importante notarmos que o termo contínuo significa que aparece em todos os
símbolos OFDM, elas são inseridas como mostra a tabela 13:
Tabela 13: Posição dos pilotos contínuos
Similarmente aos pilotos espalhados, da sequência PRBS os pilotos contínuos são modulados com
potência superior das que transmitem dados, com as seguintes equações, na parte real, Re(Cm,l,k) =
4/3 X 2(1/2 – wk) e na parte imaginária, Im(Cm,l,k) = 0.
Finalmente os pilotos com parâmetros de sinalização também são moduladas em BPSK, com uma
potência unitária igual a 1. Cada símbolo OFDM possui 17 pilotos de sinalização no modo 2k e 68
para o modo 8k. Todos os pilotos de sinalização contêm as mesmas informações e são transmitidos em
cada símbolo OFDM, eles estão fixos dentro de cada símbolo OFDM, como mostra na tabela 14 e
carregam 68 bits de informação.
Tabela 14: Posição dos pilotos de sinalização
Taxa de Transmissão
38
A equação (4.11) descreve a taxa útil de bits transmitidos no sistema e a tabela 15 mostra as possíveis
taxas de transmissões para a modulação hierárquica (a) e não hierárquica (b).
Onde:
Rb = Taxa de bits efetiva transmitida;
Tu = Tempo útil do símbolo OFDM em μs;
Md = Tamanho da IFFT = 2048 para 2k e 8192 para 8k;
Tsu = Tamanho do símbolo útil = 1512 para 2k e 6048 para 8k;
Rcc =Razão do codificador convolucional = 1/2, 2/3, 3/4, 5/6 ou 7/8;
Rrs = Razão do codificador Reed Solomon= 188/204;
k = Razão do intervalo de guarda = 1/4, 1/8, 1/16 ou 1/32;
Δ/Tu = Valor do intervalo de guarda.
Tabela 15: Taxa de bits para o canal de 6 MHz na modulação não hierárquica (a) e hierárquica
(b)
(a)
39
(b)
40
TV Digital I: Considerações finais
Este tutorial parte I procurou inicialmente abordar com detalhes o código corretor de erro Reed
Solomon e também o algoritmo de Viterbi, em seguida apresentou os conceitos da modulação OFDM,
utilizada nos sistemas de TV Digital estudados neste trabalho, e finalizou com a apresentação do
sistema DVB-T, padrão europeu de TV Digital.
O tutorial parte II apresentará inicialmente o sistema ISDB-T, padrão japonês de TV Digital adotado
no Brasil, mostrando e explicando cada bloco, junto com suas características semelhantes e únicas.
Em seguida apresentará o conceito de um entrelaçador temporal e sua utilidade na defesa contra os ruídos em rajadas causados pelos equipamentos, assim
como as simulações do entrelaçador temporal implementado e seus resultados, mostrando as diferenças e
performances dos sistemas diante o ruído impulsivo. Finalmente apresentará as conclusões e sugestões
para futuros trabalhos com relação à TV digital.
Referências
[1] Barrére, E., “VI Fórum de oportunidades em televisão Digital Interativa” PUC Minas, Abril de
2008.
[2] Lauterjung, F., “Normas técnicas do ISDTV” OPIC, Fevereiro de 2008.
[3] Omi, J., “ISDTV Sistema Brasileiro de TV Digital” SUFRAMA, Maio 2007.
[4] Akamine, C., “Análise de desempenho do sistema de TV digital DVB-T com entrelaçador
temporal em canais com ruído impulsivo” FEEC-UNICAMP, Campinas, 2004.
[5] Plank S., J., “A Tutorial on Reed-Solomon Coding for Fault-Tolerance in RAID-like systems”
Universidade de Tennessee, 1996.
[6] C. K. P. Clarke, “Reed-Solomon Error Correction” BBC, julho de 2002.
[7] Akamine, C., “OFDM (Orthogonal Frequency Division Multiplexing” FEEC-UNICAMP,
Campinas, 2006.
[8] Dolev, D., “Example: Viterbi algorithm” Benin School of Computer Science and Engineering,
Rothberg, 1999.
[9] Carvalho, L. H. e Gibeli, R. G., “Desenvolvimento de técnicas para redução da relação entre
potência de pico e potência média em sinais OFDM aplicados a sistemas de TV Digital” CESETUNICAMP, Limeira, 2007.
[10] ETSI (European Telecommunications Standards Institute) "Digital Video Broadcasting DVB);
Framing structure, channel coding and modulation for digital Terrestrial television (DVB- T)," ETS
300744 V1.4.1 April 2001.
[11] DiBEG SeminarWG, "ISDB-T Specification", ITU-R WP 11A/59-E, Dezembro de 1998.
[12] Revista Mackenzie de Engenharia e Computação, “PADRÕES DE TV DIGITAL” Ano 5, n. 5, p.
13-96.
[13] Heegard, C., and Wicker, S. B., “Turbo Coding” Capítulo 3, Kluver Academic Publishers.
Boston, 1999.
41
[14] Andrews, K. SW., Heegard, C., and Kozen, D., “A theory of interleavers,” Techical Report
TR97-1634, Departmnet of Computer Science, June 1997.
[15] Silva, M., “Projeto de Entrelaçadores para Código Turbo” UFPE, Recife, Dezembro de 2006.
[16] Boutros, J. J. and Zémor, G., “On quasi-cyclic interleavers for parallel turbo codes”, IEEE
Transactions on Information Theory, v. 52, p.1739, Abril 2006.
[17] Crozier, S. e Guinand, P., “High-performance low-memory interleaver banks for turbo-codes”
Proceedings of the 2001 IEEE Vehicular Tecnology Conference, v. 4, p. 2394 – 2398, 2001.
42
Tema Principal: Teste seu entendimento
1. O que é o código Reed Solomon?
É um código de correção de erros.
É um código de detecção de erros.
É um código de inserção de erros.
É um código de alteração de erros.
2. Qual é a modulação usada nos sistemas de transmissão de TV Digital apresentados?
FDM.
AM.
OFDM.
FM.
3. Qual foi uma das causas para a não adoção do padrão europeu DVB-T no Brasil?
Não se mostrou eficaz na presença de ruído dispersivo.
Não se mostrou eficaz na presença de ruído impulsivo.
Não permitia a transmissão de canal de serviço.
Nenhuma das anteriores.
43
Download

TV Digital I: Entrelaçadores Temporais para Sistemas de