universidade presbiteriana mackenzie engenharia...
TRANSCRIPT
UNIVERSIDADE PRESBITERIANA MACKENZIE ESCOLA DE ENGENHARIA ENGENHARIA ELÉTRICA
DANILO TEMERLOGLOU DE ABREU
ESTIMAÇÃO DE SINAIS CAÓTICOS UTILIZANDO O ALGORITMO DE VITERBI
São Paulo 2007
1
DANILO TEMERLOGLOU DE ABREU
ESTIMAÇÃO DE SINAIS CAÓTICOS UTILIZANDO O ALGORITMO DE VITERBI
ORIENTADOR: PROF. DR. MARCIO EISENCRAFT
São Paulo
2007
Trabalho de Graduação Interdisciplinar apresentado a Escola de Engenharia Elétrica da Universidade Presbiteriana Mackenzie, como requisito parcial à obtenção do grau de Bacharel em Engenharia.
2
AGRADECIMENTOS
A Deus, que me concedeu inteligência e disposição para a realização desse trabalho. Ao orientador Dr. Marcio Eisencraft pelo incentivo e constante disposição em me ajudar e orientar ao longo desta pesquisa. A meus pais, Maria Helena e Dionísio, e ao meu irmão, Thales, pelo apoio durante a realização deste trabalho. À minha namorada Martha pelo incentivo e paciência para que eu pudesse desenvolver uma boa pesquisa.
3
RESUMO Sinais caóticos têm sido estudados visando-se possíveis aplicações em Telecomunicações. Porém, os sistemas propostos na literatura apresentam baixo desempenho comparado aos sistemas convencionais quando o canal de comunicação é ruidoso. Neste trabalho, é analisada uma alternativa para melhorar esse desempenho. Ela se baseia na teoria da estimação, que por meio de métodos estatísticos, busca recuperar o sinal transmitido. O trabalho se propõe a discutir um dos métodos de estimação de sinais caóticos chamado algoritmo de Viterbi. Tentando tornar este trabalho mais acessível, preocupa-se em fazer uma revisão bibliográfica sobre a teoria dos sistemas dinâmicos não-lineares e sobre o processamento estatístico de sinais. Utilizam-se sinais e sistemas de tempo discreto para facilitar a análise das técnicas propostas por meio de simulações computacionais. Palavras-chave: Sinais caóticos. Estimação de sinais. Algoritmo de Viterbi.
4
ABSTRACT
The possible applications of chaotic signals in Telecommunications have been largely investigated. However, the systems proposed until now present low performance when the communication channel is noisy. In this work, we study an alternative to improve their results. It is based on the estimation theory, which by statistical methods, seeking to recover the transmitted signal. The work intends to discuss one of the methods of estimation of chaotic signals called Viterbi algorithm. To make this work accessible to a larger public, we include a review on the theory of nonlinear dynamical systems and on the statistical processing of signals. The algorithms’ performance are accessed via computer simulations. Key-words: Chaotic signals. Estimation of signals. Viterbi algorithm.
5
LISTA DE ILUSTRAÇÕES Gráfico 1 - Exemplo de órbita do mapa logístico com condição inicial ( )0 0,01y = ............. 10
Gráfico 2 - Exemplo de órbita com um ponto fixo ................................................................ 18 Gráfico 3 - Exemplo de órbita com dois pontos fixos ........................................................... 19 Gráfico 4 - Diagrama de bifurcação ..................................................................................... 23 Gráfico 5 - Diagrama de bifurcação ampliado entre os pontos 3,82 e 3,86 ............................ 24 Gráfico 6 - (a) Iteração do mapa logístico com condição inicial ( )0 0,2y = e (b) com
condição inicial ( )0 0,201y = ............................................................................................... 25
Gráfico 7 - Exemplo de órbita de período 2 .......................................................................... 26 Gráfico 8 - (a) Mapa tenda inclinada com 0,4α = ; (b) exemplo de órbita deste mapa ......... 28 Gráfico 9 - (a) Mapa tenda; (b) exemplo de órbita do mapa tenda ........................................ 29 Gráfico 10 - (a) Mapa quadrático; (b) exemplo de órbita do mapa quadrático ....................... 30 Gráfico 11 - Expoente de Lyapunov em função do parâmetro a para o mapa logístico ........ 32 Gráfico 12 - (a) Densidade invariante x pontos da órbita; (b) Histograma de um mapa logístico ............................................................................................................................... 32 Gráfico 13 - (a) Densidade invariante x pontos da órbita; (b) Histograma de um mapa tenda inclinada .............................................................................................................................. 33 Gráfico 14 - (a) Densidade invariante x pontos da órbita; (b) Histograma de um mapa quadrático ............................................................................................................................ 34 Gráfico 15 - (a) Sinal original; (b) sinal corrompido por ruído; (c) sinal estimado ................ 46 Gráfico 16 - (a) Erro sem utilizar o algoritmo de Viterbi; (b) erro após utilizar o algoritmo .. 46 Gráfico 17 - inSNR x outSNR ................................................................................................. 47
Gráfico 18 - inSNR x outSNR do mapa tenda inclinada com variações do parâmetro α ......... 50
Gráfico 19 - inSNR x outSNR do mapa tenda inclinada com variações do número de intervalos ............................................................................................................................................ 51 Gráfico 20 - inSNR x outSNR do mapa quadrático com variações do número de intervalos ..... 52
6
LISTA DE ABREVIATURAS, SIGLAS E SÍMBOLOS
jC Centro de cada subintervalo do domínio
( ).rp
Densidade de probabilidade de ruído
( )' .f
Derivada de f
U Domínio
ija Elemento da matriz de transição de estados
( )nf x Enésima iteração de um mapa genérico
( )q n j= Estado
( ).h Expoente de Lyapunov
( )1y n + Mapa específico
( )f x Mapa genérico
A Matriz de transição de estados
( ),n jϕ Matriz que indica o estado anterior mais provável
N Número de pontos da órbita
IN Número de intervalos
( ).L Número de Lyapunov
α Parâmetro do mapa tenda inclinada
p Ponto fixo
rP Potência do ruído
( ),n jδ Probabilidade da amostra n estar no estado j
inSNR
Relação sinal-ruído de entrada
outSNR
Relação sinal-ruído de saída
r Ruído
sɶ Sinal distorcido
s Sinal estimado
s Sinal original
jU Subintervalos do domínio
n Variável discreta independente (tempo)
q Vetor contendo a seqüência de estados estimada
q Vetor genérico contendo uma seqüência de estados
7
SUMÁRIO 1 INTRODUÇÃO......................................................................................... 8 1.1 SINAIS CAÓTICOS E SISTEMAS DE COMUNICAÇÃO..................................... 9 1.2 ESTRUTURA DO TRABALHO............................................................................... 12 2 SINAIS CAÓTICOS................................................................................................ 14 2.1 HISTÓRICO DE SINAIS CAÓTICOS EM SISTEMAS DE COMUNICAÇÃO..... 14 2.2 SISTEMAS DINÂMICOS NÃO LINEARES........................................................... 16 2.3 DEFINIÇÕES BÁSICAS........................................................................................... 17 2.4 EXEMPLOS DE MAPAS QUE GERAM SINAIS CAÓTICOS.............................. 21 2.4.1 Mapa Logístico.......................................................................................................... 21 2.4.2 Mapa Tenda Inclinada............................................................................................. 28 2.4.3 Mapa Tenda.............................................................................................................. 29 2.4.4 Mapa Quadrático...................................................................................................... 30 2.5 CAOS E NÚMERO DE LYAPUNOV...................................................................... 31 2.6 DENSIDADE INVARIANTE.................................................................................... 33 3 ESTIMAÇÃO DE ÓRBITAS POR MEIO DO ALGORITMO DE VITERBI.. 36 3.1 REPARTIÇÃO DO DOMÍNIO ................................................................................ 37 3.2 ESTIMAÇÃO DE UM SINAL CORROMPIDO PELO RUÍDO.............................. 39 3.2.1 Exemplo numérico do algoritmo de Viterbi........................................................... 44 3.2.2 Exemplo gráfico do algoritmo de Viterbi............................................................... 46 4 SIMULAÇÕES......................................................................................................... 50 5 CONCLUSÕES......................................................................................................... 55 APÊNDICE A – ROTINAS COMPUTACIONAIS NO MATLAB......................... 57 REFERÊNCIAS....................................................................................................... 64
8 1 INTRODUÇÃO
A comunicação é cada dia mais importante na vida humana. Telefonia celular,
televisão de alta definição, transmissão via satélite, comunicação óptica e comunicação sem
fio são alguns exemplos de como o mundo está envolvido com as tecnologias de sistemas de
comunicação.
Um sistema de comunicação genérico pode ser representado pelo Diagrama 1
(HAYKIN, 2001).
Diagrama 1- Sistema de comunicação Fonte: Haykin (2001)
Estimativa da
mensagem do sinal
Sinal de mensagem
Codificador da fonte
Demodulador
Modulador
Codificador
de canal
Decodificador
de canal
Decodificador
da fonte
Receptor
Fonte de informação
Canal
Transmissor
Usuário da informação
9
A fonte de informação é o ente que envia um sinal de mensagem para o
transmissor. Muitas vezes, para facilitar a transmissão de dados, uma modulação é feita no
transmissor. “Modulação é o processo de converter o sinal da mensagem para uma forma que
seja compatível com as características de transmissão do sinal” (HAYKIN, 2001, p.23).
O canal, que é o meio de comunicação, pode ser um fio, cabo coaxial, fibra
óptica ou ar, dentre outras possibilidades. Ao longo do canal surgem interferências e
distorções que afetam o sinal transmitido.
Ao chegar ao receptor, o sinal é novamente convertido para sua forma original.
Devido às características do canal, o sinal recuperado quase nunca é exatamente igual ao
transmitido.
A comunicação pode ser feita através de sinais analógicos ou digitais
(HAYKIN, 2001). Sinais analógicos podem assumir uma quantidade não-enumerável de
valores diferentes. Já os sinais digitais podem assumir apenas um número enumerável de
valores.
A seguir define-se de forma intuitiva o que é um sinal caótico e mostra-se um
exemplo. Além disso, resumem-se as possíveis aplicações destes sinais em sistemas de
comunicação, inserindo este trabalho no contexto de pesquisa atual.
1.1 SINAIS CAÓTICOS E SISTEMAS DE COMUNICAÇÃO
O termo sinal caótico tem várias definições na literatura. Nesta pesquisa é
adotada a definição de Alligood, Sauer e Yorke (1996) segundo a qual um sinal caótico é
determinístico, aperiódico e sensível às condições iniciais, ou seja, condições iniciais muito
próximas geram seqüências com valores completamente diferentes depois de algumas
iterações.
10
A seqüência formada pelos pontos obtidos após sucessivas iterações é chamada
de órbita (ALIGOOD; SAUER; YORKE, 1996).
Como exemplo de sistema que gera órbitas caóticas, considere a equação de
diferenças
( ) ( ) ( )( )1 4 1y n y n y n+ = − (1)
conhecida como mapa logístico.
Para exemplificar, no Gráfico 1, são apresentadas as 101N = primeiras
iterações deste mapa com condição inicial igual a ( )0 0,01y = utilizando a Equação (1).
Gráfico 1 – Exemplo de uma órbita do mapa logístico com condição inicial ( )0 0,01y =
Os sinais caóticos têm características que podem ser interessantes para sistemas
de comunicação. Algumas delas são: possuem banda larga, são aperiódicos e tem
impossibilidade de predição após pouco tempo de simulação (ABEL; SCHWARZ, 2002).
A idéia da aplicação do caos em sistemas de comunicação surgiu no início da
década de 1990 (PECORA; CARROLL, 1990). Nos últimos anos, vários artigos têm proposto
11 sistemas de modulação que utilizam sinais caóticos ao invés dos sinais senoidais (ABEL,
2002; CORRON, 1997; DRAKE, 1998; LAU; TSE, 2003).
Duas das áreas de comunicação que podem vir a aplicar sinais e sistemas
caóticos são a comunicação por espalhamento espectral (spread spectrum) e a criptografia
(ABEL; SCHWARZ, 2002; CORRON; HAHS, 1997).
A comunicação por espalhamento espectral pode aumentar a robustez contra
interferências causadas por sinais de banda estreita (ABEL; SCHWARZ, 2002). Ela é
utilizada na terceira geração de comunicações móveis, em alguns satélites para comunicações
e no Sistema de Posicionamento Global (GPS - Global Positioning System) (LAU; TSE,
2003). No caso da criptografia, a mensagem é codificada antes da transmissão dificultando a
captura da informação ao longo do canal.
A característica aperiódica dos sinais caóticos pode ser usada para gerar vários
códigos em sistemas CDMA. Essa propriedade dificulta o entendimento de como esses sinais
se comportam ao longo do tempo para um receptor não-autorizado (ABEL; SCHWARZ,
2002).
O uso de sinais caóticos nessas aplicações se justifica por três fatores: (i) baixo
custo, (ii) dificuldade de detecção da informação e (iii) facilidade para gerar diferentes formas
de onda devido à sensibilidade às condições iniciais (ABEL; SCHWARZ, 2002).
Um problema de sistemas de comunicação baseados em sinais caóticos é que
seu desempenho em canais com ruído é ruim (DRAKE, 1998; EISENCRAFT, 2001). O
objetivo deste trabalho é estudar uma alternativa para tentar melhorar este desempenho. Esta
consiste em obter estimativas desses sinais usando o algoritmo de Viterbi (DEDIEU; KISEL,
1999; EISENCRAFT, 2006).
12
Para tornar o trabalho acessível a um público mais amplo, é feita uma revisão
bibliográfica sobre sinais caóticos em sistemas unidimensionais e sobre o processamento
estatístico de sinais.
Para facilitar a análise da técnica proposta por meio de simulações
computacionais, utilizam-se sinais e sistemas de tempo discreto. As simulações são feitas com
o programa Matlab®.
1.2 ESTRUTURA DO TRABALHO
Este trabalho é dividido em 5 capítulos.
No Capítulo 2 faz-se uma revisão bibliográfica sobre caos em sistemas
dinâmicos unidimensionais. Ele começa com um breve histórico a respeito de sinais caóticos.
Logo a seguir é feita uma abordagem rápida envolvendo algumas aplicações de sinais caóticos
na área de comunicações e apresenta-se o problema debatido nesta pesquisa. Além disso,
conceitos a respeito de sistemas dinâmicos unidimensionais são abordados. Esses conceitos
englobam: órbitas caóticas, periodicidade, sensibilidade às condições iniciais, número de
Lyapunov e densidade invariante. Alguns mapas também são discutidos. Nesse capítulo, as
principais referências utilizadas são (ALIGOOD; SAUER; YORKE, 1996; MONTEIRO,
2006; STROGATZ, 1993).
No Capítulo 3, o algoritmo de Viterbi é analisado tanto conceitualmente quanto
matematicamente. Ele contém um resumo histórico da teoria da estimação. Depois é
explicado como é feita a estimação e como é implementado o algoritmo de Viterbi. As
principais fontes de pesquisa foram (DEDIEU; KISEL, 1999; EISENCRAFT, 2006).
O Capítulo 4 contém simulações e as respectivas análises da estimação por
meio do algoritmo de Viterbi.
13 Finalmente, no Capítulo 5, são apresentadas as principais conclusões desta
monografia e indicadas propostas de trabalhos futuros.
14 2 SINAIS CAÓTICOS
O início desse capítulo descreve um resumo histórico da evolução do conceito
matemático de caos e os fatores que desencadearam o interesse por ele em diversas áreas, em
especial em Telecomunicações. Logo a seguir, as definições básicas a respeito do estudo de
sistemas dinâmicos não-lineares são apresentadas. Alguns mapas que geram órbitas caóticas
são analisados. Rapidamente é mostrado o que é o expoente de Lyapunov e sua relação com o
caos. Por fim, o conceito de densidade invariante ajuda a entender a estimação de sinais
conforme é visto a partir do Capítulo 3.
Existem muitos livros e artigos que retratam esses assuntos aos quais o leitor
interessado pode recorrer. Por exemplo, Alligood, Sauer e Yorke (1996), Monteiro (2006),
Strogatz (2000) e Devaney (1992). Sendo assim, limita-se aqui a discussão ao essencial
necessário nos capítulos subseqüentes.
2.1 HISTÓRICO SOBRE SINAIS CAÓTICOS EM SISTEMAS DE COMUNICAÇÃO
O estudo de sistemas dinâmicos e conseqüentemente do caos começa no século
XVII. Na época, Newton formulou os princípios da Física clássica (NEWTON, 1999). Estas
leis foram usadas para explicar a atração gravitacional entre dois corpos. Depois de Newton,
outros cientistas e matemáticos buscaram estender estes resultados ao Problema dos Três
Corpos (STROGATZ, 2000). Porém, muitas dificuldades foram encontradas.
Poincaré, no fim do século XIX, propôs uma nova forma de pensar a respeito
dessa questão (POINCARÉ, 1890). Poincaré queria saber se um sistema convergiria para um
ponto fixo ou para uma órbita periódica ao invés de tentar descobrir como ele funcionava em
15 cada momento. Portanto, ele estava preocupado com a solução qualitativa das equações
diferenciais que descreviam o problema (STROGATZ, 2000).
No início do século passado, técnicas não-lineares começaram a ser estudadas
por matemáticos e físicos que observavam, modelavam e analisavam os fenômenos naturais.
As novas descobertas que foram feitas encontraram aplicações na área de Engenharia
(SILVA; YOUNG, 2000). Por exemplo, os osciladores não-lineares foram importantes no
desenvolvimento de tecnologias, tais como: radar, rádio, laser e Phase-Locked-Loop (PLL)
(STROGATZ, 2000).
Até a década de 1960, pensava-se que a solução de uma equação de diferenças
poderia gerar dois tipos de resultados: a tendência de chegar a um valor fixo ou a uma órbita
periódica (ALIGOOD; SAUER; YORKE, 1996).
Por meio das suas experiências, Lorenz estudou modelos para estimar previsão
do tempo (LORENZ, 1963). A partir da resolução das equações obtidas por Lorenz,
obtiveram-se duas conclusões: essas equações nunca tendem a um equilíbrio ou estado
periódico e que partindo de condições iniciais próximas, rapidamente os resultados ficam
completamente diferentes (STROGATZ, 2000). Essa dependência sensível das equações da
circulação atmosférica ficou conhecida como efeito borboleta (MONTEIRO, 2006).
O termo “caos” no sentido usado neste trabalho foi utilizado pela primeira vez
num artigo publicado por Li e Yorke (1975). Eles mostraram que para qualquer mapa que
originasse uma órbita de período 3, existiriam órbitas com qualquer período inteiro e todas
elas seriam instáveis.
Para um sinal ser caótico ele deve ser aperiódico, ou seja, não tender a
nenhuma órbita periódica e ser sensível às condições iniciais, isto é, órbitas com condições
iniciais muito próximas logo serão totalmente diferentes ao longo das iterações. (ALIGOOD;
16 SAUER; YORKE, 1996). Um exemplo de sinal caótico é mostrado no Gráfico 1 da página
10.
Com a evolução da tecnologia, o desempenho dos computadores melhorou e
estes ficaram mais acessíveis. A facilidade para verificar experimentalmente as teorias na área
de sistemas dinâmicos não-lineares permitiu que muitos pesquisadores viessem a se interessar
em utilizá-las em suas respectivas áreas (EISENCRAFT, 2006).
O estudo dos sinais caóticos surgiu da análise de problemas em tempo
contínuo. Entretanto, durante a década de 1970, May achou exemplos de caos por meio da
iteração de equações de diferenças no estudo de população biológica. (MAY, 1974;
STROGATZ, 2000).
A análise de sistemas não-lineares em tempo discreto tem algumas vantagens:
as equações de diferenças são fáceis de serem simuladas em computador, as equações de
tempo contínuo podem ser analisadas por meio de equações de diferenças e os
comportamentos caóticos podem ocorrer em casos mais simples em tempo discreto
(MONTEIRO, 2006).
Em tempo contínuo, um sinal caótico só pode ser gerado para sistemas de
ordem maior ou igual a três, ou seja, com três equações diferenciais, enquanto em tempo
discreto é possível que ele ocorra em sistemas de primeira ordem (MONTEIRO, 2006).
2.2 SISTEMAS DINÂMICOS NÃO-LINEARES
Todo o estudo é feito usando análise de modelos. Modelos “sugerem como os
processos do mundo real se comportam” (ALIGOOD; SAUER; YORKE, 1996, p.3).
17
A maioria dos fenômenos físicos é não-linear. Os sistemas que geram sinais
caóticos também são não-lineares e, logo, são muito importantes para a compreensão de
grande parte dos fenômenos.
Sistemas dinâmicos podem ser estudados de duas formas: em tempo contínuo e
em tempo discreto. Em tempo contínuo a abordagem é feita através de equações diferenciais.
No caso da análise no tempo discreto, equações de diferenças são utilizadas para representar o
sistema. Nessa pesquisa todas as considerações são feitas em tempo discreto.
Sistema dinâmico é “uma variedade de estados possíveis que segue uma regra
que determina o estado presente em termos de estados passados” (ALIGOOD; SAUER;
YORKE, 1996, p.1).
Inicialmente trata-se apenas de sistemas unidimensionais definidos no intervalo
[ ]0,1 . Além disso, os sistemas não devem mudar com o tempo e devem ser não-lineares.
Conseqüentemente, apenas com a condição inicial é possível obter todos os demais pontos da
órbita.
2.3 DEFINIÇÕES BÁSICAS
Para o estudo de recuperação de sinais caóticos imersos em ruído, são
necessários conceitos sobre dois tópicos: sinais caóticos e métodos de estimação. A seguir são
apresentadas definições fundamentais de sinais caóticos.
Mapa é uma equação de diferenças usada para representar um modelo.
Uma órbita ou sinal com condição inicial x de um mapa ( )f x é o conjunto de
pontos ( ) ( ) ( ){ }2 3, , , ,...x f x f x f x . Entende-se que ( )2f x é a segunda iteração da função
( )f x . Outra maneira de simbolizar seria ( ) ( )( )2f x f f x= .
18
O domínio U contém todos os pontos possíveis de uma órbita.
Algumas considerações podem ser feitas a partir do gráfico chamado teia de
aranha (ALIGOOD; SAUER; YORKE, 1996).
Considerando o eixo de coordenadas cartesianas, a representação de um gráfico
teia de aranha segue os seguintes passos: esboçar os gráficos do mapa e de ( )f x x= , adotar
uma condição inicial, calcular a saída, fazer um tracejado vertical ligando a condição inicial
até o ponto obtido atingir o gráfico ( )f x x= , fazer o tracejado horizontal até a intersecção
com o mapa. Depois, deve-se manter o procedimento e verificar o que ocorre ao longo das
iterações.
Os pontos de intersecção dos gráficos são chamados de pontos fixos.
Observe os Gráficos 2 e 3 dos mapas ( ) 3f x x= e ( ) ( )1 2 1f x x x+ = − .
Gráfico 2 – Exemplo de mapa com um ponto fixo
19
Gráfico 3 – Exemplo de mapa com dois pontos fixos
No Gráfico 2, o ponto fixo é 0p = . Observe que para condições iniciais longe
de zero os valores afastados de zero tenderão a ir para ∞ . No Gráfico 3, temos os pontos fixos
0p = e 1
2p = . Note que para a condição inicial de 0,1 a órbita tende a 0,5 que é um dos
pontos fixos dessa órbita.
A análise da estabilidade de pontos fixos é importante “porque os sistemas do
mundo real são constantemente sujeitos a pequenas perturbações” (ALIGOOD; SAUER;
YORKE, 1996, p.9).
Suponha que numa órbita exista um ponto fixo p e uma vizinhança ( )V p em
torno desse ponto. Considere também que a distância entre p e ( )V p seja ε . Supondo ε um
número pequeno e, que todos os pontos próximos do ponto fixo p , tendam a se afastar dele
20 (ao longo das iterações), então p é um ponto fixo instável. Ele também é chamado de fonte
ou ponto fixo repulsivo. O ponto fixo 0p = do Gráfico 2 é um exemplo de fonte .
Por outro lado, se os pontos próximos ao ponto fixo p tenderem ao próprio p ,
ele será um ponto fixo estável. Ele também é chamado de sorvedouro ou ponto fixo atrativo.
O ponto fixo 0,5p = do Gráfico 3 é um exemplo de ponto fixo atrativo.
Matematicamente a definição de ponto fixo atrativo é essa:
( )lim k
kf x p
→∞= (2)
Na Equação 2, k é o número de iterações e ( )f x representa o mapa analisado.
O conjunto das condições iniciais que têm órbitas que convirjam para um
atrator é chamado de bacia do ponto fixo atrator.
Para classificar analiticamente a estabilidade dos pontos fixos deve-se calcular
o módulo da derivada no ponto fixo. Caso o módulo seja menor que 1, o ponto fixo é estável.
Matematicamente define-se que se ( )' 1f p < o ponto fixo p é estável. Porém, se ( )' 1f p >
o ponto fixo p é instável. Quando ( )' 1f p = não é possível determinar analiticamente a
estabilidade do ponto fixo. Esses resultados podem ser demonstrados conforme (ALIGOOD;
SAUER; YORKE, 1996), página 10.
Assim, a estabilidade está ligada à derivada no ponto estudado. Logo, a análise
gráfica está ligada à reta tangente ao ponto. Se a reta tangente ao ponto fixo apresentar uma
inclinação que esteja no intervalo 4 4
π πθ
−< < ou
3 5
4 4
π πθ< < , o ponto fixo será estável
(MONTEIRO, 2006).
Existem casos em que após certo número de iterações a órbita varia sempre
entre os mesmos pontos. Por exemplo, uma órbita que após muitas iterações oscile entre 0,5 e
0,8 apresenta uma órbita de período 2.
21
Portanto, se p é um ponto periódico de período 2 para um mapa ( )f x , então
p é um ponto fixo do mapa ( ) ( )2g x f x= . Um exemplo de órbita periódica é mostrado no
Gráfico 7 na página 26.
Pode-se estender o conceito de estabilidade para órbitas periódicas. Considere
que os pontos dessas órbitas sejam 1 2, ,p p ... , kp sendo k o período da órbita. Para determinar
sua estabilidade calcula-se o módulo do produto das derivadas nos pontos fixos da órbita.
Caso esse valor seja menor que 1, a órbita periódica é estável. Então, se
( ) ( ) ( )2 1' ... ' ' 1kf p f p f p < , a órbita é estável e caso ( ) ( ) ( )2 1' ... ' ' 1kf p f p f p > , a órbita é
instável.
2.4 EXEMPLOS DE MAPAS QUE GERAM ÓRBITAS CAÓTICAS
Nessa seção, analisam-se as características de alguns mapas. O mapa logístico
é analisado com mais detalhes. Os outros mapas são abordados de maneira sucinta.
2.4.1 ESTUDO DO MAPA LOGÍSTICO
O mapa logístico surgiu da pesquisa sobre o número de habitantes numa
região. Primeiramente foi elaborado um modelo em que ( ) ( )1 2y n y n+ = . Mas esse modelo
não é satisfatório porque existem fatores limitantes, tais como: falta de alimento, guerras e
falta de espaço físico. Sem essas considerações, a população tenderia ao infinito. Depois disso
foi proposto o seguinte modelo ( ) ( ) ( )( )1 2 1y n y n y n+ = − . Esse já é um modelo bem melhor
porque leva em conta as limitações referidas acima. Genericamente, a equação é
22
( ) ( ) ( )( )1 1y n ay n y n+ = − (3)
(MONTEIRO, 2006).
Esta é a família de mapas logísticos. Um dos mapas mais estudados dessa
família é aquele em que 4a = .
Considere as condições iniciais no intervalo [ ]0,1 . A análise do valor de a
pode ser resumida assim: para 0 1a< < , o mapa tem um ponto fixo atrativo em 0x = ;
para 1 3a< < , temos um ponto fixo atrativo em 1a
xa
−= ; para 3 3,45a< < , o mapa tem
uma órbita periódica de período 2; para 3,45 4a< < , ocorre um comportamento que será
analisado pouco adiante e para 4a > , a análise deixa de ser interessante porque não há
atração de órbitas. No último caso, a tendência é que após várias iterações as órbitas tendam
a −∞ .
A compreensão do estudo do comportamento do mapa logístico pode ser
facilitada pelo diagrama de bifurcação. Por meio dele é possível analisar mudanças
significativas num conjunto de pontos fixos ou órbitas periódicas (ALIGOOD; SAUER;
YORKE, 1996).
O procedimento para obtê-lo através de simulação computacional é: escolher
um valor inicial do parâmetro a , escolher um valor aleatório y no intervalo [ ]0,1 , calcular a
órbita de y segundo a Equação 3, ignorar as 100 primeiras iterações e plotar o gráfico a partir
da iteração de número 101 (ALIGOOD; SAUER; YORKE, 1996). As primeiras iterações
devem ser rejeitadas porque deve se esperar que a órbita convirja para um ponto fixo ou órbita
periódica ou não convirja. O número de iterações que deve ser descartado não é fixo. Por
exemplo, no Gráfico 7 da página 26, somente 7 iterações não devem ser consideradas.
23
Usando o computador, pode-se gerar um diagrama de bifurcação, conforme
mostra o Gráfico 4.
Gráfico 4 – Diagrama de bifurcação
O diagrama mostra o início, a evolução e o fim dos atratores. Por exemplo,
para 3,3a = , se for passada uma reta vertical, verifica-se que dois pontos são cortados. Eles
representam uma órbita de período 2.
Por esse diagrama fica fácil observar que para a em torno de 3,5 começam a
ocorrer órbitas de período 4. Depois passamos a ter órbitas de período 8, depois 16 e assim
sucessivamente.
Aproximadamente a partir de 3,57a ≅ , observe que existem órbitas de todos
os períodos.
24
Por meio do Gráfico 5, percebe-se também que existe um trecho interessante
de 3,82 a 3,86.
Gráfico 5 – Diagrama de bifurcação ampliado entre os pontos 3,82 e 3,86
Analisando esse gráfico, pode-se dizer que para 3,84a = existe uma órbita de
período 3.
Uma característica marcante que ocorre em sinais caóticos é a sensibilidade às
condições iniciais. Isso significa que quando condições iniciais muito próximas são iteradas
várias vezes, no começo elas estarão bem próximas, porém os valores das órbitas logo
começarão a ficar totalmente diferentes uns dos outros. Essa característica é também chamada
de dependência sensível com relação às condições iniciais.
Como exemplo observe o Gráfico 6 no qual foram utilizados 4a = e 41n = .
25
Gráfico 6 – (a) Iteração do mapa logístico com condição inicial ( )0 0,2y = e (b) com condição
inicial de ( )0 0,201y =
A Tabela 1 mostra alguns pontos das órbitas acima.
Tabela 1 - Valores das órbitas obtidas de um mapa logístico com pequena variação da condição inicial
Número de iterações Condição inicial igual a 0,2 Condição inicial igual a 0,201 0 0,2 0,201 1 0,64 0,6424 2 0,9216 0,9189 3 0,289 0,2981 5 0,5854 0,5458 6 0,9708 0,9916 15 0,0039 0,0205 20 0,82 0,9877 25 0,9864 0,1627 30 0,3203 0,4324 Perceba que, bem no início, os pontos das órbitas são quase iguais e que logo
eles ficam totalmente diferentes. A análise numérica também ajuda a verificar essa
característica dos sinais caóticos.
26
Considerando N com um inteiro positivo, define-se que um ponto x é
eventualmente periódico quando ( ) ( )n p nf x f x+ = , para qualquer n N≥ e p o menor inteiro
possível. Isso significa que após certo número de iterações a órbita passa a ser periódica.
Observe a órbita obtida para a família do mapa logístico feito com 50 iterações,
com 3,3a = e ( )0 0,35y = no Gráfico 7.
Gráfico 7 – Exemplo de órbita de período 2.
Nota-se que a partir da sétima iteração, inicia-se uma órbita periódica de
período 2 que oscila entre os valores 0,4794 e 0,8236.
O número de órbitas do mapa para cada período pode ser feita por meio de uma
tabela periódica de mapas.
A tabela 2 mostra o início da tabela periódica do mapa logístico:
Tabela 2 - Pontos fixos e periodicidade no mapa logístico
27
Período k
Número de pontos
fixos de ky
Número de pontos
fixos de ky de
órbitas periódicas
menores
Órbitas de período
k
1 2 0 2 2 4 2 1 3 8 2 2 4 16 4 3 5 32 2 6 6 64 14 8 7 128 2 18 8 256 16 30 9 512 8 56 10 1024 34 99 11 2048 2 186 12 4096 64 336 13 8192 2 630
Sendo y o mapa logístico e k o período da órbita, o número de pontos fixos
de ky é 2k .
Para o preenchimento da terceira coluna basta observar que os pontos fixos de
órbitas de período 2 também são pontos fixos de órbitas de período 4. Da mesma forma, os
pontos fixos de órbitas de período 3 também são pontos fixos de órbitas de período 6.
Para a obtenção da última coluna faz-se a segunda coluna menos a terceira e
divide-se pela primeira. Assim na terceira linha temos8 2
23
−= .
Quando o sistema possui órbitas de todos os períodos ele gera sinais caóticos.
2.4.2 MAPA TENDA INCLINADA
28
O mapa tenda inclinada é definido pelas seguintes expressões:
( )
( )( )
( )( )
2 1, 1
1 11
2 1, 1
1 1
y ny n
y ny n
y n
αα
α α
αα
α α
− + − ≤ ≤
+ + + =
+ + ≤ ≤ − −
(4)
O Programa 2 do Apêndice faz o Gráfico 8 (b) correspondente a uma órbita
gerada pelo mapa tenda inclinada.
Observe abaixo o mapa tenda inclinada e uma órbita gerada por ele para 81n =
iterações, condição inicial ( )0 0,2y = − e o parâmetro 0,4α = .
Gráfico 8 – (a) Mapa tenda inclinada com 0,4α = ; (b) exemplo de órbita deste mapa
2.4.3 MAPA TENDA
29
O mapa tenda é definido pela seguinte equação de diferenças:
( ) ( )1 1 2*y n y n+ = − (5)
Quando o parâmetro α do mapa tenda inclinada é zero, é obtido o mapa tenda.
Logo, o mapa tenda é um caso particular do mapa tenda inclinada.
No Gráfico 9, é mostrado o mapa tenda e a órbita gerada por ele para
( )0 0,026y = com 71n = iterações.
Para condições iniciais com números racionais, a órbita tende ao ponto fixo
1− , ou seja, não é caótica (EISENCRAFT, 2006). Para gerar o Gráfico 9, foi necessário fazer
a conjugação do mapa quadrático (EISENCRAFT, 2006). Essa adaptação está explicada nas
páginas 30 e 31.
Gráfico 9 – (a) Mapa tenda; (b) Exemplo de órbita do mapa tenda
2.4.4 MAPA QUADRÁTICO
30
O mapa quadrático é definido pela seguinte equação de diferenças:
( ) ( )21 2 1y n y n+ = − + (6)
A seguir o mapa quadrático e uma órbita gerada por esse mapa com 61n =
iterações e condição inicial ( )0 0,845y = .
Gráfico 10 – (a) Mapa quadrático; (b) Exemplo de órbita do mapa quadrático
O problema de gerar órbitas para o mapa tenda pode ser resolvido por meio da
relação entre os mapas quadrático e tenda. Pode se mostrar que se pode obter uma órbita do
mapa tenda a partir do quadrático pela seguinte relação (ALLIGOD; SAUER; YORKE,
1996):
( )1
cos2TQ
xC
π += − (7)
31
Na Equação 7, x é o vetor contendo os valores dos pontos da órbita em cada
iteração do mapa quadrático e TQC corresponde ao vetor contendo os valores dos pontos da
órbita do mapa tenda.
2.5 CAOS E NÚMERO DE LYAPUNOV
O número de Lyapunov serve para quantificar a taxa média de separação dos
pontos que estão perto de um ponto fixo. O expoente de Lyapunov é o logaritmo natural do
número de Lyapunov.
Considere um mapa genérico ( )f x que possui uma órbita constituída pelos
pontos{ }1, 2, 3,...x x x . Então, o número de Lyapunov, matematicamente, é dado por:
( ) ( ) ( ) ( )( )1
1 1 2lim ' ' ... ' nn
nL x f x f x f x
→∞= (8)
O expoente de Lyapunov, matematicamente, é dado por:
( ) ( ) ( ) ( )1 1 21
lim ln ' ln ' ... ln ' nn
h x f x f x f xn→∞
= + + + (9)
Note que ln L h= .
Deve-se ressaltar que existem algumas órbitas com número de Lyapunov
indefinido. Um desses casos ocorre quando ( ) 0´ =ixf .
Toda órbita que é atraída para um ponto fixo atrativo é assintoticamente
periódica.
Se a órbita não for assintoticamente periódica e o expoente de Lyapunov ( )1h x
for maior que zero, a órbita é caótica.
32
No Gráfico 11, é mostrado como varia o expoente de Lyapunov em função do
parâmetro a do mapa logístico.
Gráfico 11 – Expoente de Lyapunov em função do parâmetro a para o mapa logístico
A partir do Gráfico 11, algumas observações interessantes podem ser feitas.
Note que até 3,57a ≅ , não existe caos porque o expoente de Lyapunov é negativo. Após esse
valor existem finos traços negativos que são aquelas órbitas periódicas analisadas no
diagrama de bifurcação.
Essa análise do expoente de Lyapunov é outra maneira de visualizar que o caos
para a família de mapas logísticos ( ) ( ) ( )( )1 1y n ay n y n+ = − começa a partir de 3,57a ≅ .
33 2.6 DENSIDADE INVARIANTE
Um histograma geralmente pode indicar a quantidade de pontos de uma órbita
que estão em cada região dentro de cada subintervalo num domínio. (DEVANEY, 1992).
A estatística de sinais digitais pode começar a ser analisada a partir de um
histograma, em que é mostrada a freqüência com que cada valor iterado aparece. Para a
geração de um histograma prático, primeiro divide-se o intervalo do domínio em intervalos
uniformes. Depois, itera-se o mapa em questão.
Suponha que [ ]0,1U = e que i seja o número de intervalos. Considerando que
in é o número de pontos num determinado intervalo e que N é o número total de pontos
analisados, calcula-se a freqüência com a equação:
ii
nf
N= (10)
Para o mapa logístico com 4a = , 100000n = iterações e condição inicial
( )010
yπ
= , obteve-se o histograma do Gráfico 12.
Gráfico 12 – (a) Densidade invariante x pontos da órbita ; (b) Histograma de um mapa logístico
34
Observe agora um histograma do mapa quadrático com 100000n = iterações e
condição inicial ( )0 0,845y = .
Gráfico 13 – (a) Densidade invariante x pontos da órbita; (b) Histograma de um mapa quadrático
As funções densidade evoluem de acordo com o operador de Perron –
Frobenius. Pode ser demonstrado que para o mapa quadrático, o gráfico teórico da densidade
invariante é dada pela fórmula (LASOTA, A; MACKEY, M, 1985).
( )( )
1
1f x
x xπ=
− (11)
Note que no Gráfico 13, referente ao mapa quadrático, há um número maior de
pontos nos extremos do intervalo [ ]1,1− e que há poucos pontos perto de zero. Em outras
palavras, o mapa quadrático possui uma densidade invariante não-uniforme. Existe uma maior
probabilidade de um ponto da órbita desse mapa estar nos extremos do domínio do que nas
demais partes.
35
A seguir um histograma do mapa tenda inclinada com 100000n = iterações e
condição inicial ( )0 0,2y = − .
Gráfico 14 – (a) Densidade invariante x pontos da órbita; (b) Histograma de um mapa tenda inclinada
No gráfico acima, nota-se uma distribuição quase constante ao longo de todos
os intervalos, dificultando a previsão das próximas iterações de uma órbita do mapa tenda
inclinada. Nesse caso, a densidade invariante é uniforme com qualquer ponto da órbita tendo
igual chance de estar em cada lugar do domínio.
O intuito deste capítulo é explicar os assuntos e conceitos mais relevantes sobre
sinais caóticos e estimação de sinais de tal forma que o entendimento do algoritmo de Viterbi
fique mais claro no Capítulo 3.
36 3 ESTIMAÇÃO DE ÓRBITAS POR MEIO DO ALGORITMO DE VITERBI
Neste capítulo, trata-se da aplicação do algoritmo de Viterbi à estimação de
órbitas, tema central deste trabalho. Antes disso, comenta-se de forma resumida a respeito da
teoria da estimação.
A teoria da estimação tem importância em diversas áreas de processamento de
sinais, tais como: radar, voz, análise de imagens, biomedicina, comunicações, controle e
sismologia (KAY, 1993). Esse trabalho visa aplicá-la em sistemas de Telecomunicações.
O comportamento intrincado de sinais caóticos pode ser tratado quando
observado de uma perspectiva estatística (SETTI et al., 2002). A análise individual de sinais
caóticos é difícil. Por esta razão, eles são estudados conjuntamente, por meio de um estudo
estatístico.
Qualitativamente, os métodos desenvolvidos para recuperar sinais caóticos em
meio ruidoso, em geral, têm desempenho igual: todos funcionam quando há pouco ruído junto
com o sinal e dificilmente apresentam bons resultados para ruído elevado. A dificuldade
fundamental de desenvolver um bom modelo de estimador para sinal caótico é a própria
natureza do sinal (DRAKE, 1998, p.2). O problema é que esses sinais são analisados apenas
com funções não-lineares, tornando difícil encontrar um modelo adequado de estimador.
A principal razão pela qual as aplicações da modulação caótica ainda estão em
seus estágios iniciais é a grande sensibilidade do processo de demodulação, ou seja, o ruído
dificulta o estabelecimento da comunicação (DEDIEU; KISEL, 1999).
As maneiras de reduzir os efeitos do ruído podem ser divididas em 4
abordagens: (i) auto-sincronismo, (ii) teoria de controle, (iii) redução de ruído e (iv) teoria da
estimação (DRAKE, 1998).
37
O auto-sincronismo é a capacidade de sistemas caóticos se sincronizarem sem
a necessidade de intervenção externa. Esses sistemas podem ser separados em estáveis e
instáveis. O subsistema instável é usado para copiar o sistema. Quando há ruído, o subsistema
estável permite uma menor distorção do sinal devido ao ruído (DRAKE, 1998).
A teoria de controle pode ser feita de duas formas: utilizar técnicas que
estimam valores de estados imediatamente anteriores e técnicas de identificação de sistemas
que mudam os parâmetros do modelo conforme o comportamento do sistema. Esse método se
utiliza de sistemas dinâmicos lineares (DRAKE, 1998).
A redução de ruído busca separar o comportamento caótico de flutuações
aleatórias. Ao contrário da teoria de controle, a redução de ruído utiliza propriedades
específicas de sistemas dinâmicos caóticos (DRAKE, 1998).
A primeira conexão entre caos e a teoria da estimação foi elaborada por
(MYERS ; TAPLEY, 1976). A teoria da estimação pode ser dividida basicamente em dois
grupos: clássico e bayesiano. Os estimadores clássicos modelam o valor a ser pesquisado
como desconhecido, mas considerando o sinal sendo determinístico. Já os bayesianos o
caracterizam como uma quantidade aleatória caracterizada pela função densidade de
probabilidade. (DRAKE, 1998). O algoritmo de Viterbi se enquadra no grupo bayesiano.
3.1 REPARTIÇÃO DO DOMÍNIO
O algoritmo de Viterbi funciona bem para mapas com densidade invariante
uniforme. A seguir é analisado como é feita a repartição do domínio para os casos com
densidade uniforme e não-uniforme.
38
Uma das decisões importantes para que o algoritmo de Viterbi funcione bem é
a partição do domínio. Conforme visto no Capítulo 2, o domínio diz respeito a todos os
valores possíveis de uma órbita. Nos casos que são estudados neste capítulo, o domínio é
[ ]1,1U = − . A divisão do domínio é simbolizada por subintervalos ,1j IU j N≤ ≤ sendo IN o
número total de subintervalos do domínio.
Cada subintervalo define um estado. Define-se que o sistema está no estado
( )q n j= se o ponto da órbita ( )s n estiver no subintervalo jU no instante n . O centro de
cada subintervalo jU é representado por ( )C j .
Até hoje foram propostos dois modos de divisão do domínio em intervalos.
A primeira maneira foi proposta por Dedieu e Kisel (1999). A partição é feita
com intervalos uniformes. Nos casos analisados, o domínio [ ]1,1U = − tem comprimento 2.
Logo, cada intervalo tem comprimento 2
IN∆ = .
Por exemplo, para 5IN = , têm-se os seguintes subintervalos:
[ ] [ ] [ ]
[ ] [ ]1 2 3
4 5
1; 0,6 , 0,6; 0,2 , 0,2;0,2 ,
0,2;0,6 , 0,6;1 .
U U U
U U
= − − = − − = −
= = (12)
A Equação 13 expressa o subintervalo jU em função do ∆ .
( )
[ ]
1 1; 1 , 1,2,..., 1
1 ;1 ,
I
I
j j j N
j N
− ∆ − ∆ − = −
− ∆ =
(13)
Estudos e simulações mostraram que, utilizando esta escolha de partição, o
algoritmo de Viterbi produz bons resultados somente em órbitas geradas por mapas que têm
densidade invariante uniforme (DEDIEU; KISEL, 1999; EISENCRAFT, 2006).
Para os casos de mapas com densidade invariante não-uniforme, surgiu a idéia
de dividir o domínio em subintervalos de tal forma que a probabilidade de cada ponto da
39 órbita estar em um subintervalo seja igual em cada um deles. O estudo dessa implementação
está em (EISENCRAFT, 2006). Para o mapa quadrático, da Equação 6, por exemplo, com
5IN = , os subintervalos são
[ ] [ ] [ ]
[ ] [ ]1 2 3
4 5
1; 0,8081 , 0,8081; 0,3111 , 0,3111;0,2992 ,
0,2992;0,8115 , 0,8115;1 .
U U U
U U
= − − = − − = −
= = (14)
Utilizando o Programa 3 do Apêndice podem-se obter esses valores.
Para o desenvolvimento da idéia proposta, calcula-se a área total TA
compreendida entre o mapa e o eixo horizontal. Depois divide-se a área total em IN
intervalos de tal forma que cada área seja igual. A Equação (15) fornece o cálculo de cada
área IA .
TI
I
AA
N= (15)
Conhecendo-se IA , obtém-se os pontos nos quais divide-se o domínio.
A seguir, é apresentado como se chega à equação do problema de estimação e a
sua solução pelo algoritmo de Viterbi.
3.2 ESTIMAÇÃO DE UM SINAL CORROMPIDO PELO RUÍDO
O objetivo do algoritmo de Viterbi é obter um sinal ( )s n contendo os valores
mais próximos de um sinal original ( )s n que foi corrompido por ruído ( )nr a partir de
( ) ( ) ( )s n s n r n= +ɶ . Neste trabalho, o ruído que modifica o sinal é o ruído branco gaussiano
aditivo.
40
Define-se q como sendo o vetor que contém a seqüência de estados estimada.
A partir de q , o vetor contendo os pontos da órbita estimado s é obtido pelo centro ( )C j dos
intervalos definidos por estes estados.
Para 1n + amostras de s , o vetor corrompido pelo ruído é
( ) ( ) ( )0 , 1 ,...,s s s n= sɶ ɶ ɶ ɶ , a seqüência estimada é ( ) ( ) ( )ˆ ˆ ˆ ˆ0 , 1 ,...,q q q n= q e o vetor estimado
é:
( )( ) ( )( ) ( )( )ˆ ˆ ˆ ˆ0 , 1 ,..., .C q C q C q n = s (16)
Antes do estudo do algoritmo faz-se necessário a obtenção das funções
densidade de probabilidade envolvidas.
Considere q como sendo um vetor genérico contendo uma seqüência de 1n +
estados, ( ) ( ) ( )0 , 1 ,...,q q q n= q .
O problema da estimação pode ser resumido em encontrar q tal que
( ) ( )ˆ max .P P| = |q
q s q sɶ ɶ (17)
A seqüência estimada q dado o sinal distorcido sɶ é a que possui maior
probabilidade entre as seqüências de estado q possíveis dado o sinal distorcido. Em outras
palavras, a seqüência estimada q será a de maior probabilidade dada as amostras corrompidas
por ruído sɶ .
O teorema de Bayes afirma que
( )( ) ( )
( )p s P q
P sp s
|| =
ɶɶ
ɶ (18)
41 sendo ( )p sɶ a função densidade de probabilidade dos possíveis vetores sɶ e ( )p |s qɶ a função
densidade de probabilidade levando em conta que o vetor de estados original é q . A
probabilidade ( )P q diz respeito à chance de obter o vetor q quando o mapa for iterado.
Como ( )p sɶ não depende de q , o vetor estimado q é:
( ) ( ) ( )ˆ arg max arg maxq q
P q s p s q P q= | = |q ɶ ɶ (19)
O vetor estimado q é o vetor q que tem a maior probabilidade de ocorrer.
Enquanto na Equação 17, faz-se referência à probabilidade, a Equação 19 mostra quem é o
vetor contendo a seqüência mais provável de estados.
Considere somente os primeiros 1p + estados de um vetor genérico pq e de
um vetor observado psɶ . Pela notação que está sendo utilizada, tem-se que:
( ) ( ) ( ) ( )0 , 1 ,..., 1 ,p q q q p q p= − q (20)
e
( ) ( ) ( ) ( )0 , 1 ,..., 1 , .p s s s p s p= − sɶ ɶ ɶ ɶ ɶ (21)
A probabilidade de obter a seqüência de estados pq quando o mapa é iterado é:
( ) ( ) ( )( ) ( )11p pP P q p q p P −= | −q q (22)
A probabilidade de obter a seqüência pq é a probabilidade de que a seqüência
1p−q tenha ocorrido vezes a chance de estando no estado ( )1q p − ele mude para o estado
( )q p .
42
As amostras de ruído são independentes. Por esta razão, pode-se equacionar a
probabilidade do vetor de amostras do sinal distorcido sabendo que a seqüência estimada é
pq como:
( ) ( ) ( )( ) ( ) ( )( )
( ) ( )( )( )
0 0
0
p p
p p r
n n
p
r
n
p p s n q n p s n s n
p s n C q n
= =
=
| = | = −
≈ −
∏ ∏
∏
s qɶ ɶ ɶ
ɶ
(23)
sendo ( ).rp a função densidade probabilidade do ruído ( )r n . A aproximação na Equação 23
é devido à repartição do domínio. Para um IN pequeno, ( )s n e ( )( )C q n estarão
possivelmente afastados. Porém, se for utilizado um elevado IN , a aproximação torna-se
próxima de uma igualdade.
Supondo que o mapa em questão possui densidade invariante uniforme, pode-
se dizer que a probabilidade de estar em qualquer dos subintervalos no instante 0n = é igual.
A partir dessa consideração e combinando as Equações 19, 22 e 23 chega-se a
( ) ( )( ) ( ) ( )( )1
1
ˆ arg max 1N
qn
P q n q n p s n q n−
=
= | − |∏q ɶ (24)
Uma forma de implementar a Equação 24 é dada pelo algoritmo de Viterbi,
que é descrito a seguir.
Considere ( ),n jδ simbolizando a probabilidade da seqüência de estados mais
provável que no instante n esteja no estado j dado o vetor sɶ . Matematicamente,
( ) ( )( )1, max ,n
nn j P q n j sδ −= = |q
q ɶ (25)
Assim, a Equação 24 pode ser reescrita dessa maneira:
( ) ( ) ( ), max 1, ij ji
n j n i a bδ δ = − sɶ (26)
em que
43
( ) ( )( )1ija P q n j q n i= = | − = (27)
e ( )( ) ( ) ( )( )jb n P n q n j= | =s sɶ ɶ (28)
Os valores de ija correspondem às probabilidades de uma amostra ( )ns estar
no subintervalo jU quando em ( )1n −s ela estiver em iU . Os valores de jb são as
probabilidades que dependem da função densidade de probabilidade de ruído rP .
O Diagrama 2 ajuda a esclarecer o algoritmo de Viterbi.
Diagrama 2 – Exemplo do funcionamento do algoritmo de Viterbi.
Estão representadas possíveis seqüências até 5n = de um sinal.
O símbolo ( )5,4δ é a probabilidade da seqüência de estados mais provável
que no instante 5n = está no estado ( )5 4q = .
1 2 3 4 5 0
1
2
3
4
5
n
j
( )5,2 3ϕ =
( )3,5 3ϕ =
( )5,4δ
44
Primeiramente, numa fase chamada de avanço, a Equação 25 é utilizada para
obter ( ),n jδ no instante n para os IN intervalos. Sempre é escolhido o caminho mais
provável na continuidade de cada seqüência.
Ao final dessa fase, seleciona-se a opção que fornece a mais alta probabilidade.
Depois, inicia-se a fase de retrocesso, que permite obter a seqüência de estados
mais provável ( )q n . Através da matriz ( ),n jϕ é guardado o estado anterior 1n − que
contém a maior probabilidade de ter ocorrido.
Sendo iπ a probabilidade a priori de ( )0sɶ estar no estado i , pode-se resumir o
algoritmo de Viterbi através das equações a seguir:
Início do algoritmo
( ) ( )( )( )
0, 0 ,1
0, 0
i i Ii b i N
i
δ
ϕ
= Π ≤ ≤
=
sɶ (29)
Fase de avanço
( ) ( ) ( )( )
( ) ( ) ( )( )1
1
, max 1, ,1 1,1
, max 1, ,1 1,1
I
I
j Ii N
ij j Ii N
n j n i b n i N j N
n j n j a b n i N j N
δ δ
ϕ δ
≤ ≤
≤ ≤
= − ≤ ≤ − ≤ ≤
= − ≤ ≤ − ≤ ≤
s
s
ɶ
ɶ
(30)
Término do avanço
( ) ( )1
ˆ 1 arg max 1,Ii N
q N N iδ≤ ≤
− = − (31)
Fase de retrocesso ( ) ( )( )ˆ ˆ1, 1 , 2,...,1,0q n n q n n Nϕ= + + = − (32)
3.2.1 EXEMPLO NUMÉRICO DO ALGORITMO DE VITERBI
O intuito desse tópico é facilitar o entendimento do algoritmo através de um
exemplo.
45
Considere um sinal [ ]0,75; 0,25;0,25; 0,75;0,3= − −s . Existem 5 amostras indo
de 0n = até 4n = . Suponha que após o sinal ter sido corrompido, tem-se
[ ]0,82; 0,6;0,1; 0,4; 0,1= − − −sɶ .
O caso de análise será do mapa tenda que possui densidade invariante
uniforme. Logo, cada intervalo tem 2 2
0,54IN
∆ = = = . O domínio U é dividido nos seguintes
subintervalos: [ ]1 1; 0,5U = − − , [ ]2 0,5;0U = − , [ ]3 0;0,5U = e [ ]4 0,5;1U = .
Com os dados fornecidos a seqüência original é [ ]4;2;3;1;3=q . Na amostra
0n = , o valor de 0,75 se enquadra em 4U . Sendo assim, ( )0 4q j= = .
Neste exemplo utiliza-se uma matriz de transição ( ) ,1 , 4ija i j= ≤ ≤A que
pode ser obtida de maneira similar à do Programa 3 do Apêndice e é:
0,5 0,5 0 0
0 0 0,5 0,5
0 0 0,5 0,5
0,5 0,5 0 0
=
A (33)
O elemento 34a indica que a probabilidade de que se o ponto da órbita estiver
em 3U no instante n e ele estar em 4U no instante 1n + é 0,5 .
Suponha que a seqüência mais provável até o instante 4n = terminando no
estado 3j = seja [ ]4,1,3,5,3=q . Supondo que dentre todas as outras seqüências que
terminam em 4n = , o vetor q do estado 3j = seja o mais provável, pode-se dizer que ˆ=q q .
A probabilidade de q ocorrer é ( )4,3δ . Ao final da fase de avanço, além das probabilidades,
têm-se as os estados anteriores mais prováveis. Assim, ( )4,3 5ϕ = , ( )3,5 3ϕ = , ( )2,3 1ϕ = ,
( )1,1 4ϕ = e ( )0,4 0ϕ = .
46
Para obter a seqüência, parte-se da Equação 31. Depois, é necessário somente
substituir na Equação 32. Assim:
( )ˆ 4 3q = (34)
( ) ( )( ) ( )ˆ ˆ3 4, 4 4,3 5q qϕ ϕ= = = (35)
( ) ( )( ) ( )ˆ ˆ2 3, 3 3,5 3q qϕ ϕ= = = (36)
( ) ( )( ) ( )ˆ ˆ1 2, 2 2,3 1q qϕ ϕ= = = (37)
( ) ( )( ) ( )ˆ ˆ0 1, 1 1,1 4q qϕ ϕ= = = (38)
3.2.2 EXEMPLO GRÁFICO DO ALGORITMO DE VITERBI
Os gráficos desse tópico foram gerados a partir do mapa tenda inclinada com
0,2α = , 21n = iterações e 10IN = subintervalos.
O Gráfico 15 mostra um exemplo de como o algoritmo de Viterbi melhora um
sinal original distorcido pelo ruído. No item (a), temos sinal original s . No item (b), é
mostrado o sinal corrompido por um ruído branco sɶ e no item (c) , o sinal estimado s obtido.
47
Gráfico 15 – (a) Sinal original; (b) sinal corrompido por ruído; (c) sinal estimado
O Gráfico 16 mostra o erro dos sinais distorcido e estimado, respectivamente.
Gráfico 16 – (a) Erro sem utilizar o algoritmo de Viterbi; (b) erro após utilizar o algoritmo
48
Na simulação também foi calculada a média dos erros sem utilizar e utilizando
o algoritmo. A média de erro com ruído foi de 0,3538 enquanto que a média de erro com a
estimação foi de 0,1091. Com esses valores, percebe-se que o algoritmo de Viterbi foi muito
eficiente neste caso.
O Gráfico 17 mostra a relação sinal ruído da entrada inSNR pela relação sinal
ruído na saída outSNR .
Gráfico 17 - inSNR x outSNR
Esse gráfico foi obtido a partir do Programa 5 do Apêndice. Após a escolha do
vetor de inSNR , calculou-se o sinal estimado e a variância entre este sinal e o sinal original
para cada amostra do sinal original. Cada amostra do sinal original foi elevada ao quadrado e
dividida pela variância. Depois foi feita a conversão desse vetor para decibéis. Por fim, foi
feita uma média do desvio quadrático, obtendo outSNR .
49
O desempenho é bom enquanto out inSNR SNR> . Percebe-se que até cerca de
20 dB o algoritmo consegue uma boa estimação do sinal. Caso venha um sinal com uma
inSNR maior que esse valor, o algoritmo estima um sinal pior do que o corrompido.
Para que esse método seja utilizado, deve-se ter um número elevado de
subintervalos do domínio e , além disso, o método não pode estimar um sinal com pouco
ruído.
50 4 SIMULAÇÕES E RESULTADOS
Utilizando toda a teoria vista nos Capítulos 2 e 3, foram desenvolvidos
programas para simular o comportamento do algoritmo de Viterbi ao variar-se alguns
parâmetros (EISENCRAFT, 2006).
A partir da divisão do domínio em subintervalos, o mapa é iterado diversas
vezes e depois é calculada a chance do próximo ponto estar em cada um dos intervalos.
Obtêm-se dessa forma a matriz de transição A que é quadrada e do tipo I IN N× em que IN
é o número de subintervalos. O sinal de entrada é uma órbita gerada pelo mapa em questão.
As informações necessárias para a simulação da estimação são: o sinal original
( )s n , o sinal corrompido ( )s nɶ , a potência do ruído no canal rP , o número de intervalos IN ,
o mapa, e a matriz de transição A .
Os mapas utilizados para as simulações são: mapa tenda (Eq. 5), mapa tenda
inclinada (Eq. 4) e mapa quadrático (Eq. 6).
A fim de minimizar o erro do algoritmo, antes de simular o algoritmo de
Viterbi, força-se a condição do intervalo definido no domínio. Assim, se um ponto do sinal
ruidoso for maior que 1, é aproximado para 1 e se for menor que 1− , é aproximado para 1− .
No Gráfico 18, foi feita a variação do parâmetro α do mapa tenda inclinada.
Utilizaram-se 10IN = intervalos, com 1000 repetições para cada valor de inSNR e 21N =
pontos iterados do mapa.
O inSNR e o outSNR foram obtidos da mesma forma que foi explicado no
Gráfico 17. O programa 7 do Apêndice foi utilizado para gerar o Gráfico 18.
51
Gráfico 18 - inSNR x outSNR para o mapa tenda inclinada com variações do parâmetro α . Foram
usados 10IN = subintervalos e 21N = pontos da órbita.
Observe que para o mapa tenda inclinada com 0α = , o resultado obtido foi
melhor. Os piores resultados foram obtidos para valores de α próximos dos extremos (-1 e
1). Perto de 20 dB, o algoritmo deixa de ser interessante para o mapa tenda inclinada com
0,8α = . Note que a partir desse valor, a outSNR passa a ser menor que a inSNR . Este
resultado significa que o sinal estimado estará mais longe do sinal original comparado com o
sinal corrompido. Nesse caso, para melhorar o desempenho deve-se aumentar o número de
intervalos uniformes.
52
No Gráfico 19, a simulação foi feita também com o mapa tenda inclinada só
que a variação foi com o número de subintervalos utilizados. Foi utilizado 0,2α = .
Mantiveram-se as 1000 repetições por valor de inSNR e órbitas com 21N = iterações.
Gráfico 19 - inSNR x outSNR do mapa tenda inclinada com variações do número de intervalos
Note que quanto maior o número de intervalos, melhor é o resultado da
estimação. Por volta de 32,5inSNR = dB, para 10 intervalos, o algoritmo de Viterbi acaba não
sendo interessante para a estimação.
No Gráfico 20, a variação do tamanho da matriz de transição foi feita com o
mapa quadrático, caso em que é necessária uma partição não-uniforme. Novamente foram
feitas 1000 repetições por valor de inSNR e as órbitas foram obtidas com 21N = iterações.
53
Gráfico 20 - inSNR x outSNR do mapa quadrático com variações do número de intervalos
As mesmas observações feitas anteriormente podem ser vista no mapa
quadrático. O número de intervalos tem uma influência muito grande no desempenho do
algoritmo de Viterbi.
Comparando o desempenho do algoritmo de Viterbi nos mapas quadrático e
tenda inclinada com variação do número de intervalos, pode-se observar que para o mapa
tenda inclinada com 0,2α = , ele apresenta resultados ligeiramente melhores. Por exemplo,
para 10 intervalos, no quadrático, o algoritmo é satisfatório até quase 35 dB enquanto que no
tenda inclinada, com 0,2α = , é de 32,5 dB.
Os resultados obtidos não são parecidos com os obtidos na tese de Eisencraft
(2006). Os valores de inSNR e outSNR não são os mesmos. É necessário um estudo mais
aprofundado para verificar os possíveis motivos das diferenças de resultados.
54
Para as simulações feitas neste capítulo, foram utilizados intervalos não-
uniformes no mapa quadrático e uniformes no mapa tenda inclinada.
Apesar de terem sido mostradas poucas simulações, deve-se ressaltar que para
cada uma delas o tempo gasto foi de aproximadamente 7 horas. Esse tempo foi obtido a partir
de um computador com processador Pentium D de 2,8 GHz.
55 5 CONCLUSÕES
Este trabalho teve como propósito analisar uma forma de estimar um sinal
caótico transmitido em meio ruidoso de forma a obter um sinal mais próximo do transmitido
originalmente. O método estudado foi o algoritmo de Viterbi.
Para que o trabalho atingisse um público mais amplo, fez-se primeiramente
uma introdução aos sinais caóticos e sistemas de comunicações nos Capítulos 1 e 2. Além
disso, também foi revisada a teoria da estimação de sinais na primeira parte do Capítulo 3.
A partir desses conceitos fundamentais, iniciou-se o estudo do algoritmo de
Viterbi aplicado à estimação de sinais caóticos. Nas simulações realizadas no Capítulo 3,
mostrou-se o caso de apenas um sinal sendo transmitido, um ruído aleatório que foi
adicionado a ele, e o sinal estimado pelo método. Os resultados foram satisfatórios. Para as
condições propostas naquele exemplo, se 20inSNR > dB, o algoritmo deixa de ser
interessante.
Nas simulações do Capítulo 4, dois parâmetros foram variados a fim de se
analisar qual era a influência deles no resultado da estimação. No Gráfico 18, na análise do
mapa tenda inclinada com variação de α , verificou-se que para 0α = , têm-se um maior
conjunto de valores de inSNR para os quais a outSNR é maior. Portanto, nesse caso obtém-se
o melhor resultado, com esse parâmetro.
O parâmetro que mais altera os resultados do algoritmo é o número de divisões
do intervalo IN . Quanto maior for o número de intervalos, ocorre um número maior de casos
em que outSNR é maior que inSNR , como mostrado nos Gráficos 19 e 20.
Por meio dos resultados obtidos, pode-se concluir que o algoritmo de Viterbi
tem um bom desempenho para mapas com densidade invariante uniforme, como o mapa tenda
56 inclinada. Para os casos com outros tipos de mapa se faz necessária uma modificação nas
divisões que deve ser feita no domínio estudado. A divisão é feita de tal forma que as áreas
obtidas entre o mapa e o eixo horizontal devem possuir o mesmo valor, ou seja, a
probabilidade de que um ponto esteja num subintervalo é a mesma de que ele esteja em
qualquer outro subintervalo.
Deve-se também considerar as limitações do método. Para casos nos quais há
pouco ruído, o algoritmo acaba diminuindo a outSNR em relação ao inSNR . Um fator
importante para explicar essa limitação são as aproximações pelos pontos centrais dos
intervalos. Como os pontos do sinal ruidoso estão próximos do original, essa estimação acaba
por obter pontos mais distantes do mesmo.
Os assuntos abordados neste trabalho, em geral, não são vistos num curso de
graduação. Houve a necessidade de muito estudo para escrever os capítulos iniciais e também
com a parte de simulação.
Algumas sugestões para trabalhos futuros resultantes desta pesquisa são: como
aplicar o algoritmo de Viterbi em sistemas de comunicação como ML-CSK (Maximum
Likelihood Chaos Shift Keying – Chaveamento Caótico com máxima verossimilhança) e ML-
DCSK (Maximum Likelihood Differential Chãos Shift Keying – Chaveamento caótico
diferencial com máxima verossimilhança) (EISENCRAFT, 2006), comparação do algoritmo
de Viterbi com outros métodos de estimação e análise de resultados do algoritmo de Viterbi
considerando outros tipos de distorção além do ruído branco gaussiano. Um dos professores
da banca, após a apresentação desse trabalho, também sugeriu um estudo a respeito do ponto
ótimo dentro de um subintervalo não-uniforme.
58 1 SKEW – Obtém o mapa tenda inclinada %[s] = skew(alfa,s0)
%Itera mapa skew uma vez
% alfa = parametro do mapa
% s0 = vetor de pontos a ser iterado
function s = skew(alfa,s0)
indicesmenores = (find(s0<=alfa));
indicesmaiores = (find(s0>alfa));
c11 = 2/(alfa+1);
c12 = (1-alfa)/(1+alfa);
c21 = 2/(alfa-1);
c22 = -(1+alfa)/(alfa-1);
s(indicesmenores) = c11*s0(indicesmenores)+c12;
s(indicesmaiores) = c21*s0(indicesmaiores)+c22;
2 ORBITATI – Obtém órbitas do mapa tenda inclinada % nit = numero de iteracoes
% x0 = condicao inicial
% alfa = parametro do mapa tenda inclinada
function y=orbitati(nit,x0,alfa)
y(1)=x0;
for i=2:nit
if y(i-1)<=alfa
y(i)=((2*(y(i-1)+1))/(alfa+1))-1;
else
y(i)=((-2*(y(i-1)-alfa))/(1-alfa))+1;
end
end
3 QUASEVITERBI – Obtém os intervalos de um mapa tenda inclinada % nint = numero de intervalos
% nbins = numero de bins
function I=quaseviterbi(nint,nbins,alfa)
y=orbitati(10000,-0.8,alfa);
%obtém pontos da órbita
[N,X]=hist(y,nbins);
%obtém valores do histograma
soma=sum(N);
%soma
acumulado=0;
b=[0 0 0 0];
parte=soma/nint;
for j=1:nbins
acumulado=acumulado+N(j);
vetoracumulado(j)=[acumulado];
end
for i=1:nint-1
a=find(vetoracumulado<i*parte);
%procura onde área igual a parte
b(i)=length(a);
59 end
I=[-1 X(b) 1]
%devolve intervalos para algoritmo
4 TENTIVA – Obtém a matriz de transição para o mapa tenda inclinada
function matrizdetransicao=tentativa(nintervalos)
close all;
alfa=0.2;
I=quaseviterbi(nintervalos,50000,alfa);
%obtem intervalos obtidos no programa 3
variavel=length(I);
for i=1:variavel-1
x=linspace(I(i),I(i+1),1000);
for j=1:length(x)
if x(j)<=alfa
y(j)=((2*(x(j)+1))/(alfa+1))-1;
else
y(j)=((-2*(x(j)-alfa))/(1-alfa))+1;
end
%obtem órbita
for n=2:variavel
a=find (y<I(n));
b(n)=length(a);
end
b(1)=0;
parcial=b;
for n=2:variavel
valor(n-1)=parcial(n)-parcial(n-1);
matriz(i,n-1)=[valor(n-1)]./length(x);
end
end
matrizdetransicao=[matriz] ;
end
matrizdetransicao
5 VITERBI – Obtém o sinal estimado %xchapeu = viterbi(y,varruido,Nb,a,mapa)
%Estima o sinal caotico transmitido usando Viterbi.
% y = sinal na entrada do receptor
% varruido = variancia (potencia) do ruido no canal
% Nb = numero de bolas a serem utilizadas na estimacao
% a = matriz de transicao de estados
% mapa = mapa utilizado
function xchapeu = viterbi(y,varruido,Nb,a,mapa)
%alfa = 0;
%y = rand(1,5)-0.5;
Npontos = length(y);
%varruido = .001;
60 %Nb = 10;
%Limitacao hard de y
y(find(abs(y)>1))=sign(y(find(abs(y)>1))); %limitacao hard
%Pontos centrais dos intervalos
deltab = 2/Nb;
k = 1:Nb;
Bc = ((2*k-Nb-1)/Nb)';
if strcmp(mapa,'quadratico'),
Bc = -cos(pi*(Bc+1)/2);
end
% Inicializacao
delta(:,1) = dist(y(1),Bc,varruido)/Nb;
fi(:,1) = zeros(Nb,1);
% Forward Pass
for t = 2:Npontos,
for j = 1:Nb,
for i = 1:Nb,
calc(i) = delta(i,t-1)*a(i,j);
end
calcmax = max(calc);
indmax = find(calc == calcmax);
delta(j,t) = max(calc)*dist(y(t),Bc(j), varruido);
fi(j,t) = indmax(1);
end
end
%Termino
termino = find(delta(:,Npontos) == max(delta(:,Npontos)));
s(Npontos) = termino(1);
%Backward Pass
for t = Npontos-1:-1:1,
s(t) = fi(s(t+1),t+1);
end
xchapeu = Bc(s)';
5 ALGORITMO DE VITERBI – Obtém Gráficos dos sinais originais, com ruído e estimado, erro e relação sinal ruído %scriptfinal
e=0:50;
f=0:50;
close all;
tamanho=21;
Nb=10;
mapa='skew'
61 a=tentativa(10);
SNRindB=linspace(0,60,60);
for i=1:length(SNRindB)
for b=1:10
x0=2*rand(1,1)-1;
sinaloriginal=orbitati(tamanho,x0,0.2);
N=0:length(sinaloriginal)-1;
l=length(N);
r=0.4*randn(1,tamanho);
sinalcorrompido=sinaloriginal+r;
y=sinalcorrompido;
varruido=0.4;
xchapeu = viterbi(y,varruido,Nb,a,mapa);
sinaloriginalaoquad=sum(sinaloriginal.^2);
potenciasinal=sinaloriginalaoquad/tamanho;
varianciaruido=var(sinalcorrompido-sinaloriginal);
varianciaestimada=var(xchapeu-sinaloriginal);
SNRin(i)=potenciasinal/varianciaruido;
SNRinput(i)=10.^(SNRin(i)/10);
sigma(i)=potenciasinal/SNRin(i);
SNRout=sinaloriginalaoquad/varianciaestimada;
SNRoutdB(i)=10*log10(SNRout);
SNRoutput(i)=[SNRoutdB(i)];
erro=sinaloriginal-xchapeu;
errocomruido=sinaloriginal-sinalcorrompido;
mediaSNRinput(i)=[mean(SNRinput)];
end
mediaSNRoutput(i)=[mean(SNRoutput)];
end
mediaerro=mean(erro.^2)
mediaerrocomruido=mean(errocomruido.^2)
figure(1)
subplot(3,1,1)
plot(N,sinaloriginal)
grid on
ylabel('Sinal original')
axis([0 20 -1.2 1.2]);
subplot(3,1,2)
plot(N,sinalcorrompido)
grid on
ylabel('Sinal corrompido por ruido')
axis([0 20 -1.2 1.2]);
subplot(3,1,3)
plot(N,xchapeu)
grid on
xlabel('n')
ylabel('Sinal estimado')
62 axis([0 20 -1.2 1.2])
figure(2)
subplot(2,1,1)
plot(N,errocomruido)
grid on
ylabel('Erro sem utilizar o algoritmo')
axis([0 20 -1.2 1.2]);
subplot(2,1,2)
plot(N,erro)
grid on
xlabel('n')
ylabel('Erro utilizando o algoritmo')
axis([0 20 -1.2 1.2]);
figure(3)
plot(SNRindB,mediaSNRoutput)
grid on
hold on
plot(e,f,'c')
grid on
xlabel('SNRin')
ylabel('SNRout')
axis([0 30 0 30])
6 SCRIPTFINALGRAFICOVITERBI – Obtém as relações sinal ruído da entrada pela relação sinal ruído na saída ao variar o parâmetro alfa do mapa tenda inclinada %scriptfinalgraficoviterbi
%Nb=numero de intervalos
%SNRindB=relacao sinal ruido de entrada
%xchapeu=sinal estimado
%alfa=0.2;
%numrepete=numero de repetiç
function [SNRindB, mediaSNRoutput] =
scriptfinalgraficoviterbitialfa(alfa,a);
tamanho=21;
Nb=10;
mapa='skew'
SNRindB=linspace(0,40,60);
SNR=10.^(SNRindB/10);
numrepete=10;
n = 0:tamanho-1;
for i=1:length(SNRindB)
for b=1:numrepete
[SNRindB(i) b alfa]
x0=2*rand(1,1)-1;
sinaloriginal=orbitati(tamanho,x0,alfa);
sinaloriginalaoquad=sum(sinaloriginal.^2);
potenciasinal=sinaloriginalaoquad/tamanho;
potenciaruido=potenciasinal/SNR(i);
r=sqrt(potenciaruido)*randn(1,tamanho);
sinalcorrompido=sinaloriginal+r;
63 xchapeu=viterbi(sinalcorrompido,potenciaruido,Nb,a,mapa);
denSNRout=var(xchapeu-sinaloriginal)
SNRout=sinaloriginalaoquad/denSNRout;
SNRoutdB(b)=10*log10(SNRout);
erro=sinaloriginal-xchapeu;
errocomruido=sinaloriginal-sinalcorrompido;
end
mediaSNRoutput(i)=[mean(SNRoutdB)];
end
end
7 GRAFICVITERBITIALFA – Obtém o Gráfico de relação sinal ruído da entrada pela relação sinal ruído na saída ao variar o parâmetro alfa do mapa tenda inclinada %function [SNRin,mediaSNRoutput] = graficviterbi(alfa)
close all;
alfa = -0.8:.4:0.8;
a=tentativa(10)
e=0:50;
f=0:50;
for indalfa=1:length(alfa)
[SNRindB(indalfa,:), mediaSNRoutput(indalfa,:)]
=scriptfinalgraficoviterbitialfa(alfa(indalfa));
end
figure(1)
plot(SNRindB(1,:),mediaSNRoutput(1,:),'r')
hold on
plot(SNRindB(2,:),mediaSNRoutput(2,:),'b')
hold on
plot(SNRindB(3,:),mediaSNRoutput(3,:),'k')
hold on
plot(SNRindB(4,:),mediaSNRoutput(4,:),'g')
hold on
plot(SNRindB(5,:),mediaSNRoutput(5,:),'m')
hold on
plot(e,f,'c')
hold on
xlabel('SNRin')
ylabel('SNRout')
64 REFERÊNCIAS ABEL, A.; SCHWARZ, W. Chaos communications-principles, schemes, and system analysis; Proceedings of the IEEE, v. 90, n. 5, p.691 – 710, may. 2002. ALLIGOOD, K. T.; SAUER, T. D.; YORKE, J. A. Chaos - An Introduction to Dynamical
Systems, New York: Springer, 1996. CORRON, N.J.; HAHS, D. W. A new approach to Communications using Chaotic Signals, IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications, v. 44, n. 5, p.373-382, 1997. DEDIEU, H.; KISEL, A. Communications with chaotic time series: probabilistic methods for noise reduction. International Journal of Circuit Theory and Applications, v. 27, p. 577-587, 1999. DEVANEY, R. L. A first course in chaotic dynamical systems: Theory and experiment, Westview Press, 1992. DRAKE, D. F. Information´s Role in the Estimation of Chaotic Signals. 1998. Thesis (Doctor in Philosophy in Electrical Engineering) - Georgia Institute of Technology, 1998. EISENCRAFT, M. Sistemas de comunicação utilizando sinais caóticos. 2001. 115 p. Dissertação (Mestrado em Engenharia) - Escola Politécnica da Universidade de São Paulo, São Paulo, 2001. EISENCRAFT, M. Contribuições da teoria da estimação para modulações digitais que
utilizam sinais caóticos. Tese (Doutorado em Engenharia) - Escola Politécnica da Universidade de São Paulo, São Paulo, 2006.
HAYKIN, S. Communication systems, New York: John Wiley, 2001. KAY, S. M. Fundamentals of Statistical Signal Processing: Estimation Theory. Upper Saddle River, New Jersey: Prentice-Hall Inc., 1993. LASOTA, A.; MACKEY, M. Probabilistic properties of deterministic systems Cambridge: Cambridge University, 1985. LAU, F. C. M.; TSE, C. K. Chaos-based digital communication systems, Berlim: Springer, 2003. LI, T. Y.; YORKE, J. A. Period three implies chaos. American Mathematics Monthly, v. 82, p. 985-992, 1975. LORENZ, E. Deterministic non-periodic flows. Journal of the Atmospheric Sciences, v. 20, p. 130, 1963.
65 MAY, R. M. Biological populations with nonoverlapping generations: stable points, stable cycles, and chaos. Science, v. 186, p. 645-647, 1974. MONTEIRO, L. H. A. Sistemas Dinâmicos, São Paulo: Livraria da Física, 2006. MYERS, K.; TAPLEY, B. Adaptive sequential estimation with unknown noise statistics. Proceedings of the IEEE Automatic Control, v.21, n.4, p. 520-523, 1976. NEWTON, I. The Principia : mathematical principles of natural philosophy. Berkeley: University of California, 1999. PECORA, L. M.; CARROLL, T. L. Synchronization in chaotic systems. Physical Review Letters, v. 64, n. 8, p. 821-824, 1990. POINCARÉ, H. Sur les equations de la dynamique et le probléme de trois corps. Acta Mathematica, v. 13, p. 1-270, 1890. SETTI, G.; MAZZINI, G.; ROVATTI, R.; CALLEGARI, S. Statistical Modeling of Discrete- Time Chaotic Process - Basic Finite-Dimensional Tools and Applications. Proceedings
of the IEEE, v. 90, n. 5, 2002. SILVA, C. P.; YOUNG, A. M. Introduction to chaos-based communications and signal processing, Proceedings of the IEEE Aerospace Conf, 2000. STROGATZ, S. H. Nonlinear Dynamics and Chaos. Massachusets: Persus Publishing, 2000.