uma implementação computacional de estimativa harmônica ... · historicamente, a área de...

133
Universidade Federal de Pernambuco Centro de Tecnologia e Geociências Departamento de Eletrônica e Sistemas Graduação em Engenharia Eletrônica Uma Implementação Computacional de Estimativa Harmônica Baseada na Série de Fourier Quantizada com Interface Gráfica Diego Felipe Gomes Coelho Trabalho de Graduação Recife 7 de Dezembro de 2012

Upload: nguyennhi

Post on 10-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

Universidade Federal de PernambucoCentro de Tecnologia e Geociências

Departamento de Eletrônica e Sistemas

Graduação em Engenharia Eletrônica

Uma Implementação Computacional deEstimativa Harmônica Baseada na Série

de Fourier Quantizada com InterfaceGráfica

Diego Felipe Gomes Coelho

Trabalho de Graduação

Recife7 de Dezembro de 2012

Page 2: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações
Page 3: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

Universidade Federal de PernambucoCentro de Tecnologia e Geociências

Departamento de Eletrônica e Sistemas

Diego Felipe Gomes Coelho

Uma Implementação Computacional de EstimativaHarmônica Baseada na Série de Fourier Quantizada com

Interface Gráfica

Trabalho apresentado ao Programa de Graduação em En-genharia Eletrônica do Departamento de Eletrônica e Sis-temas da Universidade Federal de Pernambuco como re-quisito parcial para obtenção do grau de Engenheiro Ele-trônico.

Orientador: Prof. Dr. Renato J. CintraCo-orientador: Prof. Dr. Hélio Magalhães de Oliveira

Recife7 de Dezembro de 2012

Page 4: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações
Page 5: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

A meus pais, Décio Coelho de Araújo eGeny G. da Silva Coelho, e meus irmãos,

Glauber D. G. Coelho e Alana L. G. Coelho.

Page 6: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações
Page 7: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

Agradecimentos

Agradeço aos meus pais, em especial minha mãe, por em seu modomuito especial me forçar aestudar até mesmo nas férias enquanto meus primos alegremente brincavam. Agradeço tambéma todos os infortúnios e mazelas da vida, que apesar de tudo, me fortaleceram o suficiente parapoder chegar a momentos como este, a de conclusão do curso de Engenharia Eletrônica naUFPE, que para mim representa uma conquista sem tamanho.

vii

Page 8: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações
Page 9: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

Resumo

Este trabalho explora a proposta feita em [H. M. de Oliveira D. F. Souza, R. J. de Sobral Cin-tra. Uma Ferramenta para Análise de Sons Musicais: A Série Quantizada de Fourier.XXIISimpósio Brasileiro de Telecomunicações, sep 2005] do uso da base quantizada de sinais{1,sign(cos(nω0t)),sign(sin(nω0t))}∞

n=1 no contextos de detecção harmônica. Este trabalhoaborda aspectos teóricos do desenvolvimento da série de Fourier clássica e da proposta sériede Fourier Quantizada. Um aplicativo escrito para a plataforma Matlab® que implementa aestimação de harmônicos baseada na série de Fourier Quantizada foi desenvolvido.

Palavras-chave: Série de Fourier Clássica, Série de Fourier Quantizada, Implementação Com-putacional, Interface Gráfica, Estimativa Harmônica, Análise de Fourier, Álgebra Linear, Pro-cessamento de Sinais.

ix

Page 10: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações
Page 11: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

Abstract

This work analyzes the Fourier quantized base{1,sign(cos(nω0t)),sign(sin(nω0t))}∞n=1 pro-

posed in [H. M. de Oliveira D. F. Souza, R. J. de Sobral Cintra.Uma Ferramenta para Análisede Sons Musicais: A Série Quantizada de Fourier.XXII Simpósio Brasileiro de Telecomuni-cações, sep 2005] applied in the context of harmonic detection. A Matlab® language writtensoftware that implements a harmonic estimation based on quantized Fourier series is presented.Results are compared with those furnished by the usual Fourier series analysis.

Keywords: Classical Fourier Series, Quantized Fourier Series, Computational Implemen-tation, Graphical Interface, Harmonic Estimation, Fourier Analysis, Linear Algebra, SignalProcessing.

xi

Page 12: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações
Page 13: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

Sumário

1 Introdução 11.1 Contextualização 11.2 Objetivos e Contribuições 21.3 Estrutura do Trabalho 3

2 As Séries de Fourier 52.1 Ortogonalidade da Série de Fourier 62.2 Os Coeficientes da Série de Fourier e o Produto Interno 82.3 Convergência da Série de Fourier 14

3 A Série de Fourier Quantizada 193.1 Motivação 193.2 Propriedades da Base Quantizada de Fourier 19

3.2.1 Não-Ortogonalidade da Base da Série de Fourier Quantizada 203.3 A Série de Fourier Quantizada 263.4 Formulação Matricial e os Coeficientes ˆan e bn 26

3.4.1 A Relação entre os Coeficientes de Fourier Clássica e daSérie de Fou-rier Quantizada 28

4 Simulação Computacional 314.1 Algoritmo para Obtenção deaN e bN 314.2 Simulação para Obtenção deaN e bN 324.3 Simulação para Obtenção dean ebn a partir deaN ebN 32

5 Técnicas de Implementação 395.1 Processamento em Blocos de Curto Comprimento 395.2 Cálculo a priori e Minimização de Redundâncias 405.3 Método de Dempster-McLeod 41

6 Otimização Computacional no Contexto de Detecção 456.1 Método do Fator de Escalonamento I 456.2 Método do Fator de Escalonamento II 476.3 Coeficientes da Série de Fourier e a Detecção Harmônica 48

7 Software 497.1 Fundamentos de Projeto de Interface Gráfica 497.2 GUI’s com Matlab® 50

xiii

Page 14: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

xiv SUMÁRIO

7.3 Implementação em Software com Linguagem Matlab® 50

8 Conclusões 53

A Códigos e Funções Usadas para Simulação Computacional 55

B Códigos e Funções Usadas para a Implementação do Software 67

C Apêndice de Imagens do Software Produzido 105

D Aplicações da Série de Fourier em Equações Diferenciais 109

E Digressão sobre Séries Infinitas 111

Page 15: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

Lista de Figuras

2.1 Exemplo de funções suaves e não suaves por partes. 15

3.1 Algumas funções da base quantizada proposta. 21

4.1 Representação da expansão def (t)= t parat ∈ [0,1] na base da série de FourierQuantizada com 2, 4, 7 e 10 harmônicos, respectivamente. 33

4.2 Representação da expansão def (t) = t2 parat ∈ [0,1] na base da série de Fou-rier Quantizada com 2, 4, 7 e 10 harmônicos, respectivamente. 34

4.3 Representação da expansão def (t) = t parat ∈ [0,1] em série de Fourier Apro-ximada com 2, 4, 7 e 10 harmônicos, respectivamente, obtida apartir da sériede Fourier Quantizada. 35

4.4 Representação da expansão def (t) = t2 para t ∈ [0,1] em série de FourierAproximada com 2, 7, 4 e 10 harmônicos, respectivamente, obtida a partir dasérie de Fourier Quantizada. 36

C.1 Imagem do Analisador de Espectro ao ser iniciado. 105C.2 Imagem do Analisador de Espectro ao ser usado no modo sem comparação. 106C.3 Imagem do Analisador de Espectro ao ser configurado. 106C.4 Imagem do Analisador de Espectro analisando um sinal rampa com 5 harmônicos.106C.5 Imagem do Analisador de Espectro um sinal parabólico com5 harmônicos. 107C.6 Imagem do Analisador de Espectro um sinal gaussiano com 5harmônicos. 107

xv

Page 16: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações
Page 17: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

Lista de Tabelas

2.1 Propriedades dos coeficientes da série de Fourier 11

4.1 MSEQuant eMSEAprox para o sinalf (t) = t parat ∈ [0,1] com mil amostras 374.2 MSEQuant eMSEAprox para o sinalf (t) = t2 parat ∈ [0,1] com mil amostras 374.3 MSEQuant eMSEAproxpara o sinalf (t)= cos(2πt) parat ∈ [0,1] com mil amos-

tras 374.4 MSEQuant eMSEAprox para o sinalf (t) = e−t2

parat ∈ [0,1] com mil amostras 38

6.1 Erro decorrente da aplicação do método do fator de escalonamento 466.2 Quantidades que devem ser calculadas a priori 46

7.1 Tipos de objetosuicontrol 51

xvii

Page 18: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações
Page 19: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

CAPÍTULO 1

Introdução

1.1 Contextualização

Por décadas, o processamento de sinais tem desempenhado um papel central em áreas comotelecomunicações, engenharia médica e clínica, acústica,sísmica, exploração e prospecçãopetrolífera, instrumentação, robótica, eletrônica de consumo e muitas outras áreas. Hoje, ela-borados algoritmos e sistemas de processamento de sinais tem sido amplamente usados, desdeem sistemas de entretenimento, como a televisão e sistemas de áudio, até sistemas críticospara controle de sistemas aviônicos e de manutenção da vida de pacientes em estado críticode saúde. Historicamente, a área de processamento de sinaistem sido beneficiada pela ín-tima relação entre teoria e aplicações que implementam sistemas baseados no desenvolvimentoteórico. Até meados de 1960, toda a tecnologia no campo de processamento de sinais foi pre-ponderantemente ligada a sistemas de tempo contínuo, contudo, a evolução dos computadoresdigitais e microprocessadores em conjunto com avanços teóricos da época levaram à ascensãodos sistemas de processamento de sinais digitais.

A fundamental diferença entre processamento de sinais de tempo contínuo e discreto éque este trata do processamento de sinais cuja a componente do tempo assume apenas valoresdiscretos, e não mais contínuos. Não obstante, o processamento digital de sinais é um casoespecial do processamento de sinais de tempo discreto. Ao passo que o processamento de sinaisde tempo discreto trata de sinais cuja a única componente discreta é o tempo, o processamentodigital de sinais trata de sinais cuja ambas componentes, tempo e amplitude, assumem valoresdiscretos.

Embora haja diversas situações em que os sinais a serem processados são naturalmente detempo discreto, este não é caso geral. Usualmente, sinais detempo discreto representam sinaisde tempo contínuo que devem ser processados de modo a se obteruma outra sequência ouextrair alguma informação. Nestas situações, os sinais de tempo contínuo são transformadosem sinais de tempo discreto por meio de um processo chamado deamostragem [28]. Durante talprocesso, são geradas amostras do sinal de tempo contínuo. Obedecendo a taxa de Nyquist [28],o sinal de tempo discreto obtido pode bem representar o sinalde tempo contínuo original; edaquele este pode ser reconstruído. Não raro, sistemas que implementam tais técnicas sãoprojetados de modo que operem em tempo real, ou seja, que o sinal de tempo discreto obtidoseja processado a mesma taxa que o sinal de tempo contínuo é amostrado.

Maior parte das implementações de sistemas de processamento de sinais envolve processarum sinal de modo a se obter outro. Contudo, em uma outra classede problemas, nem sempre háo interesse em obter uma outra sequência numérica, mas, sim,extrair informações da sequênciade entrada. Este tipo de problema ocorre frequentemente em sistemas de reconhecimento de

1

Page 20: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

2 CAPÍTULO 1 INTRODUÇÃO

voz e imagem [18, 29, 30]. Usualmente, tais sistemas são compostos de uma fase de pré-processamento seguidas de um bloco de reconhecimento de padrão.

Os problemas de processamento de sinais não estão limitadosa sinais de uma única di-mensão como dissertado até o momento. De fato, problemas relacionados com imagem cons-tantemente demandam sistemas capazes de manipular sinais multidimensionais. Para ilustrar,pode-se citar codificação de vídeo [7], imagens médicas [18], imagens de satélites [22] e pro-cessamento de sinais sísmicos [35]. Contudo, problemas quetratam de sinais multidimensio-nais podem ser analisados e decompostos em problemas de uma dimensão, exceto por algumasadaptações.

Uma ferramenta matemática fundamental em processamento desinais é a série de Fou-rier [16, 19, 28]. Esta técnica faz parte de um conjunto maiorde técnicas coletivamente deno-minadas de Análise de Fourier.

A série de Fourier surgiu com o estudo de ondas de calor feito Joseph Fourier (1768-1830)publicado inicialmente emMémoire sur la propagation de la chaleur dans les corps solides(Tratado da propagação de calor em corpos rígidos) em 1807 eThéorie analytique de la cha-leur (Teoria analítica do calor) em 1822 [17]. Embora a série de Fourier tenha sido motivadaoriginalmente pelo estudo da resolução da equação do calor,ficou evidente posteriormente queas mesmas técnicas poderiam ser aplicadas a uma grande variedade de problemas matemáticose físicos, especialmente aqueles envolvendo equações diferenciais ordinárias com coeficien-tes constantes, para a qual as soluções envolvam ondas sinusoidais. Uma digressão sobre aaplicação da série de Fourier em equações diferenciais podeser encontrado no Apêndice D.

1.2 Objetivos e Contribuições

Este trabalho se desenvolve em contextos em que a série de Fourier é aplicada para detecção desinais. Tais situações podem surgir em cenários de aplicações tais como reconhecimento de voz,reconhecimento de padrões de atividade sísmica e reconhecimento e processamento de imageme vídeo. Em tais situações não se faz necessário uma computação exata dos coeficientes da sériede Fourier, haja visto que o objetivo se limita a detecção. Com a eliminação do requisito dacomputação exata dos coeficientes, pode-se, em detrimento da precisão, aumentar a velocidadee massa de dados processados. Com o objetivo de tirar proveito desta vantagem, este trabalhotem como finalidade implementar um analisador de espectro implementado emsoftwarecapazde realizar detecção baseado na quantização do núcleo da expansão em série de Fourier, comoproposto em [11].

De modo semelhante ao que foi feito em [11], neste trabalho é adotada a base quantizada deFourier{1,sign(cos(nω0t)),sign(sin(nω0t))}∞

n=0 para estimação harmônica. Contudo, emboraem [11] se tenha considerando por simplificação a base proposta como sendo ortogonal, nestetrabalho não é feita tal consideração. De fato, a base proposta é não-ortogonal, como demons-trado na Seção 3.2.1. Embora desconsiderar a não-ortogonalidade da base proposta possa serútil em alguns cenários em que há um baixo requisito de precisão, neste trabalho não o faze-mos. Todos os cálculos em busca da aproximação dos coeficientes da série de Fourier clássicaem função da base proposta são realizados considerando a suanão-ortogonalidade.

Embora considerar a base proposta como ortogonal resulte emuma simplificação dos cál-

Page 21: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

1.3 ESTRUTURA DO TRABALHO 3

culos envolvidos, como feito em [11], tal consideração resulta em uma aproximação que podeser considerada de baixa precisão. Proceder com os cálculoscom a base proposta considerandoa sua não-ortogonalidade pode levar a um aumento da complexidade das operações envolvidaspara se estimar os coeficientes da série de Fourier clássica.Não obstante, acompanhado doaumento da complexidade das operações envolvidas, é obtidauma aproximação mais precisa epróxima dos coeficientes da série de Fourier clássica. Obviamente, o quão precisa deve ser aestimação harmônica deve ser ditada por cada aplicação particular.

O aplicativo resultante será escrito em linguagem de Matlab®. O softwarepoderá ser usadonas aplicações acimas discutidas com pequenas modificações, a depender da aplicação esco-lhida.

Embora diversas outras ferramentas tenham sido desenvolvidas com o objetivo de manipu-lar sinais não-estacionários, como por exemplo a transformadaWavelet[12], neste trabalho sãotratados apenas de sinais estacionários. Tal suposição permite aplicar a série de Fourier.

1.3 Estrutura do Trabalho

O trabalho se desdobra como segue.

Capítulo 2 Formaliza o conceito da série de Fourier e trata de questões como a representaçãode um sinal, ortonormalidade, fenômeno de Gibbs e convergência da série de Fourier;

Capítulo 3 Apresenta e formaliza a representação de um sinal por meio dasérie quantizadade Fourier. Neste Capítulo, são tratados aspectos como a não-ortogonalidade da sériequantizada de Fourier e a relação entre os coeficientes de Fourier e os coeficientes da sériequantizada de Fourier. Ainda é apresentada uma forma de se obter uma aproximação paraos coeficientes de Fourier a partir dos coeficientes da série quantizada de Fourier;

Capítulo 4 Este capítulo trás uma explanação a respeito de algumas simulações da obtençãodos coeficientes da série quantizada de Fourier e dos coeficientes da série de Fourier apartir da série quantizada para alguns sinais em especial;

Capítulo 5 Investiga algumas formas de otimização computacional que podem ser aplicadasa implementações emhardwaree softwarecom o objetivo de se minimizar o númerode operações necessárias para a obtenção de uma estimativa dos coeficientes da série deFourier a partir da série quantizada de Fourier;

Capítulo 7 Aborda aspectos de projeto de interfaces gráficas com o uso dalinguagem Matlab®

e descreve o aplicativo confeccionado durante este trabalho de graduação;

Capítulo 8 contém as considerações finais a cerca do aplicativo construído com este traba-lho de graduação, além de endereçar possíveis trabalhos futuros para enriquecimento dosoftwarecriado;

Seção A Contém os principais códigos usados durante a fase de simulação;

Seção BContém os principais códigos escritos na implementação dosoftware;

Page 22: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

4 CAPÍTULO 1 INTRODUÇÃO

Seção CContém imagens da interface gráfica dosoftwarecriado em algumas situações co-muns durante seu uso;

Seção DAborda a aplicação da série de Fourier a resolução de problemas envolvendo equa-ções diferenciais;

Seção DApresenta uma digressão sobre o estudo de séries infinitas usada para fundamentar oestudo da convergência da série de Fourier.

Page 23: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

CAPÍTULO 2

As Séries de Fourier

A série de Fourier é um caso especial de séries infinitas: as séries trigonométricas. Suas aplica-ções já foram discutidas no capítulo anterior. Neste capítulo, estamos interessados em descrevera série de Fourier e formalizá-la.

Seja um sinal descrito por uma função realf (t), contínua, definida na reta real e que sejaperiódica com períodoT, ou seja, f (t + T) = f (t) para todot ∈ R. Admita que f (t) sejaabsolutamente integrável em todo intervalo fechado na retareal [2].

Definição 1. A série de Fourier def (t) é dada por:

a0

2+

∑n=1

(ancos(nω0t)+bnsin(nω0t)), (2.1)

em queω0 ,2πT é chamada de frequência fundamental ea0 e{an,bn}∞

n=1 são coeficiente reaisdados por:

a0 =2T

∫ T2

−T2

f (t)dt, (2.2)

an =2T

∫ T2

−T2

f (t)cos(nω0t)dt, (2.3)

e

bn =2T

∫ T2

−T2

f (t)sin(nω0t)dt, (2.4)

paran∈ N, em queN representa o conjunto dos números naturais, excetuando-seo 0.

O conjunto{1,cos(nω0t),sin(nω0t)}∞n=1 forma uma base para a representação de funções

periódicas com período fundamental de 2π/ω0 [13]. Com esta nova base de funções periódicas,pode-se definir o produto interno entre duas funções quaisquer da seguinte forma.

Definição 2. Seja f (t) eg(t) duas funções reais, definidas na reta real e periódicas, ambas comperíodoT e ambas integráveis à Riemann. Define-se o produto interno entre f (t) e g(t):

〈 f (t),g(t)〉, 2T

∫ T2

−T2

f (t) ·g(t)dt, (2.5)

Este produto interno induz a seguinte norma para funções:

‖ f (t)‖=√

〈 f (t), f (t)〉=√

2T

∫ T2

−T2

f 2(t)dt, (2.6)

5

Page 24: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

6 CAPÍTULO 2 AS SÉRIES DE FOURIER

Sejamg(t) e h(t) funções com as característica exigidas na Definição 1. As propriedadescomuns a produtos internos de vetores de um espaço vetorial são facilmente demonstradasusando as propriedades das integrais [32], a saber:

1. Comutatividade〈 f (t),g(t)〉= 〈g(t), f (t)〉;

2. Distributividade com relação a soma

〈 f (t),g(t)+h(t)〉= 〈 f (t),g(t)〉+ 〈 f (t),h(t)〉;

3. Bilinearidade〈α · f (t),g(t)〉= α〈 f (t),g(t)〉= 〈 f (t),α ·g(t)〉,

em queα ∈ R;

4. Não-negatividade〈 f (t), f (t)〉= ‖ f (t)‖ ≥ 0

5. Nulidade da norma‖ f (t)‖= 0⇔ f (t) = 0.

O produto interno como dado na Definição 2 é útil para a compreensão da série de Fouriere suas propriedades. A seção a seguir trata da ortogonalidade, uma importante propriedadepresente na base da série de Fourier, cujo estudo depende da noção de produto interno.

2.1 Ortogonalidade da Série de Fourier

A série de Fourier goza de propriedades importantes e úteis na análise de sinais. Uma dessaspropriedades é a ortogonalidade. No caso em particular da série de Fourier, significa dizer quea base de Fourier{1,cos(nω0t),sin(nω0t)}∞

n=1 é uma base ortogonal com respeito ao produtointerno na Definição 2. O teorema a seguir detalha essa característica.

Teorema 1. A base de Fourier,{1,cos(nω0t),sin(nω0t)}∞n=1, é uma base ortogonal [16].

Demonstração.Primeiro, analisemos os casos triviais〈1,cos(nω0t)〉 e 〈1,sin(nω0t)〉, em quen∈ N.

〈1,cos(nω0t)〉= ω0

π

∫ πω0

− πω0

cos(nω0t)dt (2.7)

=ω0

πsin(nω0t)

nω0

πω0

− πω0

= 0

Page 25: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

2.1 ORTOGONALIDADE DA SÉRIE DE FOURIER 7

〈1,cos(nω0t)〉= ω0

π

∫ πω0

− πω0

sin(nω0t)dt (2.8)

=−ω0

πcos(nω0t)

nω0

πω0

− πω0

= 0

Assim, as funções sin(nω0t) e cos(nω0t) são ortogonais em relação a função constante 1.Considerandon, m∈ N, tem-se que:

〈cos(nω0t),cos(mω0t)〉=ω0

π12

∫ πω0

− πω0

cos((n+m)ω0t)dt+ω0

π12

∫ πω0

− πω0

cos((n−m)ω0t)dt

(2.9)

= 0+ω0

π12

∫ πω0

− πω0

cos((n−m)ω0t)dt.

A integral do termo correspondente a cos((n+m)ω0t) sempre corresponderá a zero para quais-quer naturaisn e m [13]. Para o termo cos((n−m)ω0t), tem-se que sen 6= m, então, pelomesmo motivo mencionado, a integral deste termo será zero, eapenas sen= m, então cos((n−m)ω0t) = cos(0ω0t) = 1. Assim, vem que :

ω0

π12

∫ πω0

− πω0

1dt =ω0

πt

πω0

− πω0

= 1. (2.10)

Para os elementos da base na forma sin(mω0t), m∈ N, tem-se que:

〈sin(nω0t),sin(mω0t)〉=ω0

π

∫ πω0

− πω0

sin(nω0t) ·sin(mω0t)dt (2.11)

=ω0

π12

∫ πω0

− πω0

cos((n−m)ω0t)dt− ω0

π12

∫ πω0

− πω0

cos((n+m)ω0t)dt

=ω0

π12

∫ πω0

− πω0

cos((n−m)ω0t)dt−0,

em que mais uma vez o termo cos((n+m)ω0t), por sempre ser periódico, resulta em umaintegral de valor nulo. O termo cos((n−m)ω0t), paran 6= m resulta em uma integral tambémnula, e paran= m resulta em cos((n−m)ω0t) = cos(0ω0t) = 1, o que leva a

ω0

π12

∫ πω0

− πω0

1dt =ω0

πt

πω0

− πω0

= 1. (2.12)

Page 26: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

8 CAPÍTULO 2 AS SÉRIES DE FOURIER

Resta analisar os produtos internos da forma〈cos(nω0t),sin(mω0t)〉.

〈sin(nω0t),cos(mω0t)〉=ω0

π

∫ πω0

− πω0

sin(nω0t) ·cos(mω0t)dt (2.13)

=ω0

π12

∫ πω0

− πω0

sin((n+m)ω0t)dt+12

∫ πω0

− πω0

sin((n−m)ω0t)dt

= 0+ω0

π12

∫ πω0

− πω0

sin((n−m)ω0t)dt.

O termo sin((n+m)ω0t), por ser periódico, resulta em uma integral de valor nulo. Semelhan-temente, a integral do termo sin((n−m)ω0t) sempre resultará em um valor nulo para quaisquern em∈ N.

Desta forma, para qualquern e m inteiros diferentes de zero, tem-se:

〈cos(nω0t),cos(mω0t)〉={

1, sen= m,

0, caso contrário;(2.14)

〈sin(nω0t),cos(mω0t)〉= 0,∀n em; (2.15)

〈sin(nω0t),sin(mω0t)〉={

1, sen= m,

0, caso contrário;(2.16)

〈1,sin(nω0t)〉= 〈1,cos(nω0t)〉= 0,∀n≥ 1. (2.17)

A Definição 2, que trata do produto interno entre duas funções, pode ser útil para a determi-nação de algumas outras propriedades da série de Fourier de sinais com determinadas simetrias.A seção seguinte aborda quais as propriedades da série de Fourier dos sinais analisados quandoestes apresentam simetrias do tipo ímpar, par ef (t) =± f (t±T/2).

2.2 Os Coeficientes da Série de Fourier e o Produto Interno

Tendo agora a noção de produto interno e ortogonalidade, podemos re-expressar a Definição 1da seguinte forma.

Definição 3. A série trigonométrica de Fourier def (t) é dada por:

a0

2+

∑n=1

(ancos(nω0t)+bnsin(nω0t)), (2.18)

em queω0 = 2π/T é chamada de frequência fundamental e{an,bn}∞n=1 são coeficiente reais

dados por:an = 〈 f (t),cos(nω0t)〉, (2.19)

Page 27: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

2.2 OS COEFICIENTES DA SÉRIE DE FOURIER E O PRODUTO INTERNO 9

a0 = 〈 f (t),1〉, (2.20)

ebn = 〈 f (t),sin(nω0t〉, (2.21)

paran≥ 0

Usando (2.19), (2.20) e (2.21), é possível extrair algumas propriedades dos coeficientes daexpansão em série de Fourier.

Se a funçãof (t) é ímpar, usando mudança de variáveis na integral do segundo membro det ′ =−t e considerando que a função cosseno é par, é imediato que

an =2T

∫ T2

−T2

f (t)cos(nω0t)dt

=2T

∫ 0

−T2

f (t)cos(nω0t)dt− 2T

∫ −T2

0f (−t ′)cos(−nω0t ′)dt ′

=2T

∫ 0

−T2

f (t)cos(nω0t)dt+2T

∫ −T2

0f (t ′)cos(nω0t ′)dt ′

=2T

∫ 0

−T2

f (t)cos(nω0t)dt− 2T

∫ 0

−T2

f (t ′)cos(nω0t′)dt ′

= 0.

Assim, f (t), quando expressa por meio da série de Fourier, apresenta coeficientesan nulos,para todon≥ 0.

Considerando agora o caso em quef (t) é uma função par, tem-se que

bn =2T

∫ T2

−T2

f (t)sin(nω0t)dt

=2T

∫ 0

−T2

f (t)sin(nω0t)dt− 2T

∫ −T2

0f (t ′)sin(−nω0t

′)dt ′

=2T

∫ 0

−T2

f (t)sin(nω0t)dt+2T

∫ −T2

0f (t ′)sin(nω0t

′)dt ′

=2T

∫ 0

−T2

f (t)sin(nω0t)dt− 2T

∫ 0

−T2

f (t ′)sin(nω0t′)dt ′

= 0.

Outros dois casos interessantes são quandof (t) apresenta simetria do tipof (t) = f (t ±T/2) e f (t) =− f (t±T/2). Quandof (t) = f (t±T/2), tem-se

an =∫ T

2

−T2

f (t)cos(nω0t)dt =∫ 0

−T2

f (t)cos(nω0t)dt+∫ T

2

0f (t)cos(nω0t)dt.

Page 28: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

10 CAPÍTULO 2 AS SÉRIES DE FOURIER

Fazendo-se a mudança de variávelt ′ = t−T/2 na segunda integral, tem-se que

an =

∫ 0

−T2

f (t)cos(nω0t)dt+∫ T

2

0f (t)cos(nω0t)dt

=

∫ 0

−T2

f (t)cos(nω0t)dt+∫ 0

−T2

f (t ′+T/2)cos(nω0(t′+T/2))dt ′.

Comonω0T/2= nπ , tem-se que cos(nω0(t ′+T/2)) = sin(nω0t ′)(−1)n, logo

an =

∫ 0

−T2

f (t)cos(nω0t)dt+∫ 0

−T2

f (t ′+T/2)sin(nω0t′)(−1)ndt ′

=

∫ 0

−T2

f (t)cos(nω0t)dt+(−1)n∫ 0

−T2

f (t ′)cos(nω0t ′)dt ′

=(1+(−1)n)

∫ 0

−T2

f (t)cos(nω0t)dt.

Então, sen= 2k+1, segue-se quean = 0.De maneira análoga, considerando os coeficientesbn, n∈ N, tem-se que

bn =

∫ 0

−T2

f (t)sin(nω0t)dt+∫ 0

−T2

f (t ′+T/2)sin(nω0(t′+T/2))dt ′

=

∫ 0

−T2

f (t)sin(nω0t)dt+(−1)n∫ 0

−T2

f (t ′)sin(nω0t′)dt ′

=(1+(−1)n)

∫ 0

−T2

f (t)sin(nω0t)dt.

De modo similar, sen = 2k+1, tem-se quebn = 0. Se tomarmos o casof (t) = f (t−T/2),obteremos o mesmo resultado. Para o casof (t) =− f (t±T/2), tomamosf (t) =− f (t+T/2),e obtêm-se

an =∫ 0

−T2

f (t)cos(nω0t)dt+∫ 0

−T2

f (t ′+T/2)cos(nω0t′)(−1)ndt ′

=∫ 0

−T2

f (t)cos(nω0t)dt− (−1)n∫ 0

−T2

f (t ′)cos(nω0t′)dt ′

=(1− (−1)n)∫ 0

−T2

f (t)cos(nω0t)dt,

o que leva aan = 0 sen= 2k. Parabn, nestas condições, tem-se que

bn =∫ 0

−T2

f (t)sin(nω0t)dt+∫ 0

−T2

f (t ′+T/2)sin(nω0(t′+T/2))dt ′

=∫ 0

−T2

f (t)sin(nω0t)dt− (−1)n∫ 0

−T2

f (t ′)sin(nω0t′)dt ′

=(1− (−1)n)∫ 0

−T2

f (t)sin(nω0t)dt.

Page 29: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

2.2 OS COEFICIENTES DA SÉRIE DE FOURIER E O PRODUTO INTERNO 11

Tabela 2.1 Propriedades dos coeficientes da série de Fourier

Condição Coeficientes

f (t) = f (−t) bn = 0 ,n≥ 1f (t) =− f (−t) an = 0 ,n≥ 0

f (t) = f (t±T/2) a2k+1 = b2k+1 = 0 ,n≥ 0f (t) =− f (t±T/2) a2k = b2k = 0 ,n≥ 1

Isto implica quebn = 0 sen é par. Se o caso de simetriaf (t) = − f (t −T/2) for conside-rado, obtêm-se os mesmos resultados para os coeficientesan e bn. A Tabela 2.1 resume aspropriedades aqui demonstradas.

Comumente a série de Fourier de uma dada função é representada em sua forma exponen-cial. Esta é a representação baseada na equação de Leonard Euler [1],

ejθ = cos(θ)+ j sin(θ), (2.22)

em que j representa a unidade imaginária√−1 [1]. Usando (2.22) e a paridade das funções

cos(·) e sin(·), podemos obter:

cos(nω0t) =12(ejnω0t +e− jnω0t) (2.23)

e

sin(nω0t) =12 j

(ejnω0t −e− jnω0t). (2.24)

Assim sendo, definindo

cn =1T

∫ T2

−T2

f (t)e− jnω0tdt, (2.25)

em quen ∈ Z, obtemos as seguintes relações entrecn e os coeficientesan e bn previamentediscutidos:

an =2T

∫ T2

−T2

f (t)cos(nω0t)dt (2.26)

=2T

∫ T2

−T2

f (t)12(ejnω0t +e− jnω0t)dt

= (c−n+cn),

e

bn =2T

∫ T2

−T2

f (t)sin(nω0t)dt (2.27)

=2T

∫ T2

−T2

f (t)12 j

(ejnω0t −e− jnω0t)dt

= j(cn−c−n).

Page 30: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

12 CAPÍTULO 2 AS SÉRIES DE FOURIER

Desse modo, tem-se que

cn =12(an− jbn) (2.28)

e

c−n =12(an+ jbn). (2.29)

Observe que os resultados acima obtidos correspondem ao coeficientebn ser uma função ímparden, e an uma função par. Observe também que por meio desta definição dos coeficientes dasérie de Fourier, podemos incluir o termo constante,a0. De fato, sen= 0 tem-se

c0 =1T

∫ T2

−T2

f (t)e0ω0tdt =1T

∫ T2

−T2

f (t)dt = a0. (2.30)

É interessante salientar que agoran não se limita a ser um número natural, mas um inteiro, emdecorrência da existência dos coeficientes de índice negativo. Para tanto, tomamos o limite dosomatório sobre todo os inteirosZ. Sendo assim, a série de Fourier da funçãof (t) se torna

f (t)∼=∞

∑n=−∞

cnejnω0t , (2.31)

em que

cn = 〈 f (t),ejnω0t〉= 1T

∫ T2

−T2

f (t)ejnω0tdt, (2.32)

em quen∈ Z.Uma propriedade de interesse na série de Fourier de uma função com os requisitos listados

na Definição 1 é que os coeficientesan, bn e cn tendem a zero a medida quen cresce. Essacaracterística desempenha papel fundamental na análise daconvergência da série de Fourier,que será tratada na próxima seção. Isso pode ser demonstradopelo uso da desigualdade deBessel.

Desigualdade de Bessel: Se f (t) é periódica com períodoT, integrável no sentido deRiemann no intervalo[−T/2,T/2] e os coeficientes da série de Fourier são definidos por (2.25),então

∑n=−∞

|cn|2≤1T

∫ T2

−T2

| f (t)|2dt. (2.33)

Demonstração.Sendo|z|2 = zzpara qualquer complexo [36] ef (t) real, tem-se que

f (t)−N

∑n=−N

cnejnω0t

2

=

(

f (t)−N

∑n=−N

cnejnω0t

)(

f (t)−N

∑n=−N

cne− jnω0t

)

(2.34)

= | f (t)|2− f (t)N

∑n=−N

[cnejnω0t +cne− jnω0t ]+N

∑n=−N

N

∑m=−N

cmcnej(m−n)ω0t .

Page 31: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

2.2 OS COEFICIENTES DA SÉRIE DE FOURIER E O PRODUTO INTERNO 13

Dividindo ambos lados da expressão acima por 1/T, integrando de−T/2 atéT/2 e usando(2.25), tem-se que:

1T

∫ T2

−T2

f (t)−N

∑n=−N

cnejnω0t

2

dt =1T

∫ T2

−T2

| f (t)|2dt

−N

∑n=−N

[

cn1T

∫ T2

−T2

f (t)ejnω0tdt +cn1T

∫ T2

−T2

f (t)e− jnω0tdt

]

+N

∑n=−N

N

∑m=−N

cmcn1T

∫ T2

−T2

ej(m−n)ω0tdt

=1T

∫ T2

−T2

| f (t)|2dt−N

∑n=−N

[cncn+cncn]+N

∑n=−N

cncn

=1T

∫ T2

−T2

| f (t)|2dt−N

∑n=−N

|cn|2.

Contudo, o termo quadrático do membro à esquerda da equação émaior ou igual a zero, logo

N

∑n=−N

|cn|2≤1T

∫ T2

−T2

| f (t)|2dt.

FazendoN→ ∞, obtemos que

∑n=−∞

|cn|2≤1T

∫ T2

−T2

| f (t)|2dt.

A desigualdade de Bessel desempenha um papel importante no entendimento do compor-tamento dos coeficientes da série de Fourier quando o número de harmônicos é considera-velmente elevado. Os coeficientes da série de Fourier de uma função com as característicasexigidas na Definição 1 tendem a zero à medida que o número de harmônicos tende a infi-nito [16]. Com o objetivo de demonstrar tal afirmação, faremos uso da desigualdade de Besselem conjunto com as séries absolutamente convergentes [6].

Considere a série∑∞n=−∞ |cn|2. Segundo [31], por se tratar de uma série de valores absolutos,

há apenas duas possibilidades com respeito a convergência,ou a série converge ou divergepara infinito. Suponha por absurdo que a série∑∞

n=−∞ |cn|2 diverge para infinito. Logo, adesigualdade de Bessel força

1T

∫ T2

−T2

| f (t)|2dt = ∞, (2.35)

o que significa quef (t) não é absolutamente integrável, contradizendo a suposiçãoinicial naDefinição 1 de quef (t) é absolutamente integrável. Logo, a série∑∞

n=−∞ |cn|2 converge. Ob-serve que∑∞

n=−∞ |cn|2 é uma série absolutamente convergente. Os resultados a seguir fornecemmais informações sobre cada coeficientecn.

Page 32: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

14 CAPÍTULO 2 AS SÉRIES DE FOURIER

Teorema 2. Toda série absolutamente convergente é convergente [31].

Teorema 3. Se a série∑Nn=−N an converge, entãolim an = 0 [31].

Aplicando estes resultados à série∑∞n=−∞ |cn|2, tem-se que limcn = 0. Este resultado será

muito útil na demonstração da convergência da série de Fourier. Considerando a importânciadeste resultado para este trabalho, apresentamos este resultado e suas consequências sobrean ebn como teorema.

Teorema 4. Os coeficientesan, bn e cn da expansão em série de Fourier de uma funçãof (t)que obedece os requisitos de(1) tendem a zero a medida em quen→ ∞.

A convergência dean ebn a zero quandon→∞ pode ser verificada através da relação entrean ecn em (2.26), ebn ecn em (2.27).

Todas as análises feitas até então foram realizadas supondoque todas as funções periódicasque satisfazem as condições da Definição 1 podem ser representadas por meio da série de Fou-rier. Contudo, apesar das condições exigidas na Definição 1 serem suficientes para a expansãoem série de Fourier de um sinal representado por uma funçãof (t), estas condições não sãonecessárias. Avaliemos as condições necessárias sobre a função f (t) para ser expansível emsérie de Fourier.

2.3 Convergência da Série de Fourier

Uma forma de se avaliar a convergência de uma dada série é por considerar a soma parcial dosseus termos [32]. Com a informação do comportamento da soma parcial dos termos da sériequando o somatório tende ao infinito é possível verificar se a série é convergente ou não. Paratanto, avaliar a convergência da série de Fourier pode ser reduzido ao problema de se analisar ocomportamento da série truncada de Fourier quando o número de termos da soma parcial tendeao infinito. Uma explanação mais detalhada desta abordagem com uma digressão sobre sériesinfinitas pode ser verificada no Apêndice E.

Considerando a série de Fourier até oN-ésimo termo, e usando (2.18) e (2.31), define-se

SfN(t), a0+

N

∑n=1

(ancos(nω0t)+bnsin(nω0t)) =N

∑n=−N

cnejnω0t , (2.36)

em queSfN(t) representa a série de Fourier truncada noN-ésimo termo. Desta forma, analisar

a convergência se limita a avaliar se limN→∞ SfN(t) = Sf (t), em que representaSf (t) a série de

Fourier infinita, ou, simplesmente, a série de Fourier def (t).Antes de analisar a série de Fourier é necessário fazer algumas observações sobre o estudo

de funções reais. Uma propriedade fundamental no estudo de funções é a continuidade e asuavidade. De fato, a condição de continuidade apresentadano início deste capítulo para a re-presentação de uma função em série de Fourier não é necessária. Com respeito a continuidade,basta que a função seja contínua por partes. É apresentado a seguir duas definições que sãorequisitos para as funções reais apresentarem convergência de suas séries de Fourier.

Page 33: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

2.3 CONVERGÊNCIA DA SÉRIE DE FOURIER 15

−2 −1 0 1 2−50

0

50

100

(a) Função não suave por partes, pois sua derivada naorigem não existe.

−2 −1 0 1 2−50

−40

−30

−20

−10

0

10

20

30

40

50

(b) Função suave por partes.

Figura 2.1 Exemplo de funções suaves e não suaves por partes.

Definição 4.Uma funçãof (t) é uma função contínua por partes em um intervalo fechado[a,b],em que−∞ < a< b< ∞, se f (t) é contínua em[a,b] exceto em um número finito de pontos,x1,x2, . . . ,xk, e os limites laterais def (t) nestes pontos existem [2].

Uma exceção surge com essa definição. Quando um dos pontos de descontinuidade,x1,x2,. . . ,xk, é um ponto extremo do intervalo fechado[a,b], é necessário apenas que o limite lateralpela vizinhança contida no intervalo exista. Por exemplo, seb é um ponto de descontinuidade,basta que o limite lateral pela esquerda deb exista. De modo semelhante, sea é um pontode descontinuidade, basta que o limite lateral pela direitadea exista. Por simplificação, serádenotado porCP(a,b) o conjunto de todas as funções reais contínuas por partes no intervalofechado[a,b].

A segunda definição necessária para demonstrar a convergência da série de Fourier é asuavidade por partes.

Definição 5. Uma funçãof (t) é uma função suave por partes no intervalo[a,b] se f (t) e suaprimeira derivada,f ′(t), pertencem ao conjuntoCP(a,b).

O conjunto de todas as funções suaves por partes no intervalofechado[a,b] é denotado porSP(a,b). Quando uma funçãof (t) ∈CP(a,b) e f (t) ∈ SP(a,b) para todo intervalo limitado[a,b] deR, dize-se quef (t) é contínua e suave por partes emR. A propriedade da suavidaderecebe esse nome por causa do que é visto no gráfico das funçõescom tais características. AFigura 2.1 exibe o exemplo de uma função suave e não suave.

Retornando para as funções periódicas, a partir de (2.36), usando o resultado da segunda

Page 34: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

16 CAPÍTULO 2 AS SÉRIES DE FOURIER

igualdade, e o resultado de (2.25), tem-se

SfN(t) =

N

∑n=−N

(

1T

∫ T2

−T2

f (ψ)e− jnω0ψdψ

)

ejnω0t =1T

N

∑n=−N

∫ T2

−T2

f (ψ)ejnω0(t−ψ)dψ.

Realizando a mudança de variávelφ = ψ− t e substituindo−n porn, tem-se

SfN(t) =

1T

N

∑n=−N

∫ T2

−T2

f (φ + t)ejnω0φ dφ .

Usando a propriedade da linearidade da integral [2], tem-se

SfN(t) =

1T

∫ T2

−T2

N

∑n=−N

f (φ + t)ejnω0φ dφ .

Observando que a soma é emn, logo pode-se reescrever

SfN(t) =

1T

∫ T2

−T2

N

∑n=−N

f (φ + t)ejnω0φ dφ

=1T

∫ T2

−T2

[ f (φ + t)e− jNω0φ + f (φ + t)ej(1−N)ω0φ + . . .

+ f (φ + t)ej(N−1)ω0φ + f (φ + t)ejNω0φ ]dφ

=1T

∫ T2

−T2

f (φ + t)N

∑n=−N

ejnω0φ dφ

=2πT

∫ T2

−T2

f (φ + t)1

N

∑n=−N

ejnω0φ dφ

=ω0

∫ T2

−T2

f (φ + t)DN(ω0φ)dφ ,

em que

DN(ω0φ) =1

N

∑n=−N

ejnω0φ ,

representa oN-ésimo núcleo de Dirichlet [16].Pode-se reescrever oN-ésimo núcleo de Dirichlet de forma compacta, reconhecendoque

esta é uma série geométrica de razãoejω0φ e termo iniciale− jNω0φ/2π . Assim, usando asrelações decorrentes de (2.22), tem-se

DN(ω0φ) =1

2πsin((N+1/2)ω0φ)

sin(12ω0φ)

.

Antes de prosseguir, é importante verificar duas igualdadesque serão usadas na demonstraçãoda convergência. Considerando oN-ésimo núcleo de Dirichlet, tem-se que

DN(ω0φ)dφ =1

ω0

[

φ2π

+1

ω0π

N

∑n=1

sin(nω0φ)

]

+C,

Page 35: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

2.3 CONVERGÊNCIA DA SÉRIE DE FOURIER 17

em queC representa uma constante real qualquer. Assim, tem-se

∫ T2

0DN(ω0φ)dφ =

1ω0

[

φ2π

+1

ω0π

N

∑n=1

sin(nω0φ)

]∣

π

0

=12

e∫ 0

T2

DN(ω0φ)dφ =1

ω0

[

φ2π

+1

ω0π

N

∑n=1

sin(nω0φ)

]∣

0

−π

=12.

Foi assumido nas seções anteriores que para que uma funçãof (t) tivesse uma expansãoem série de Fourier ela deveria ser contínua sobre todo o seu período. De fato, isto não énecessário. É assumido agora que a funçãof (t) é apenas contínua por partes, e que o valorda série de Fourier def (t) no período vale 1/2[ f (t+)+ f (t−)], em quef (t+) e f (t−) denotamos limites laterais pela direita e esquerda def (t), respectivamente. Observe que com essadefinição a série de Fourier def (t), Sf (t), fica definida para todos os pontos do intervalo. Ointeresse agora é demonstrar queSf

N(t) converge paraSf (t) quandoN→ ∞. Assim,

SfN(t)−

12[ f (t+)+ f (t−)] =

∫ 0

−T2

[ f (φ + t)− f (t−)]DN(ω0φ)dφ

+

∫ T2

0[ f (φ + t)− f (t+)]DN(ω0φ)dφ .

É definido uma nova funçãog(φ), em função def (t), da seguinte forma

g(φ) =

{

f (φ+t)− f (φ−)ejω0φ−1

para −T2 < φ < 0,

f (φ+t)− f (φ+)ejω0φ−1

para 0< φ < T2 .

A funçãog(φ) é tão suave e contínua quantof (t) em [−T/2,T/2], exceto emφ = 0, em queejω0φ −1 se aproxima de 0, ondeg(t) é descontínua. Contudo, pela regra de l’Hôspital [2]

limφ→0+

g(φ) = limφ→0+

f (φ + t)− f (t+)ejω0φ −1

= limφ→0+

f ′(φ + t)jω0ejω0φ =

f ′(t+)jω0

.

O mesmo pode ser verificado para o limite pela esquerda, resultando em

limφ→0−

g(φ) =f ′(t−)jω0

.

Logo, g(t) é contínua por partes em[−T/2,T/2], e obedece as condições necessárias estabe-lecidas para se ter uma representação em série de Fourier. Assim, a igualdade se torna

SfN(t)−

12[ f (t+)+ f (t−)] =

∫ 0

−T2

g(φ)[ej(N+1)ω0φ +e− jNω0φ ]dφ

+

∫ T2

0g(φ)[ej(N+1)ω0φ +e− jNω0φ ]dφ

=∫ T

2

−T2

g(φ)[ej(N+1)ω0φ +e− jNω0φ ]dφ ,

Page 36: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

18 CAPÍTULO 2 AS SÉRIES DE FOURIER

usando definição decn em (2.25), tem-se

SfN(t)−

12[ f (t+)+ f (t−)] = cg

−(N+1)−cgN,

em quecg−(N+1) e cg

N representam o−(N+1) e N-ésimo coeficientecn da série de Fourier da

funçãog(t). Para concluir a demonstração é aplicado o Teorema 4.

limN→∞

SfN(t)−

12[ f (t+)+ f (t−)] = lim

N→∞(cg−(N+1)−cg

N)

= limN→∞

cg−(N+1)− lim

N→∞cg

N = 0.

Logo, vem que

limN→∞

SfN(t) = Sf (t).

Page 37: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

CAPÍTULO 3

A Série de Fourier Quantizada

Neste capítulo, a série de Fourier Quantizada proposta por D. F. Souza, R. J. Cintra e H. M. Oli-veira [11] é introduzida e analisada. Sua relação com a sériede Fourier clássica é investigada,e uma forma de obtê-la em função da série de Fourier Quantizada é apresentada.

3.1 Motivação

A série de Fourier clássica é largamente aplicada em sistemade detecção harmônica [13].Usualmente, em tais sistemas é processada uma grande massa de dados. Não obstante, é exigidode tais sistemas respostas rápidas às entradas aos quais os sistemas são expostos. Por envolvernaturalmente a função cos(·) e sin(·) no cálculo dos coeficientes, analisar os sinais de entradacom tal ferramenta demanda operações em aritmética de pontoflutuante [16].

Em contextos em que outras ferramentas para processamento de sinais são usadas, comopor exemplo a DFT, técnicas de quantização das quantidades envolvidas nos cálculos para oprocessamento dos dados tem sido desenvolvidas pela comunidade com a finalidade de reduzira complexidade das operações envolvidas [23,28].

Neste trabalho é proposta a base{1,sign(cos(nω0t)),sign(sin(nω0t))}∞n=1 para representa-

ção de sinais periódicos com as propriedades exigidas na Definição 1. Esta representação écapaz de fornecer aproximações para os coeficientes da sériede Fourier em contextos de de-tecção harmônica. Tais aproximações são computadas de tal modo a não exigir aritmética emponto flutuante. Com esta representação é de interesse aplicá-la em situações que exijam acomputação de um grande volume de dados e de forma rápida. Ao eliminar a multiplicaçãopor pontos flutuantes, como consequência, o tempo de computação é reduzido em detrimentoda perda de precisão na representação do valor desejado. Em verdade, nesta representação nãoé obtida a série de Fourier clássica do sinal de entrada, contudo, uma aproximação dela.

Antes de definir o que é a série de Fourier Quantizada, serão investigadas algumas propri-edades da base{1,sign(cos(nω0t)),sign(sin(nω0t))}∞

n=1 fundamentais para o compreensão dasérie de Fourier Quantizada. A seção seguinte trata de algumas propriedades da série de FourierQuantizada.

3.2 Propriedades da Base Quantizada de Fourier

Diferentemente da base da série de Fourier clássica, as funções da base proposta podem assumirapenas quantidades finitas. As funções da base proposta assumem os valores 1 e−1, quesão exatamente representados em aritmética de ponto fixo. Tal propriedade permite à base

19

Page 38: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

20 CAPÍTULO 3 A SÉRIE DE FOURIER QUANTIZADA

proposta ser usada em situações em que seja necessário reduzir a complexidade das operaçõesenvolvidas.

A Figura 3.1 exibe algumas funções da base proposta para o intervalo [0,2π ]. O conhe-cimento da teoria das funções é de ajuda para compreender o comportamento dos elementosda base{1,sign(cos(nω0t)),sign(sin(nω0t))}∞

n=0 [2, 5]. Considerando que as funções da baseproposta nada mais são do que funções resultantes de composições de funções trigonométricascos(·) e sin(·) com a função sign(·), é de se esperar que as funções da base proposta sejamfunções periódicas com o mesmo período fundamental do argumento da função sign(·).

A série de Fourier Quantizada não goza das mesmas propriedades da série de Fourier clás-sica. A seguir é apresentada uma propriedade presente na base da série de Fourier clássica quenão o é na base proposta da série de Fourier Quantizada. Esta propriedade é a ortogonalidade.Por reduzir o número de operações para a obtenção computacional da representação de sinais,a ortogonalidade comumente é uma propriedade de interesse.A ausência de ortogonalidade dabase proposta,{1,sign(cos(nω0t)),sign(sin(nω0t))}∞

n=0, faz com que sejam necessários algunscálculos adicionais antes de exprimir o sinal nesta nova base. Ao contrário da série de Fourierclássica, os coeficientes não são obtidos diretamente após acomputação dos produtos internosde f (t) pelos elementos da base proposta.

3.2.1 Não-Ortogonalidade da Base da Série de Fourier Quantizada

A ortogonalidade, uma propriedade que a base da série de Fourier clássica goza, não está igual-mente presente na base da série de Fourier Quantizada. Para verificar isto, é preciso analisaro comportamento dos elementos desta base de acordo com o produto interno proposto em (2).Há quatro possibilidades:

1. 〈sign(cos(nω0t)),sign(cos(kω0t))〉,

2. 〈sign(cos(nω0t)),sign(sin(kω0t))〉,

3. 〈sign(sin(nω0t)),sign(sin(kω0t))〉 e,

4. o produto interno entre a unidade e as funções cos(nω0t)) e sign(sin(kω0t)),

em quen,k∈N. Para simplificar e facilitar a análise, é utilizada a expansão em série de Fourierdos sinais sign(cos(nω0t)) e sign(sin(nω0t)), dadas por

sign(cos(nω0t)) =∞

∑l=1

αl cos((2l +1)nω0t), (3.1)

em que

αl =4

(2l +1)π(−1)l , (3.2)

Page 39: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

3.2 PROPRIEDADES DA BASE QUANTIZADA DE FOURIER 21

0 1 2 3 4 5 6−1.5

−1

−0.5

0

0.5

1

1.5

(a) Função sign(cos(t)) parat ∈ [0,2π ]

0 1 2 3 4 5 6−1.5

−1

−0.5

0

0.5

1

1.5

(b) Função sign(cos(2t)) parat ∈ [0,2π ]

0 1 2 3 4 5 6−1.5

−1

−0.5

0

0.5

1

1.5

(c) Função sign(sin(t)) parat ∈ [0,2π ]

0 1 2 3 4 5 6−1.5

−1

−0.5

0

0.5

1

1.5

(d) Função sign(sin(2t)) parat ∈ [0,2π ]

Figura 3.1 Algumas funções da base quantizada proposta.

Page 40: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

22 CAPÍTULO 3 A SÉRIE DE FOURIER QUANTIZADA

e

sign(sin(nω0t)) =∞

∑l=1

βl sin((2l +1)nω0t), (3.3)

em que

βl =4

(2l +1)π, (3.4)

e o Teorema 1 em conjunto com o seguinte resultado do Teorema 5.

Teorema 5. Seja f (t) uma função Riemann integrável [2], periódica e ímpar. Então, tem-seque

Tf (t)dt = 0. (3.5)

Demonstração.Usando as suposições mencionadas e mudanças de variáveis, obtêm-se

Tf (t)dt =

∫ T2

−T2

f (t)dt =∫ 0

−T2

f (t)dt+∫ T

2

0f (t)dt

=

∫ 0

T2

f (−t)(−dt)+∫ T

2

0f (t)dt =

∫ 0

T2

− f (t)(−dt)+∫ T

2

0f (t)dt

=∫ 0

T2

f (t)dt+∫ T

2

0f (t)dt =−

∫ T2

0f (t)dt+

∫ T2

0f (t)dt = 0. (3.6)

De acordo com a teoria das funções, considerando a que a função cos(nω0t) é uma funçãopar, a função sign(cos(nω0t)) se trata também de uma função par. Sendo assim, os coeficientesde Fourier dos elementos de base sin(nω0t) da função sign(cos(nω0t)) são todos zero [2,5]. Demodo semelhante, se tratando a função sign(sin(nω0t)) de uma função ímpar, os coeficientesde Fourier dos termos de cos(nω0t)) são todos nulos [19].

Analisando cada caso individualmente, pode-se estabelecer a não-ortogonalidade da baseproposta.

Page 41: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

3.2 PROPRIEDADES DA BASE QUANTIZADA DE FOURIER 23

1. Seja considerado o primeiro dos casos,〈sign(cos(nω0t)),sign(cos(kω0t))〉.

〈sign(cos(nω0t)),sign(cos(kω0t))〉= (3.7)2T

Tsign(cos(nω0t))sign(cos(kω0t))dt

2T

T

( ∞

∑l=1

αl cos((2l +1)nω0t))( ∞

∑p=1

αpcos((2p+1)kω0t))

dt

∑l ,p=1

αl αp2T

Tcos((2l +1)nω0t)cos((2p+1)kω0t)dt

∑l ,p=1

αl αp〈cos((2l +1)nω0t),cos((2p+1)kω0t)〉

(

)2 ∞

∑l ,p=1

(−1)l+p

(2l +1)(2p+1)〈cos((2l +1)nω0t),cos((2p+1)kω0t)〉.

Empregando-se (2.14) e (2.17), nota-se que o produto interno tem valor diferente de zeroapenas quando(2l +1)n = (2p+1)k. Observe que a razão entren/k deve gerar umafração irredutível, cujos numerador e denominador devem ser ímpares. Usamos assim adefinição da função chi-fração dada a seguir [11].

Definição 6. Sejamn ek dois inteiros que formam a fração irredutível

nk=

pq. (3.8)

A função chi-fração é definida por

χ(n,k), χ(

nk

)

= χ(

pq

)

=

{

1p·q, provido quep eq são ímpares,

0, caso contrário.(3.9)

Aplicando a Definição 6, em que2p+12l+1 é a fração irredutível denk ,

〈sign(cos(nω0t)),sign(cos(kω0t))〉=

=

(

)2 ∞

∑l=1

∑p=1

(−1)l+p

(2l +1)(2p+1)〈cos((2l +1)nω0t),cos((2p+1)kω0t)〉

= (−1)l+p(

)2(

χ(n,k)112 +χ(n,k)

132 +χ(n,k)

152 · · ·

)

= (−1)l+p(

)2

χ(n,k)∞

∑z=0

1(2z+1)2 .

Page 42: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

24 CAPÍTULO 3 A SÉRIE DE FOURIER QUANTIZADA

em que2p+12l+1 é a fração irredutível denk . Lembrando que∑∞

z=01

(2z+1)2= π2

8 , tem-se que

〈sign(cos(nω0t)),sign(cos(kω0t))〉=(−1)l+p(

)2

χ(n,k)∞

∑z=0

1(2z+1)2 (3.10)

=(−1)l+p(

)2

χ(n,k)π2

8,

o que leva a

〈sign(cos(nω0t)),sign(cos(kω0t))〉= 2(−1)l+pχ(n,k), (3.11)

em que2p+12l+1 é a fração irredutível denk . Assim, as funções sign(cos(nω0t)) e sign(cos(kω0t))

da base proposta não são ortogonais entre si.

2. Seja considerado o caso de〈sign(cos(nω0t)),sign(sin(kω0t))〉.〈sign(cos(nω0t)),sign(sin(kω0t))〉=

=2T

Tsign(cos(nω0t))sign(sin(kω0t))dt

=2T

T

( ∞

∑l=1

αl cos((2l +1)nω0t))( ∞

∑p=1

βpsin((2p+1)kω0t))

dt

=∞

∑l ,p=1

αlβp2T

Tcos((2l +1)nω0t)sin((2p+1)kω0t)dt

=∞

∑l ,p=1

αlβp〈cos((2l +1)nω0t),sin((2p+1)kω0t)〉.

Usando (2.15) e (2.17), obtêm-se

〈sign(cos(nω0t)),sign(sin(kω0t))〉= 0. (3.12)

Logo, as funções sign(cos(nω0t)) e sign(sin(kω0t)) da base proposta são sempre ortogo-nais entre si, independentemente den ek.

3. Considerando o caso〈sign(sin(nω0t)),sign(sin(kω0t))〉, obtêm-se

〈sign(sin(nω0t)),sign(sin(kω0t))〉=

=2T

Tsign(sin(nω0t))sign(sin(kω0t))dt

=2T

T

( ∞

∑l=1

βl sin((2l +1)nω0t))( ∞

∑p=1

βpsin((2p+1)kω0t))

dt

=∞

∑l ,p=1

βl βp2T

Tsin((2l +1)nω0t)sin((2p+1)kω0t)dt

=∞

∑l ,p=1

βl βp〈sin((2l +1)nω0t),sin((2p+1)kω0t)〉.

Page 43: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

3.2 PROPRIEDADES DA BASE QUANTIZADA DE FOURIER 25

Novamente, usando (2.16) e (2.17) em conjunto com a Definição6, tem-se que

〈sign(sin(nω0t)),sign(sin(kω0t))〉=

=

(

)2 ∞

∑l ,p=1|l=p

1(2l +1)(2p+1)

〈sin((2l +1)nω0t),sin((2p+1)kω0t)〉

=

(

)2

χ(n,k){ 112 +

132 +

152 + . . .}

=

(

)2

χ(n,k)(

π2

8

)

, (3.13)

o que resulta em

〈sign(sin(nω0t)),sign(sin(kω0t))〉= 2χ(n,k). (3.14)

Logo, as funções sign(cos(nω0t)) e sign(cos(kω0t)) da base proposta não são ortogonaisentre si.

4. Por último, sejam considerados os casos〈sign(cos(nω0t)),1〉 e 〈sign(sin(nω0t)),1〉.

〈sign(cos(nω0t)),1〉=2T

Tsign(cos(nω0t))1dt

=2T

T

( ∞

∑l=1

αl cos((2l +1)nω0t))

dt

=2T

∑l=1

αl

Tcos((2l +1)nω0t)dt = 0, (3.15)

e

〈sign(sin(nω0t)),1〉=2T

Tsign(sin(nω0t))1dt

=2T

T

( ∞

∑l=1

αl sin((2l +1)nω0t))

dt

=2T

∑l=1

αl

Tsin((2l +1)nω0t)dt = 0. (3.16)

Logo, os elementos da base proposta sign(cos(nω0t)) e sign(sin(nω0t)) sempre são or-togonais ao vetor 1, independentemente den.

Conclui-se assim que{1,sign(cos(nω0t)),sign(sin(nω0t))}∞n=0 não forma uma base ortogonal.

Por questão de simplificação de notação, chamaremos as grandezas dadas por (3.11) e (3.13)de

An,k =2(−1)l+pχ(n,k), (3.17)

em que2p+12l+1 é a fração irredutível denk , e

Bn,k = 2χ(n,k). (3.18)

Esta notação será útil mais tarde.

Page 44: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

26 CAPÍTULO 3 A SÉRIE DE FOURIER QUANTIZADA

3.3 A Série de Fourier Quantizada

Seja f (t) uma função real, contínua, definida na reta real e que seja periódica com períodoT,ou seja,f (t +T) = f (t) para todot ∈ R. Admita que f (t) seja absolutamente integrável emtodo intervalo fechado na reta realR [2].

Definição 7. A série de Fourier Quantizada def (t) é dada por:

a0

2+

∑n=1

(ansign(cos(nω0t))+ bnsign(sin(nω0t))), (3.19)

em queω0 =2πT é chamada de frequência fundamental ea0 e{an, bn}∞

n=1 são coeficiente reais.

A definição acima, diferentemente da definição da série de Fourier clássica, não especificacomo os coeficientes da expensão em série de Fourier Quantizada podem ser encontrados. Ocálculo para a obtenção dos coeficientes da série de Fourier Quantizada, ˆan e bn, será abordadona Seção 3.4.

Diferentemente do que ocorre com os coeficientes da série de Fourier clássica, os coeficien-tes da série de Fourier Quantizada não podem ser encontrado diretamente pelo simples produtosinterno da função analisada com o respectivo elemento da base proposta. Embora isso estrita-mente seja verdade, D. F. Souza, R. J. Cintra e H. M. Oliveira [11] ao proporem o uso da base{1,sign(cos(nω0t)),sign(sin(nω0t))}∞

n=0 procederam com os cálculos para estimativa harmô-nica como se esta formasse uma base ortogonal. Sem dúvida, isto é uma aproximação que, emdeterminados contextos e aplicações, pode ser aplicada e cujos erros provenientes das aproxi-mações sejam toleráveis. Embora essa seja uma forma de endereçar o problema da detecçãoharmônica, isto não é feito neste trabalho.

Para que sejamos capazes de computar os coeficientes da sériede Fourier,an e bn, deve-mos ter em mãos os coeficientes da série de Fourier Quantizada, an e bn. Na próxima seçãoé proposta uma forma de se obter os coeficientes da série de Fourier Quantizada com umaformulação matricial do problema.

3.4 Formulação Matricial e os Coeficientesan e bn

Como discutido nas seções anteriores, considerando que a base da série de Fourier Quantizada,{1,sign(cos(nω0t)),sign(sin(nω0t))}∞

n=0, não é ortogonal, para obter cada ˆan e bn não pode-sesimplesmente computar os produtos internos〈 f (t),sign(cos(nω0t))〉 e 〈 f (t),sign(sin(nω0t))〉.Segue agora a investigação de como obter cada ˆan e bn.

Sendo

f (t),a0

2+

∑n=0

(ansign(cos(nω0t))+ bnsign(sin(nω0t))), (3.20)

a expansão da funçãof (t) na base{1,sign(cos(nω0t)),sign(sin(nω0t))}∞n=0 nas condições

da Definição 7, realizando o produto interno〈 f (t),sign(cos(kω0t))〉 e usando (3.11) e (3.12)

Page 45: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

3.4 FORMULAÇÃO MATRICIAL E OS COEFICIENTES ˆan E bn 27

obtêm-se

〈 f (t),sign(cos(kω0t))〉=∞

∑n=0

anAn,k. (3.21)

Realizando o produto interno〈 f (t),sign(sin(kω0t))〉 e usando (3.13) e (3.12) obtêm-se

〈 f (t),sign(sin(kω0t))〉=∞

∑n=0

bnBn,k. (3.22)

O produto interno〈 f (t),1〉 resulta em

〈 f (t),1〉= a0. (3.23)

Logo, para obter cada ˆan, exceto ˆa0, considerando a aproximação até oN-ésimo harmônico,deve-se resolver o sistema linear

MAN · aN = vN, (3.24)

em queMAN é a matriz simétrica que considera a expansão def (t) até oN-ésimo harmônico,

MAN =

A1,1 A1,2 . . . A1,N

A2,1 A2,2 . . . A2,N...

.... . .

...AN,1 AN,2 . . . AN,N

, (3.25)

em queAn,k é dado por (3.17),

vN =

〈 f (t),sign(cos(ω0t))〉〈 f (t),sign(cos(2ω0t))〉

...〈 f (t),sign(cos(Nω0t))〉

, (3.26)

e

aN =

a1a2...

aN

. (3.27)

De modo semelhante, para obterbn, deve-se resolver o sistema

MBN · bN = wN, (3.28)

em queMBN também é uma matriz simétrica que considera a expansão def (t) até oN-ésimoharmônico,

MBN =

B1,1 B1,2 . . . B1,NB2,1 B2,2 . . . B2,N

......

. . ....

BN,1 BN,2 . . . BN,N

, (3.29)

Page 46: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

28 CAPÍTULO 3 A SÉRIE DE FOURIER QUANTIZADA

em queBn,k é dado por (3.18),

wN =

〈 f (t),sign(sin(ω0t))〉〈 f (t),sign(sin(2ω0t))〉

...〈 f (t),sign(sin(Nω0t))〉

, (3.30)

e

bN =

b1

b2...

bN

. (3.31)

Neste trabalho, a base{1,sign(cos(nω0t)),sign(sin(nω0t))}∞n=0 será considerada como de

fato ela é: não-ortogonal. Osoftwareconfeccionado neste trabalho considera esta base comonão-ortogonal. A seguir é derivada a relação entre os coeficientes da série de Fourier clássica eos coeficientes da série de Fourier Quantizada.

3.4.1 A Relação entre os Coeficientes de Fourier Clássica e daSérie de FourierQuantizada

Sendo{1,sign(cos(nω0t)),sign(sin(nω0t))}∞n=0 uma base do espaço de funções que obedecem

as condições da Definição 1, qualquer função nestas condições pode ser expressa como umacombinação linear dos elementos dessa nova base. Assim, tem-se que

f (t),a0

2+

∑n=1

(ansign(cos(nω0t))+ bnsign(sin(nω0t))), (3.32)

em quen∈ N.Dado os coeficientes da série de Fourier que representa uma dada função, estamos interes-

sados em obtê-los a partir dos coeficientes da expansão em série da mesma função conside-rando a base proposta. Para tanto, analisa-se a seguir a relação entre os coeficientes da sériede Fourier e os coeficientes da expansão em série considerando a base{1,sign(cos(nω0t)),sign(sin(nω0t))}∞

n=0. Sendok∈ N, tem-se:

1. Como primeiro caso, a relação entre os coeficientes ˆa0, da série de Fourier Quantizada, ea0, da série de Fourier clássica, é dada como se segue.

a0 =〈 f (t),1〉

〈 a0

2,1〉+

∑n=0

(an〈sign(cos(nω0t)),1〉+ bn〈sign(sin(nω0t)),1〉),

usando (3.16) e (3.15), obtêm-se

a0 =a0. (3.33)

Page 47: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

3.4 FORMULAÇÃO MATRICIAL E OS COEFICIENTES ˆan E bn 29

Isso significa que, na representação da série de Fourier Quantizada, o termo responsávelpor representar o valor constante do sinal, representado pela função f (t), não se alteraem relação a série de Fourier clássica.

2. A relação entre os coeficientes ˆak da série de Fourier Quantizada eak da série de Fourierclássica é obtida através do produto interno〈 f (t),cos(kω0t)〉, como se segue.

ak =〈 f (t),cos(kω0t)〉∞

∑n=0

(an〈sign(cos(nω0t)),cos(kω0t)〉+ bn〈sign(sin(nω0t)),cos(kω0t)〉).

Usando o fato de que sign(sin(nω0t)) é impar e cos(kω0t) é par, os termos〈sign(sin(nω0t)),cos(kω0t)〉 valem todos zero. Usando a expansão em série de Fourier de sign(cos(nω0t)),tem-se que

ak =∞

∑n=0

an〈∞

∑l=1

αl cos((2l +1)nω0t),cos(kω0t)〉

∑n=0

an

∑l=1

αl〈cos((2l +1)nω0t),cos(kω0t)〉.

Usando (2.14), nota-se que toda vez que(2l + 1)n = k, o produto interno〈cos((2l +1)ω0t),cos(kω0t)〉 resulta em 1, e 0 caso contrário, logo

ak =∑n|k

anα( kn−1)/2. (3.34)

3. Por último, de modo semelhante ao que foi feito para os coeficientes ˆak e ak, a relaçãoentre os coeficientesbk da série de Fourier Quantizada ebk série de Fourier clássica éobtida através do produto interno〈 f (t),sin(kω0t)〉, como se segue.

bk =〈 f (t),sin(kω0t)〉∞

∑n=0

(an〈sign(cos(nω0t)),sin(kω0t)〉+ bn〈sign(sin(nω0t)),sin(kω0t)〉), (3.35)

usando o fato de que sign(cos(nω0t)) é par e sin(kω0t) é impar, os termos〈sign(cos(nω0t)),sin(kω0t)〉 valem todos zero. Usando a expansão em série de Fourier de sign(sin(nω0t)),tem-se que

bk =∞

∑n=0

bn〈∞

∑l=1

βl sin((2l +1)nω0t),sin(kω0t)〉

∑n=0

bn

∑l=1

βl 〈sin((2l +1)nω0t),sin(kω0t)〉.

Usando (2.14), nota-se que toda vez que(2l +1)= k, o produto interno〈sin((2l +1)ω0t),sin(kω0t)〉 resulta em 1, e 0 caso contrário, logo

bk =∞

∑n|k

bnβ( kn−1)/2. (3.36)

Page 48: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

30 CAPÍTULO 3 A SÉRIE DE FOURIER QUANTIZADA

É obtido assim uma relação entre cadaan e an e entre cadabn e bn a partir de cadaαl e βl ,respectivamente.

Page 49: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

CAPÍTULO 4

Simulação Computacional

Neste capítulo são descritas algumas simulações computacionais no que diz respeito a repre-sentação de sinais por meio da série de Fourier Quantizada e asérie de Fourier obtida a partirda série de Fourier Quantizada.

4.1 Algoritmo para Obtenção deaN e bN

O desenvolvimento teórico-matemático feito no Capítulo 3 leva, naturalmente, a um algoritmoou conjunto de passos finito que pode orientar a análise do sinal. Este algoritmo está expostono Algoritmo 1.

Algoritmo 1 Algoritmo de obtenção dos coeficientes da série de Fourier quantizada.

Entrada: O sinal f (t) e número de harmônicosNSaída: VetoresbN e aN contendo os coeficientes da série de Fourier quantizada ˆan e bn para

0≤ n≤ N

GerarvN e wN

GerarMAN e MBN

Resolver os sistemasMAN · aN = vN eMBN · bN = wN

Retorna aN e bN

O Algoritmo 1 necessita da geração das matrizesMAN eMBN. Isso pode ser facilmente im-plementado seguindo (3.25) e (3.29). Além disso, a função chi-fração pode ser implementadaseguindo diretamente a Definição 6.

A linguagem usada para simulação computacional foi a linguagem da plataforma Matlab®.O método usado para resolver os sistemas em (3.24) e (3.28) foi o método de eliminação deGauss [24]. Este método foi escolhido por alcançar uma alta acurácia computacional quandocomparado com outros métodos diretos existentes [24]. Obviamente, quando se trata de umsistema de tempo real, deve-se explorar as propriedades dasmatrizesMAN e MBN, que nestemomento não são relevantes, de modo a se reduzir o número de operações necessárias para seencontrar a solução do sistema, reduzindo tempo de computação.

31

Page 50: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

32 CAPÍTULO 4 SIMULAÇÃO COMPUTACIONAL

4.2 Simulação para Obtenção deaN e bN

Sinais com forma de onda de rampa e parábola foram usados parasimulação computacionalpara a obtenção dos vetores colunaaN e bN.

Pode-se observar na Figura 4.1 um exemplo computacional para uma função rampa, emque f (t) = t parat ∈ [0,1]. Na Figura 4.2, pode-se observar o mesmo para uma parábola, emque f (t) = t2 parat ∈ [0,1]. Em ambas as simulações foram usados sinais com mil amostras.

4.3 Simulação para Obtenção dean ebn a partir de aN e bN

Após obtidos os coeficientes ˆan e bn, pode-se usar (3.34) e (3.36) de modo a obter uma aproxi-mação paraan ebn. Observe quea0 é obtido de forma exata, sem aproximações.

Procedendo desta forma simples, obtêm-se estimativas paraos coeficientes de Fourier. AFigura 4.3 exibe a representação da função rampaf (t) = t parat ∈ [0,1] em série de Fou-rier, obtida a partir da série de Fourier Quantizada considerando a base{1,sign(cos(nω0t)),sign(sin(nω0t))}. O mesmo é feito para a parábolaf (t) = t2 parat ∈ [0,1] na Figura 4.4.

Seja f (t) um sinal em que se esteja interessado em analisar a acurácia da sua representaçãopor meio da série de Fourier Quantizada e da série de Fourier clássica obtida a partir da série deFourier Quantizada. Por questão de notação, será definido como série de Fourier Aproximadaa série de Fourier clássica obtida a partir da série de Fourier Quantizada.

Uma forma de se medir o quão próximos dois sinais são um do outro é por avaliar o erroquadrático médio entre eles [24]. Considerando dois sinaiscomL amostras, cada, uma possívelforma de se expressar oMSEentre eles é dada por

MSE,L

∑k=1

r2k,

em querk representa a diferença entre ask-ésimas amostras dos sinais avaliados.Considerando a série de Fourier Aproximada, é definido comoMSEAprox o MSE entre a

série de Fourier Aproximada de um dado sinal e sua série de Fourier clássica obtida do modotradicional. Além disso, considerando a série de Fourier Quantizada, é definido comoMSEQuant

o MSEentre a série de Fourier Quantizada e a série de Fourier clássica obtida do modo tradici-onal.

As Tabelas 4.1, 4.2, 4.3 e 4.4 exibem alguns valores de erros quadráticos médio (MSE) darepresentação em série de Fourier Quantizada e série de Fourier Aproximada a partir da sériede Fourier Quantizada de sinais em forma de rampa, parábola,cosseno e gaussiana em relaçãoa série de Fourier clássica obtida da forma tradicional.

Page 51: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

4.3 SIMULAÇÃO PARA OBTENÇÃO DEan E bn A PARTIR DEaN E bN 33

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

(a) N = 2

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

(b) N = 4

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

(c) N = 7

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

(d) N = 10

Figura 4.1 Representação da expansão def (t) = t parat ∈ [0,1] na base da série de Fourier Quantizadacom 2, 4, 7 e 10 harmônicos, respectivamente.

Page 52: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

34 CAPÍTULO 4 SIMULAÇÃO COMPUTACIONAL

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

(a) N = 2

0 0.2 0.4 0.6 0.8 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

(b) N = 4

0 0.2 0.4 0.6 0.8 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

(c) N = 7

0 0.2 0.4 0.6 0.8 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

(d) N = 10

Figura 4.2 Representação da expansão def (t) = t2 parat ∈ [0,1] na base da série de Fourier Quantizadacom 2, 4, 7 e 10 harmônicos, respectivamente.

Page 53: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

4.3 SIMULAÇÃO PARA OBTENÇÃO DEan E bn A PARTIR DEaN E bN 35

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

(a) N = 2

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

(b) N = 4

0 0.2 0.4 0.6 0.8 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

(c) N = 7

0 0.2 0.4 0.6 0.8 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

(d) N = 10

Figura 4.3 Representação da expansão def (t) = t parat ∈ [0,1] em série de Fourier Aproximada com2, 4, 7 e 10 harmônicos, respectivamente, obtida a partir da série de Fourier Quantizada.

Page 54: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

36 CAPÍTULO 4 SIMULAÇÃO COMPUTACIONAL

0 0.2 0.4 0.6 0.8 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

(a) N = 2

0 0.2 0.4 0.6 0.8 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

(b) N = 4

0 0.2 0.4 0.6 0.8 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

(c) N = 7

0 0.2 0.4 0.6 0.8 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

(d) N = 10

Figura 4.4 Representação da expansão def (t) = t2 parat ∈ [0,1] em série de Fourier Aproximada com2, 7, 4 e 10 harmônicos, respectivamente, obtida a partir da série de Fourier Quantizada.

Page 55: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

4.3 SIMULAÇÃO PARA OBTENÇÃO DEan E bn A PARTIR DEaN E bN 37

Tabela 4.1 MSEQuant eMSEAprox para o sinalf (t) = t parat ∈ [0,1] com mil amostras

N MSEQuant MSEAprox

2 3.8340·10−3 2.8435·10−5

4 3.1339·10−3 3.9085·10−5

8 2.3753·10−3 1.7027·10−4

10 2.1346·10−3 2.2846·10−4

16 1.7827·10−3 3.0531·10−4

32 1.3732·10−3 4.5591·10−4

Tabela 4.2 MSEQuant eMSEAprox para o sinalf (t) = t2 parat ∈ [0,1] com mil amostras

N MSEQuant MSEAprox

2 3.9676·10−3 5.1896·10−4

4 3.217·10−3 2.4718·10−4

8 2.4204·10−3 2.0383·10−4

10 2.1779·10−3 2.1714·10−4

16 1.798·10−3 2.559·10−4

32 1.3546·10−3 3.6494·10−4

Tabela 4.3 MSEQuant eMSEAprox para o sinalf (t) = cos(2πt) parat ∈ [0,1] com mil amostras

N MSEQuant MSEAprox

2 9.7292·10−3 4.2361·10−3

4 6.6242·10−3 1.9589·10−3

8 4.3533·10−3 1.1433·10−3

10 4.3606·10−3 1.168·10−3

16 3.3324·10−3 1.1174·10−3

32 2.5203·10−3 1.2268·10−3

Page 56: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

Tabela 4.4 MSEQuant eMSEAprox para o sinalf (t) = e−t2parat ∈ [0,1] com mil amostras

N MSEQuant MSEAprox

2 2.6937·10−3 2.275·10−4

4 2.1523·10−3 1.0785·10−4

8 1.5874·10−3 2.5101·10−4

10 1.435·10−3 2.8744·10−4

16 1.1992·10−3 4.0157·10−4

32 1.0242·10−3 6.2589·10−4

Page 57: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

CAPÍTULO 5

Técnicas de Implementação

Este capítulo descreve algumas técnicas de implementação usadas durante a implementação doAnalisador de Espectro viasoftware.

Em alguns cenários, as sequências de entradas são passadas em tempo real. O sistemaque realiza a análise não tem acesso a completa sequência de entrada ao iniciar a análise.Tal disponibilidade implicaria em um aumento do tempo totalde processamento, visto que aaplicação necessitaria aguardar o término de toda a sequência de entrada para então iniciaro processamento. Além disso, restrições de capacidade de memória, forçam o projetista aestruturar o sistema de tal modo que este seja capaz de lidar com trechos da sequência deentrada, a medida que esta é recebida, e então simultaneamente fornecer um prévio resultadodo processamento do sinal até então recebido. Não raro, tal tipo de abordagem introduz algunsresultados indesejados no sinal de saída, como descontinuidades.

O Analisador de Espectro projetado e implementado neste trabalho de graduação assumeque o todo o sinal de entrada já está disponível para análise,contudo, será tratado aqui o proces-samento de um sinal com um número alto de amostras por quebra em blocos. Tal abordagempossibilitará futuros acréscimos de funcionalidade do Analisador de Espectro, por exemplo,processamento em tempo real comstreamde dados.

5.1 Processamento em Blocos de Curto Comprimento

Tal tipo de abordagem não se limita a situações em que o sistema não tem acesso ao sinalcompleto para processamento ou limitação em memória. Aplicações em que a quantidade deamostras de uma dada sequência que deve ser analisada é alta pode usufruir do processamentopor parte. Este tipo de processamento é especialmente útil em situações em que as máquinascomputacionais usadas são dotadas de múltiplos processadores. Em tais circunstâncias, o pro-cessamento de trechos da sequência original pode ser feito com o uso de paralelismo [21, 27].Mesmo em situações que as máquinas computacionais encarregadas do processamento nãosejam dotadas de mais de um processador, essa abordagem ainda é útil. De fato, lidar comsequência de pequeno comprimento, do ponto de vista dos computadores digitais, é bem maissimples, tendo em vista os problemas oriundos com uma grandemassa de dados carregadasimultaneamente em memória [33,34].

As funçõessmallblocklengthsf, smallblocklengthsignale smallblocklengthsignalsfim-plementam a metodologia do processamento em blocos de curtocomprimento. Os seu códigosfontes podem ser vistos no Apêndice B. A funçãosmallblocklengthsf implementa a obtençãoda representação em série de Fourier clássica de um dado sinal de entrada. A funçãosmall-

39

Page 58: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

40 CAPÍTULO 5 TÉCNICAS DE IMPLEMENTAÇÃO

blocklengthsignaldesempenha um papel semelhante, porém o fazendo para a sériede FourierQuantizada. A última função,smallblocklengthsignalsf, implementa a obtenção da represen-tação de um dado sinal de entrada em série de Fourier Aproximada, isto é, a série de Fourierclássica obtida a partir da série de Fourier Quantizada.

A técnica de processamento por blocos de comprimento curto pode ainda ser combinadacom uma outra técnica baseada nas características do processo de obtenção dos coeficientesda série de Fourier Quantizada e obtenção dos coeficientes dasérie de Fourier a partir da sériede Fourier Quantizada. Tal técnica se baseia no cálculo a priori de quantidades previamenteconhecidas e que são independentes do sinal de entrada. Alémdisso, ao se aplicar a filosofiado cálculo a priori, é buscada a minimização das redundâncias computacionais. Tal estratégia,que já é bem conhecida pela comunidade de processamento de sinais [28], é abordada na seçãoseguinte.

5.2 Cálculo a priori e Minimização de Redundâncias

Comumente, é de interesse que o sistema seja capaz de processar o maior número de possívelde dados de forma econômica. Para tanto, usualmente, são procuradas redundâncias compu-tacionais durante a fase de processamento dos dados, de modoque estas possam ser agrupadae minimizadas ao máximo, e se possível, eliminadas. Esta é a técnica de cálculo a priori dequantidades já conhecidas, independentes do sinal de entrada. De fato, esta é uma técnica bemconhecida e largamente usada pela comunidade de processamento de sinais. Tal abordagemlevou naturalmente ao surgimento dos chamados algoritmos rápidos [8,28].

Algoritmos rápidos nada mais são do que algoritmos que eliminam as redundâncias com-putacionais durante o cálculo de determinada quantidade. Usualmente, algoritmos rápidossão aplicados no cálculo de transformadas discretas, como atransformada discreta de Fou-rier (DFT), do cosseno (DCT) e de Hartley (DHT) [8]. Tais técnicas podem ser aplicadas naobtenção da série de Fourier clássica a partir da série de Fourier Quantizada como descrito aseguir.

Sejaαk o vetor de todos os índicesα( kn−1)/2, como descrito em (3.34) eβk o vetor de todos

os índicesβ( kn−1)/2, como descrito em (3.36), em quen é um divisor dek. É fácil observar

que os coeficientesak e bk da série de Fourier podem ser obtidos como resultado do produtointerno entre os vetoresαk e βk e os vetores formados pelos coeficientes ˆan e bn em quen éum divisor dek. Além disso, os vetoresαk e βk são independentes do sinal de entrada, o quepermite assim que estes sejam calculados a priori. Além disso, é notório que os coeficientesαke βk , em quen é um divisor dek, assumem uma forma que torna fácil o seu cômputo, como sesegue. Substituindol = (k/n−1)/2 em (3.2) e (3.4), obtêm-se:

α( kn−1)/2 =

4nkπ

(−1)(kn−1)/2, (5.1)

e

β( kn−1)/2 =

4nkπ

, (5.2)

Page 59: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

5.3 MÉTODO DE DEMPSTER-MCLEOD 41

em quen é um divisor dek.Além disso, pode-se observar que para todol ∈ N

αl = βl · (−1)l . (5.3)

Tal relação é muito bem-vinda, tendo em vista que esta permite "enxugar"o número deoperações durante a fase de preparação para o processamento. Contudo, tal ação de encontraros coeficientes da série de Fourier a partir da série de Fourier Quantizada, só é possível tendoconhecimento destes. Para tanto, antes de se realizar a operação mencionada, é preciso resolveros sistemas constantes em (3.24) e (3.28). A seção seguinte trata do problema de dada asmatrizesMAN eMBN e os produtos internos em (3.26) e (3.30), como encontrar de modo rápidoe econômico, do ponto de vista computacional, os coeficientes an e bn.

Em certos contextos, além do interesse de detecção, há a intenção de quantificar exatamenteo que está acontecendo com o sinal analisado no espectro da frequência. Em muitos outrosmomentos, a detecção nada mais é do que uma busca em primeira aproximação, cujo objetivoé analisar se o sinal tem ou não determinado comportamento noespaço frequencial. Sendodetectado algum harmônico que sugira que o sinal tem tal comportamento de interesse noespaço frequencial, é em seguida feita uma análise mais acurada, sendo assim computados oscoeficientes da série de Fourier clássica com base na série deFourier Quantizada. Um modode computar os coeficientes da série de Fourier partindo dos coeficientes da série de FourierQuantizada é usando o método de Dempster-McLeod [14].

5.3 Método de Dempster-McLeod

Usualmente é de interesse detectar a presença de harmônicosem um dado sinal de entrada.A depender da aplicação, não há necessidade de se tomar conhecimento exato de quanto deenergia cada harmônico transporta. Em detrimento da precisão, pode-se obter consideráveisganhos na quantidade de dados que podem ser processados no mesmo espaço de tempo emrelação ao cálculo usual dos coeficientes da série de Fourierclássica. Uma das formas de sealcançar isso é eliminando as operações de multiplicação por números flutuantes.

Os coeficientes das matrizesMAN eMBN são osAn,k eBn,k descritos em (3.17) e (3.18). OscoeficientesAn,k e Bn,k, a menos de multiplicações por escalares, são funções únicae exclusi-vamente da função chi-fração. Visto que os únicos parâmetros da função chi-fração são apenasos índicesn e k, conclui-se que os coeficientes são independentes da entrada, o que faz comque as matrizesMAN eMBN também o sejam.

No Algoritmo 1, na fase de simulação, foi usado o método de eliminação de Gauss [24] pararesolver os sistemas (3.24) e (3.28). Ao aplicar o método de Gauss, são necessáriasN(N−1)multiplicações eN divisões [24], além das somas e subtrações. Esta ainda não é aforma maisrápida para se resolver os sistemas em questão.

Dentre diversos métodos existentes, como decomposiçãoLU e QR das matrizes dos coe-ficientes do sistema [15] e de Choleski [26], por ser o método que apresenta maior acuráciacomputacional, o método de eliminação de Gauss foi escolhido para resolver os sistemas em(3.24) e (3.28) na fase de simulação computacional, como foidescrito no Capítulo 4. Embora

Page 60: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

42 CAPÍTULO 5 TÉCNICAS DE IMPLEMENTAÇÃO

essa seja uma abordagem eficaz e possível para se obter uma estimativa dos coeficientes dasérie Fourier, esta não é a mais eficiente de todas. Uma propriedade das matrizesMAN e MBN

que pode ser extremamente útil é que não são dependentes do sinal de entrada.As matrizesMAN e MBN serem independentes da entrada tem um forte impacto na forma

como os coeficientes da série de Fourier Quantizada, ˆan e bn, e em consequência os coeficien-tes de Fourier, são obtidos. Considerando tal propriedade,pode-se calcular a priori as matrizesinversasM−1

ANe M−1

BNe então usá-las par obter os coeficientes da série de Fourier Quantizada

e da série de Fourier clássica. A princípio, pode-se questionar que esta forma de se resolvero sistema, sendo já dadas as matrizes inversasM−1

ANe M−1

BN, aumente o número de multipli-

cações deN(N−1) paraN2, além da complexidade computacional naturalmente oriundadoprocesso de inversão matricial. Embora isso seja verdade, esta forma de se resolver o sistema,calculando a matriz inversa a priori, elimina asN divisões. De fato, que está se realizandoé uma troca deN divisões porN multiplicações. Além disso, a complexidade do processode inversão matricial não é problema para aplicações que exigem uma grande massa cálculos,pois, como exposto, as matrizes inversasM−1

ANeM−1

BNpodem ser calculadas antes de se iniciar o

processamento dos dados, e então armazenadas para serem utilizadas quando necessário. Todaa complexidade computacional no momento do processamento se limita asN2 multiplicações.Não obstante, considerando a constituição das matrizesM−1

ANe M−1

BN, nota-se que o número

de multiplicações não é exatamenteN2. As matrizesM−1AN

e M−1BN

apresentam um pequenograu de esparsidade, que é favorável a redução da complexidade computacional do processo deobtenção dos coeficientes da série de Fourier Quantizada, ˆan e bn, em função dos produtos in-ternos〈 f (t),sign(cos(nω0t))〉 e〈 f (t),sign(sin(nω0t))〉. As equações (5.4), (5.6), (5.5) e (5.7)exibem as matrizes inversasM−1

ANe M−1

BNparaN = 3 e 5, respectivamente.

MA−13 =

98 0 3

80 1 038 0 9

8

(5.4)

MB−13 =

98 0 −3

80 1 0−38 0 9

8

(5.5)

MA−15 =

76 0 3

8 0 −524

0 1 0 0 038 0 9

8 0 00 0 0 1 0−524 0 0 0 25

24

(5.6)

MB−15 =

76 0 −3

8 0 −524

0 1 0 0 0−38 0 9

8 0 00 0 0 1 0−524 0 0 0 25

24

(5.7)

Page 61: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

5.3 MÉTODO DE DEMPSTER-MCLEOD 43

O método denominado de método de Dempster-McLeod foi introduzido em [14]. O métodoconsiste em implementar a multiplicação de números em pontoflutuante por constantes inteirasde modo econômico do ponto de vista computacional. No problema apresentado neste trabalho,as constantes não são de natureza inteira, fazendo-se assimnecessário uma pequena adaptação.

Neste momento é importante notar que os coeficientes de uma matrizes inversa de umadada matriz pode ser obtido por uma composição de sucessivasoperações de soma, subtração,multiplicação e divisão entre os elementos e cofatores da matriz original [9,15]. Considerandoas matrizesMAN e MBN com base nas equações (3.25) e (3.29), e em (3.17) e (3.18), todosos seus coeficientes são números racionais, logo, os coeficientes das matrizes inversasM−1

ANe

M−1BN

também o são.

Dado que os coeficientes deM−1AN

e M−1BN

são números racionais, estes podem ser exata-mente representados com um número finito debits. Em geral, tal representação, quando usadano cenário computacional para a obtenção dos coeficientes dasérie de Fourier Quantizada, in-correrá na necessidade de divisões por números inteiros quaisquer. Certamente, isso demandabastante recurso computacional.

Com o objetivo de se representar do melhor modo possível as matrizes inversasM−1AN

eM−1BN

podemos aproximar seus elementos por números ádicos racionais da formam/2n, em que 0≤n≤ N, m∈ Z [10] e N representa o número debits usados. Tal aproximação é vantajosa doponto de vista computacional, pois a divisão que seria realizada tendo como divisor uma quanti-dade qualquer em ponto flutuante, que certamente é computacionalmente custoso, é substituídapor uma divisão de um inteiro em potência de 2, que pode ser implementada simplesmente porum deslocamento de bits.

Tal tipo de abordagem para se reduzir o tempo de computação deve ser adequado para cená-rios em que a implementação da estimativa harmônica atravésda série de Fourier Aproximadaesteja sendo feita em nível dehardware. Obviamente, se a implementação estiver sendo execu-tada em nível desoftware, tal abordagem pode ser bem vinda, desde que o computador digitalusado suporte a divisão por inteiros que são potência de 2 pormeio de deslocamento de bits.A título ilustrativo, algumas aplicações em que isso pode acontecer são aplicações nas quais ohardwareusado são microcontroladores, DSP’s (Digital Signal Processor) ou FPGA’s (Field-Programmable Gate Array), dispositivos nos quais os projetistas podem ter pleno controle sobrecadabit.

Page 62: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações
Page 63: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

CAPÍTULO 6

Otimização Computacional no Contexto deDetecção

O capítulo anterior tratou de assuntos como cálculo a prioride algumas quantidades e minimi-zação de redundâncias computacionais. Neste capítulo é tratada mais algumas otimizações esimplificações no cálculo de estimação dos harmônicos da série de Fourier em contextos emque não é necessário a computação exata dos coeficientes de Fourier, mas sim, da relação entreeles. Além disso, neste capítulo é tratado como obter os coeficientes da série de Fourier a partirda estimação deles no contexto de detecção.

6.1 Método do Fator de Escalonamento I

A partir do cálculo a priori das matrizes inversasM−1AN

eM−1BN

é possível encontrar os coeficien-tes da série de Fourier Quantizada, dado que foram computados os produtos internos presenteem (3.26) e (3.30). Não obstante, o cômputo dos produtos matriz-vetor presentes em (3.24)e (3.28) pode ser demasiadamente custoso e desnecessário nosentido computacional em ce-nários em que não há interesse em calcular exatamente os coeficientes de Fourier. O motivodisso pode ser claramente visto observando as matrizes em (5.4), (5.6), (5.5) e (5.7), em quefacilmente percebe-se a representação em ponto flutuante dos coeficientes das matrizes. Umaforma de se solucionar este problema é procurar uma forma de substituir as matrizesM−1

ANe

M−1BN

por duas outras matrizes tais que as proporções entre os coeficientes ˆan e bn se preservem.As máquinas computacionais são capazes apenas de representar quantidades finitas. Clara-

mente, os coeficientes das matrizesM−1AN

eM−1BN

são representados por números racionais. Paraevitar o problema da multiplicação por números em ponto flutuante, pode-se definir um fatorde escalonamentoρ como sendo o menor inteiro capaz de, quando multiplicado porM−1

ANe

M−1BN

, gerar matrizesρ ·M−1AN

e ρ ·M−1BN

com coeficientes apenas no conjunto dos inteiros. Estemétodo é conhecido como método do fator de escalonamento.

Para o processamento em tempo real, e aproveitamento da eliminação de multiplicaçãopor números flutuantes, as inversas escalonadasρ ·M−1

ANe ρ ·M−1

BNdevem ser calculadas a

priori, e então usadas no momento da análise. Uma rotina chamadascaleFactorfoi criadacom o objetivo de encontrar coeficientes com a menor magnitude possível, de modo que oscoeficientes deρ ·M−1

ANe ρ ·M−1

BNse tornassem inteiros, ou se aproximasse de um tão bem

quanto desejado. O código fonte da funçãoscaleFactorpode ser visto na Apêndice A.Simulações computacionais foram realizadas com as matrizes para alguns números de

harmônicos da série de Fourier Quantizada. A Tabela 6.1 exibe os coeficientes de escalona-

45

Page 64: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

46 CAPÍTULO 6 OTIMIZAÇÃO COMPUTACIONAL NO CONTEXTO DE DETECÇÃO

Tabela 6.1 Erro decorrente da aplicação do método do fator de escalonamento

N α MSEMANMSEMBN

2 1 0.0000 0.00003 3 0.0000 0.00004 3 0.0000 0.00005 15 0.0000 0.00006 15 0.0000 0.00007 105 0.0000 0.00008 105 0.0000 0.00009 315 0.0000 0.000010 315 0.0000 0.000012 3465 0.0000 0.000016 45045 6.2804·10−16 6.2804·10−16

Tabela 6.2 Quantidades que devem ser calculadas a priori

Tipo Quantidade

MatrizesM−1

AN, M−1

BN

ρ ·M−1AN

, ρ ·M−1BN

Coeficientes αl , βl

mento encontrados para estes números de harmônicos e os respectivos erros quadrático médio(MSE) [24]. Note que os valores de erro quadrático médio que são endereçados como zero naTabela 6.1 significam que a máquina computacional usada não suporta uma precisão tão pe-quena a ponto de capturar a magnitude do erro quadrático médio. A versão do Matlab® usadapossui precisão de até 2.220410−16.

Com respeito a minimização de redundâncias e cálculo a priori de algumas quantidades,a Tabela 6.2 exibe exemplos de quantidades que devem ser calculadas a priori de modo a sereduzir o número de operações realizadas durante o processamento.

Embora o escalonamento das matrizes inversasM−1AN

e M−1BN

seja útil e reduza a complexi-dade das operações em contextos de detecção, ainda pode-se otimizar a forma como os coefici-entesak ebk da série de Fourier são encontrados a partir de ˆan e bn. Mais uma vez, não estamosinteressados em computar exatamente apenas os coeficientesak e bk, mas sim, preservar as re-lações entre eles e buscar otimizar as operações segundo o relaxamento deste critério. A seguiré dada uma adaptação do método do fator de escalonamento paraos coeficientesα( k

n−1)/2 e

β( kn−1)/2.

Page 65: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

6.2 MÉTODO DO FATOR DE ESCALONAMENTO II 47

6.2 Método do Fator de Escalonamento II

Por meio de (3.2) e (3.4) pode-se observar queαl e βl podem ser calculados a priori. Alémdisso, quandol = (k/n−1)/2 parak∈ N en é um divisor dek, pode-se notar em (5.1) e (5.2)que os coeficientesα( k

n−1)/2 e β( kn−1)/2 são facilmente obtidos, e queαl e βl guardam uma

íntima relação, de modo queαl pode ser obtido deβl por uma eventual troca de sinal.Contudo, observando mais atentamente a (5.1) e (5.2) pode-se observar que a menos do

númerokπ que divide o numerador, os coeficientesα( kn−1)/2 eβ( k

n−1)/2 podem assumir valoresinteiros. Tal situação é bem desejada e procurada quando se trata de detecção harmônica, poisassim pode-se reduzir consideravelmente a complexidade das operações durante o processa-mento. De tal forma, na verdade, o que se está fazendo evitar uma divisão por um númerorepresentado em ponto flutuante, o que certamente é custoso do ponto de vista computacional,haja visto a irracionalidade deπ [19].

Uma forma de se alcançar tal situação é por encontrar um fatorde escalonamento paraos coeficientesα( k

n−1)/2 e β( kn−1)/2 de tal modo que os mesmo sejam representados por meio

de números inteiros. Considerando a situação em que o processamento feito abrange o sinalaté oN-ésimo harmônico, deve-se, para tanto, multiplicar os coeficientesα( k

n−1)/2 e β( kn−1)/2

por πN!/4. Nesta situação, cada termok no numerador, que vai de 1 atéN, é cancelado pelocorrespondente termo presente no fatorial. O termoπ é responsável por cancelar a divisão porπ , tendo em vista o fator que aparece no denominador da expressão dos coeficientes, comoem (5.1) e (5.2). Sendo assim, cada coeficienteα( k

n−1)/2 e β( kn−1)/2 se tornará

πN!4

α( kn−1)/2 = n

(

N!k

)

(−1)(kn−1)/2 (6.1)

e

πN!4

β( kn−1)/2 = n

(

N!k

)

. (6.2)

Aplicando as equações acima em (3.34) e (3.36) obtêm-se

∑n|k

anπN!

4α( k

n−1)/2 = ∑n|k

ann

(

N!k

)

(−1)(kn−1)/2

=N!k ∑

n|kann(−1)(

kn−1)/2 (6.3)

e

∑n|k

bnβ( kn−1)/2 =

∑n|k

bnn

(

N!k

)

=N!k

∑n|k

bnn. (6.4)

Page 66: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

48 CAPÍTULO 6 OTIMIZAÇÃO COMPUTACIONAL NO CONTEXTO DE DETECÇÃO

Tal representação escalonada dos coeficientesα( kn−1)/2 eβ( k

n−1)/2 combinada com as matri-

zes inversas escalonadasρ ·M−1AN

eρ ·M−1BN

, exploradas na seção anterior, formam um conjuntoadequado para serem aplicados em contextos que envolvem detecção harmônica. Embora oprincipal objetivo em situações deste tipo seja estabelecer uma estimativa para os coeficien-tes da série de Fourier, é possível ainda obtê-los a partir daestimativa aqui descrita. A seçãoseguinte aborda uma forma de se obter os coeficientes da sériede Fourier após os sucessivosescalonamentos.

6.3 Coeficientes da Série de Fourier e a Detecção Harmônica

Usualmente, em problemas que envolvem detecção harmônica,há o interesse em processar osinal de entrada de acordo com certas características apresentadas após a etapa de detecçãoharmônica. É proposto que ao invés de se computar a série de Fourier do modo clássico, oscoeficientes sejam obtidos a partir da estimativa harmônicapreviamente apresentada.

Nas seções anteriores foi estabelecido como encontrar uma estimativa para os coeficientesda série de Fourier em contextos em que o objetivo se limitavaa realizar a detecção harmônica.Nesta seção é estabelecida uma forma de se obter os coeficientes da série de Fourier a partir daestimativa acima descrita. Esta forma de se obter os coeficientes da série de Fourier se baseiana forma em que a estimativa destes coeficientes foi realizada.

Os sucessivos escalonamento dos coeficientes em (5.1) e (5.2), e das matrizes inversasM−1AN

eM−1BN

, resulta em um conjunto de coeficientes de Fourier escalonados pelo fator

λ = πN!4

ρ . (6.5)

Todo o processo de estimativa dos coeficientes da série de Fourier feitos até então tinhacomo objetivo manter a relação entre os coeficientes da sériede Fourier, levando a um conse-quente escalonamento dos coeficientes por fatores constantes. Desta forma, obter os coefici-entes da série de Fourier a partir da estimativa feita nada mais é do que retirar os fatores deescalonamento introduzidos durante o processo de detecção. Assim, obter os coeficientes seresume a dividir os coeficientes escalonados obtidos durante a detecção pelo fator em (6.5).

A seção seguinte descreve alguns aspectos básicos considerando na confecção dosoftware,como por exemplo, interface gráfica e detalhes de implementação. Os códigos escritos paraimplementação podem ser vistos no Apêndice B.

Page 67: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

CAPÍTULO 7

Software

Neste capítulo são endereçados alguns aspectos básicos do projeto de interfaces gráficas e en-tão aplicados ao uso do Matlab®. Além disso, neste capítulo ainda é detalhado o projeto doAnalisador de Espectro. O aplicativo foi implementado com aversão R2012a do Matlab®. Estepode ser encontrado para download no linkhttps://docs.google.com/folder/d/0B7E88fvrkno_NG13QXI2SmwzVkk/edit.

7.1 Fundamentos de Projeto de Interface Gráfica

Com a evolução dos microcomputadores e microprocessadores, e o consequente avanço e au-mento da complexidade dos aplicativos usados, se fez necessário algo que pudesse "simplificara vida" do usuário final, sem que este tivesse a necessidade deentender o que de fato acontecepor baixo da camada de interação. Tal abordagem, facilitaria a difusão do uso de aplicaçõesque possuíssem suporte a algum mecanismo que facilitasse a vida do usuário. O termo Inter-face Gráfica de Usuário, ou GUI (Graphical User Interface), se refere a ideia de ícones, botõese caixas de diálogos que são apresentados comofront-end, que nada mais é do que a últimacamada ou nível de abstração de uma aplicação o qual interagediretamente com o usuário finalcom a finalidade de facilitar a operação e uso da aplicação.

Há diversas razões pelas quais alguém poderia estar interessado em usar GUI’s. Por exem-plo, alguém pode estar interessado em automatizar uma função que é usada constantemente,ou talvez deseje compartilhar a aplicação com outras pessoas que não precisam ou não sabemoperar a aplicação com muitos detalhes.

Não obstante, o projeto de GUI’s comumente é separado em trêsfases [25] distintas. Estassão Análise, Projeto e Consideração do Usuário.

A primeira fase se refere ao que é feito antes mesmo de lançar mão de papel e lápis paraprojetar a GUI. Esta fase trata de quem e como usará a aplicação que está sendo construída.Levando em consideração o usuário final, o programador é capaz de entender o que o usuáriodeseja ou o que poderia ser desnecessário. No caso em questão, é de interesse construir umainterface gráfica para facilitar a análise de sinais. Comumente, os usuários de tais aplicaçõesnão são pessoas cuja formação é especializada na área de processamento de sinais, contudo,estes tem um conhecimento básico do assunto, de modo que elessejam capazes de entender oque é uma série de Fourier.

A segunda fase trata do projeto da GUI, podendo ser realizadoapenas com o uso de papele lápis ou auxiliado por computador. Esta fase só pode ser iniciada após a compreensão dasnecessidades do usuário final. Esta etapa endereça as funcionalidades, tarefas e componentes

49

Page 68: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

50 CAPÍTULO 7 SOFTWARE

que devem estar presentes na GUI em desenvolvimento. Esta fase engloba a prototipação daGUI.

A terceira e última fase está intimamente relacionada com a primeira. De fato esta fase éuma extensão da primeira. Neste momento, é considerado o tipo de usuário intencionado paraa aplicação com base nas suas habilidades visuais, cognitivas e físicas. O primeiro aspecto nosleva a pensar sobre como estarão dispostos os botões e íconespresentes na GUI. O programa-dor deve tomar devida atenção a este aspecto para que as telasde interface com o usuário nãofiquem poluídas com excessivos detalhes que poderiam dificultar a operação do aplicativo. Oaspecto das habilidades cognitivas remete o programador a como se deve organizar as funcio-nalidades. É útil organizar em grupos as funcionalidades e tarefas disponíveis na aplicação, demodo que facilite ao usuário a busca por tais serviços. Além disso, o programador deve se pre-ocupar em quando e onde apresentar informações relevantes sobre a aplicação. Usualmente,os programadores e equipes mais experientes procuram padronizar algumas funcionalidadescomuns em diversas aplicações, como os locais dos botões para salvar algo ou encerrar a apli-cação. O último aspecto é o das habilidades físicas. O programador nunca deve esquecer que ousuário interage com a máquina por meio de uma interface física, o teclado ou mouse. Por essemotivo, é de fundamental importância definir da melhor formapossível, por exemplo, atalhos,ou a forma como determinada tarefa pode ser requisitada da aplicação.

7.2 GUI’s com Matlab®

O Matlab® fornece aos programadores um ambiente de desenvolvimento eum conjunto de fun-ções pré-definidas que permite, a mesmo aqueles que tem poucoconhecimento da linguagem,em pouco tempo e com um pouco de esforço, criar GUI’s úteis. Esta ferramenta é chamada deGraphical User Interface Development Environment, ou GUIDE.

O GUIDE permite ao programador compor sua GUI com o uso de basicamente dois tiposde objetos,User Interface Control Elements, chamados de objetosuicontrol, eUser InterfaceMenu, chamados de objetos uimenu. Os objetosuicontrolsão objetos que podem ser colocadosnas telas de interação com o usuário, e dividem-se em dez tipos, como exposto na Tabela 7.1.

O Matlab® ainda possui um conjunto de janelas pre-definidas que podem ser facilmentemanipuladas. Estas são janelas de ajuda (helpdlg), mensagem comum (msgdlg), mensagemde erro (errordlg ), aviso (warndlg), entrada de dados (inputdlg ), questionamento com res-posta binária (questdlg), seleção de arquivos ou diretórios (uigetfile) e geração de arquivos(uiputfile ).

Mais detalhes sobre a constituição de cada tipo de janela e mais informações sobre a fer-ramenta GUIDE podem ser encontradas em [25] e na própria documentação de ajuda do OMatlab®.

7.3 Implementação em Software com Linguagem Matlab®

Esta seção descreve a composição básica do aplicativo criado que implementa o Analisador deEspectral baseado na série de Fourier Quantizada.

Page 69: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

7.3 IMPLEMENTAÇÃO EM SOFTWARE COM LINGUAGEM MATLAB® 51

Tabela 7.1 Tipos de objetosuicontrol

Tipo de UI Control Descrição

Check Box Indica o estado de uma opção ou atributoEditable Text Caixa de texto editável

Frame Usado para visualizar grupos de objetosuicontrolPop-up Menu Gera uma lista de opções mutuamente excludentes

List Box Gera uma lista de opções selecionáveisPush Buttom Invoca um evento quando acionadoRadio Button Indica uma opção que pode selecionadaToggle Button Gera botão com apenas dois estados possíveis,on ou off

Slider Gera um botão que representa um intervalo de valoresStatic Text Caixa de texto não editável

Com o objetivo de facilitar a implementação dosoftware, a expansão do sinal de entrada nasérie de Fourier Aproximada, ou na série de Fourier Quantizada, foi feito por passos. O desen-volvimento matemático feito no Capítulo 3 leva, naturalmente, a um algoritmo ou conjunto depasso finito que pode orientar a análise do sinal.

Para se obter por fim a série de Fourier clássica a partir da série de Fourier Quantizada,isto é, a série de Fourier Aproximada, é preciso conhecer os coeficientes da série de FourierQuantizada. Diferentemente do que foi proposto por D. F. Souza, R. J. Cintra e H. M. Oli-veira [11], neste trabalho a base{1,sign(cos(nω0t)),sign(sin(nω0t))} é considerada como defato é, não-ortogonal. A menos de operações usuais de truncamento e arredondamento dasmáquinas computacionais digitais, tal consideração resulta no cálculo exato dos coeficientes dasérie de Fourier Quantizada. O conhecimento dos coeficientes da série de Fourier Quantizadaé feito mediante o cômputo dos produtos internos do sinal de entrada f (t) e dos elementosda base{1,sign(cos(nω0t)),sign(sin(nω0t))}. A partir dos produtos internos, que são obtidoscomputacionalmente, pois depende de cada sinalf (t) de entrada, e das matrizesMAN e MBN

junto com os coeficientes da série de Fourier Quantizada, quesão desconhecidos, forma-se umsistema linear, que é resolvido mediante o uso das matrizes inversasM−1

ANe M−1

BNpreviamente

calculadas. Tal sistema linear possui como incógnitas os coeficientes da série de Fourier Quan-tizada. Sendo resolvido o sistema, os coeficientes da série de Fourier Quantizada são encontra-dos. Após encontrar a solução para o sistema, os coeficientesda série de Fourier Quantizadasão ponderados segundo a equações descritas em (3.34) e (3.36). Tal ponderação resulta naestimativa dos coeficientes da série de Fourier Aproximada descrita em (2.18).

Tal cálculo pode ser executado pelas funçõessf_signal_coeff, que computa os coeficientesda série de Fourier Quantizada do sinal completo resolvendoo sistema da forma já descrita,e smallblocklengthsignal, que estima os harmônicos da série de Fourier Quantizada a partirblocos que curto comprimento, como descrito na Seção 5.1.

Após conhecidos os valores dos coeficientes ˆan e bn, da série de Fourier Quantizada, pode-se encontrar os coeficientes da série de Fourier. Isso pode ser feito seguindo as equações (5.1)

Page 70: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

52 CAPÍTULO 7 SOFTWARE

Algoritmo 2 Algoritmo de obtenção dos coeficientes da série de Fourier Quantizada.

Entrada: O sinal f (t) e número de harmônicosNSaída: VetoresbN e aN contendo os coeficientes da série de Fourier Quantizada ˆan e bn para

0≤ n≤ N

GerarvN e wN

Carregar as matrizesM−1AN

eM−1BN

aN←M−1AN·vN

bN←M−1AN·wN

Retorna aN e bN

e (5.2). Mais uma vez, quantidades independentes da forma deonda do sinal de entrada podemser calculadas a priori. De fato, os coeficientesα( k

n−1)/2 eβ( kn−1)/2 podem ser calculados antes

de se iniciar o processamento dos sinais de entrada. Sendo assim, o número de multiplica-ções em ponto flutuante necessárias para computar os coeficientes de Fourier até oN-ésimoharmônico, já conhecidos os coeficientes da série de FourierQuantizada, é dado por:

N

∑n=1

σ0(k), (7.1)

em queσ0(k) é um caso especial da função divisor [4, 19] e denota o número de divisores dek. A função responsável pela transformação dos coeficientes da série de Fourier Quantizadanos coeficientes da série de Fourier é chamada desig2sf_coeff_alt. Tal função apresenta comoentrada os coeficientes da série de Fourier Quantizada e retorna os coeficientes de Fourier. Maisdetalhes podem ser vistos no Apêndice B.

Procedendo da forma como descrita acima, pode-se encontrardiretamente os coeficientesda série de Fourier a partir dos coeficientes da série de Fourier Quantizada. Contudo, em con-textos em que há o interesse apenas em se realizar detecção, as simplificações exploradas noCapítulo 5 podem ser usadas para reduzir o tempo de computação. De fato, as multiplicaçõesem ponto flutuante, como descrito no parágrafo anterior, se tornam multiplicações por númerosinteiros. As funçõesdivisorswithoddresult, signsvectorcoeffse sig2sf_coef_alt_detectiondesempenham este papel dentro dosoftwarecriado. Mais detalhes podem ser vistos no Apên-dice B.

Page 71: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

CAPÍTULO 8

Conclusões

Neste trabalho abordou-se uma forma alternativa de se realizar o processamento de sinais deuma dimensão em contextos de detecção harmônica. Foi apresentada uma forma alternativade se estimar os coeficientes da série de Fourier baseado no trabalho de D. F. de Souza, R.J. de Sobral Cintra e H. M. de Oliveira em [11]. A abordagem realizada em [11] aproximaos coeficientes de Fourier por aproximações do coeficientes da série de Fourier Quantizada,considerando o núcleo sign(cos(nω0t)) e sign(sin(nω0t)). A aproximação proposta é feita to-mando a base{1,sign(cos(nω0t)),sign(sin(nω0t))}∞

n=0 como sendo ortogonal. Tal suposição,em sentido estrito, não é verdade, como demonstrado no Capítulo 3, contudo, provê uma boaaproximação sob certas condições.

Neste trabalho, particularmente, optou-se por encontrar os coeficientes de Fourier a partirdos coeficientes da série de Fourier Quantizada sem aproximações por resolver os sistemasem (3.24) e (3.28) e então aplicar os coeficientes da série de Fourier Quantizada em (3.34)e (3.36). Algumas considerações sobre possíveis simplificações da complexidade computacio-nal das operações envolvidas para se obter os coeficientes dasérie de Fourier,ak e bk, a partirdos coeficientes da série de Fourier Quantizada, ˆan e bn, foram exploradas. No Capítulo 5 fo-ram abordadas algumas possíveis otimizações para o processamento dos sinais de entrada comquebra em blocos de comprimento curto; cálculo a priori e redução de redundâncias; métodode Dempster-McLeod e método do fator de escalonamento.

Em especial, é interessante ressaltar a aplicação do métododo fator de escalonamento aoscoeficientesαl e βl em (6.1) e (6.2), e às matrizes inversasM−1

ANe M−1

BNem (3.25) e (3.29). A

aplicação de tal método sobre tais quantidades resulta em uma redução da complexidade dasoperações envolvidas para se estimar os coeficientes de Fourier em contextos de detecção desinais. Obviamente, tal redução é bem vinda e implica na redução do tempo de computação,haja visto que tais simplificações são calculadas a priori.

Em alguns casos, após a detecção da presença de determinado harmônico, há o interesseem se processar o sinal de entrada. Ao invés de usar a abordagem clássica, é possível obteros coeficientes da série de Fourier de modo aproximado anulando o efeito dos sucessivos esca-lonamentos aplicados às quantidades acima descritas. Tal anulamento pode ser implementadopela normalização dos coeficientes escalonados obtidos na fase de detecção, já que o coeficienteque expressa o efeito final sobre os coeficientes pode ser facilmente obtido, como em (6.5).

Como trabalhos futuros, pretende-se estender o Analisadorde Espectro para sinais bidi-mensionais, oferecendo suporte a análise de sinais de imagem e vídeo. Além disso, é esperadopoder implementar a execução de análise e salvamento automático de diversos arquivos, demodo sequencial. Esta particularidade é de interesse para situações que os dados a serem ana-lisados estejam espelhados por diversos arquivos menores.Não obstante, haja visto a evolução

53

Page 72: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

54 CAPÍTULO 8 CONCLUSÕES

dos computadores digitais atuais, futuros enriquecimentos dosoftwarepoderão oferecer suportea processamento paralelo, como levemente abordado na Seção5.1. Tal tipo de implementaçãodeverá fazer uso do processamento em quebra por blocos de curto comprimento.

Page 73: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE A

Códigos e Funções Usadas para SimulaçãoComputacional

Este capítulo contém os códigos usados para simulação durante a confecção deste trabalho degraduação escrito em linguagem de Matlab®.

1. Função que implementa a função chi-fração.

1 f u n c t i o n o u t p u t = c h i f r a c ( n , k )2 %CHIFRAC imp lements t h e ch i− f r a c t i o n f u n c t i o n .3

4 %This f u n c t i o n r e t u r n t h e i n v e r s e o f t h e p r o d u c t between t h edenom ina to r

5 %and numera to r o f t h e i r r e d u c t a b l e f r a c t i o n p / q o f n / k , p rovided t h a tp and

6 %q a r e odds . Otherw ise , i t r e t u r n ze ro .7

8 %This f u n c t i o n s was c r e a t e d as a p a r t o f S e n i o r P r o j e c t o f9 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e

10 %F e d e r a l de Pernambuco , B r a z i l .11

12 %Author : Diego F . G. Coelho13 %Sep 06/201214

15 %Change Log :16

17 %Requ i rements :18 % 1) The i n p u t arguments must be i n t e g e r s .19

20 o u t p u t = 0 ;21

22 [ p q ] = i r r f r a c ( n , k ) ;23

24 i f (mod ( p , 2 ) == 1 && mod( q , 2 ) ==1)25 o u t p u t = 1 / ( p* q ) ;26 end27

28

29 end

2. Função que implementa a função chi-fração sinalizada.

1 f u n c t i o n o u t p u t = c h i f r a c s i g n ( n , k )

55

Page 74: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

56 APÊNDICE A CÓDIGOS E FUNÇÕES USADAS PARA SIMULAÇÃO COMPUTACIONAL

2 %CHIFRAC imp lements t h e ch i− f r a c t i o n f u n c t i o n s i g n a l i z e d .3

4 %This f u n c t i o n r e t u r n t h e i n v e r s e o f t h e p r o d u c t between t h edenom ina to r

5 %and numera to r o f t h e i r r e d u c t a b l e f r a c t i o n p / q o f n / k , p rovided t h a tp and

6 %q a r e odds m u l t i p l i e d by (−1) ^ ( ( p+q ) 2−1) . Otherw ise , i t r e t u r n ze ro .7

8 %Since p and q a r e odds , t h e sumat ion p+q i s a lways even , so t h e9 %c a l c u l a t i o n ( p+q ) /2−1 a lways r e t u r n a i n t e g e r s v a l u e .

10

11 %This f u n c t i o n s was c r e a t e d as a p a r t o f S e n i o r P r o j e c t o f12 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e13 %F e d e r a l de Pernambuco , B r a z i l .14

15 %Author : Diego F . G. Coelho16 %Sep 06/201217

18 %Change Log :19

20 %Requ i rements :21 % 1) The i n p u t arguments must be i n t e g e r s .22

23 o u t p u t = 0 ;24

25 [ p q ] = i r r f r a c ( n , k ) ;26

27 i f (mod ( p , 2 ) == 1 && mod( q , 2 ) ==1)28 o u t p u t = (−1) ^ ( ( p+q ) /2−1) / ( p* q ) ;29 end30

31

32

33 end

3. Função que retorna a fraçãon/k simplificada.

1 f u n c t i o n [ p q ] = i r r f r a c ( n , k )2 %IRRFRAC r e t u r n s t h e denom ina to r and numare to r o f t h e i r r e de u c t a b l e

f r a c t i o n3 %between n and k .4

5 %This f u n c t i o n s was c r e a t e d as a p a r t o f S e n i o r P r o j e c t o f6 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e7 %F e d e r a l de Pernambuco , B r a z i l .8

9 %Author : Diego F . G. Coelho10 %Sep 06/201211

12 %Change Log :13

14 %Requ i rements :

Page 75: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE A CÓDIGOS E FUNÇÕES USADAS PARA SIMULAÇÃO COMPUTACIONAL 57

15 % 1) The i n p u t arguments must be i n t e g e r s .16

17 n = round( n ) ;18 k = round( k ) ;19

20 mdc = gcd( n , k ) ;21

22 p = n / mdc ;23 q = k / mdc ;24

25 end

4. Função que retorna as matrizesMAN e MBN.

1 f u n c t i o n [A B] = m t r x g e n _ s i g n a l ( N )2 %MTRXGEN Retu rns t h e m a t r x i e s MA_N and MB_N used t o o b t a i n t he F o u r i e r

− l i k e3 %c o e f f i c i e n t s , u s i n g t h e k e r n e l s i g n ( cos ) and s i g n ( s i n ) .4

5 %This f u n c t i o n was c r e a t e d as a p a r t o f S e n i o r P r o j e c t o f6 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e7 %F e d e r a l de Pernambuco , B r a z i l .8

9 %Author : Diego F . G. Coelho10 %September 08 /201211

12 %Change Log :13

14

15 %Requ i rements :16 % 1) The v e c t o r f and t must have t h e same s i z e . Th is r e q u i r e m e nt i s17 % imposed by t h e use o f v e c t o r i z e d p r o d u c t ’ .* ’ .18

19 %S a n i t y check :20 %The i n p u t argumet N must be a non−n e g a t i v e i n t e g e r .21

22 i f (N < 0)23 d i s p( ’ E r r o r ! There i s no n e g a t i v e f r e q u e n c y . ’) ;24 r e t u r n;25 end26

27 %The m a t r i x o f An , k ’ s and Bn , k ’ s :28

29 A = [ ] ;30 B = [ ] ;31

32 f o r n = 1 :N33 f o r k = 1 :N34 A( n , k ) = c h i f r a c s i g n ( n , k ) ;35 B( n , k ) = c h i f r a c ( n , k ) ;36 end37 end

Page 76: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

58 APÊNDICE A CÓDIGOS E FUNÇÕES USADAS PARA SIMULAÇÃO COMPUTACIONAL

38

39

40 end

5. Função que retorna a série de Fourier.

1 f u n c t i o n f = s f ( coe f fCos , c o e f f S i n , t )2 %SF_SIGNAL Summary o f t h i s f u n c t i o n goes he re3 % D e t a i l e d e x p l a n a t i o n goes he re4 %This f u n c t i o n r e t u r n s t h e v a l u e s o f t h e F o u r i e r− l i k e s e r i e o f a g i ven5 %m a t h e m a t i ca l f u n c t i o n a t t h e v a l u e s o f p a r a m e t e r t , u s i n g th e

fundamen ta l6 %f r e q u e n c y f r e q and t h e F o u r i e r− l i k e s e r i e c o e f f i c i e n t s passed as7 %p a r a m e t e r s . The i n p u t arguments a r e t h e F o u r i e r− l i k e s e r i e

c o e f f i c i e n t s as8 %r e s p e c t t o s i g n ( cos ) and s i g n ( s i n ) g i ven as row v e c t o r s i n coe f fCos

and9 %c o e f f S i n , r e s p e c t i v e l y , t h e fundamen ta l f r e q u e n c y f req ,g i ven i n Hz ,

and10 %t h e t ime t , as a row v e c t o r . The o u t p u t argument i s on ly t h e s er i e

v a l u e11 %e v a l u a t e d a t t h e t ime t .12

13 %This f u n c t i o n s was c r e a t e d as a p a r t o f End Course P r o j e c t o f14 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e15 %F e d e r a l de Pernambuco , B r a z i l .16

17 %Author : Diego F . G. Coelho18 %June 05 /201219

20 %Change Log :21 %June 05 /2012 : I t does no t work p r o p e r l y .22 %August 29 /2012 : Problem f i x e d . The problem , indeed , was i nt h e

f u n c t i o n23 %s f _ c o e f f , which i t s o u t p u t i s i n p u t o f t h e p r e s e n t f u n c t i o n.24

25 %Requ i rements :26 % 1) The v e c t o r s coe f fCos and c o e f f S i n must have t h e same s i z e.27

28 %S a n i t y check :29 %V e r i f y i f coe f fCos and c o e f f S i n has t h e same l e n g t h .30 i f ( l e n g t h( coe f fCos ) ~=l e n g t h( c o e f f S i n ) )31 d i s p( ’ E r r o r ! The c o e f f i c i e n t s v e c t o r s must have t h e same s i z e . ’) ;32 r e t u r n;33 end34

35 %C r e a t e t h e v e c t o r o f harmon ics :36 n = 0 : 1 : l e n g t h( coe f fCos )−1;37

38 %The fundamen ta l f r e q u e n c y :39 omega_0 = 2* p i / ( t ( end)− t ( 1 ) ) ;40

Page 77: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE A CÓDIGOS E FUNÇÕES USADAS PARA SIMULAÇÃO COMPUTACIONAL 59

41 %C r e a t e t h e m a t r i x which c o n t a i n t h e e lemen ts b a s i s . Each l in e c o n t a i nt h e

42 %base e lemen t e v a l u a t e d a t each harmonic .43 s fCos = cos( omega_0* ( t ’ * n ) ) ;44 s f S i n = s i n ( omega_0* ( t ’ * n ) ) ;45

46 %C r e a t e t h e o u t p u t argument :47 f = ( s fCos* ( coe f fCos ’ ) + s f S i n* ( c o e f f S i n ’ ) ) ’ ;48

49 end

6. Função que retorna os coeficientes da série de Fourier.

1 f u n c t i o n [ coe f fCos c o e f f S i n ] = s f _ c o e f f ( f , t , N)2 %SF Summary o f t h i s f u n c t i o n goes he re3 % D e t a i l e d e x p l a n a t i o n goes he re4 %This f u n c t i o n r e t u r n s t h e c o e f f i c i e n t s o f F o u r i e r s e r i e5 %The c o e f f i c i e n t s a r e r e t u r n e d i n a m a t r i x which t h e l i n e s6 %c o n t a i n t h e c o e f i c i e n t s o f t h e expans ion due t h e cos ( . ) and7 %s i n ( . ) k e r n e l s , r e s p e c t i v e l y . The8 %i n p u t arguments a r e t h e f u n c t i o n f t o be expanded , t h e t ime ve c t o r t ,9 %which a r e bo th row v e c t o r s and t h e i n t e g e r harmonic p a r a m e te r N t h a t

10 %r e p r e s e n t t h e Nth harmonic i n what t h e r e p r e s e n t a t i o n should bet r u n c a t e d .

11

12 %This f u n c t i o n s was c r e a t e d as a p a r t o f End Course P r o j e c t o f13 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e14 %F e d e r a l de Pernambuco , B r a z i l .15

16 %Author : Diego F . G. Coelho17 %June 04 /201218

19 %Requ i rements :20 % 1) The v e c t o r f and t must have t h e same s i z e . Th is r e q u i r e m e nt i s21 % imposed by t h e use o f v e c t o r i z e d p r o d u c t ’ .* ’ .22

23 %S a n i t y check :24 %V e r i f y i f N i s g r e a t e r i s p o s i t i v e . N can be zero , i t means t h at t h e

u s e r25 %i s i n t e r e s t e d i n t h e mean .26 i f (N < 0)27 d i s p( ’ E r r o r ! There i s no n e g a t i v e f r e q u e n c y . ’) ;28 r e t u r n;29 end30

31 %The c o e f f c i e n t s v e c t o r due cos ( . ) and s i n ( . ) r e p e c t i v e l y :32 coe f fCos = [ ] ;33 c o e f f S i n = [ ] ;34

35 %The fundamen ta l f e r e q u e n c y :36 omega_0 = 2* ( p i / ( t ( end)− t ( 1 ) ) ) ;37

Page 78: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

60 APÊNDICE A CÓDIGOS E FUNÇÕES USADAS PARA SIMULAÇÃO COMPUTACIONAL

38 %Frequency−t ime p r o d u c t :39 f r e q _ t i m e = omega_0 .* t ;40

41 f o r k = 0 :N42 coe f fCos = [ coe f fCos , t r a p z( t , f . * cos( k . * f r e q _ t i m e ) ) ] ;43 c o e f f S i n = [ c o e f f S i n , t r a p z( t , f . * s i n ( k . * f r e q _ t i m e ) ) ] ;44 end45

46 coe f fCos = ( omega_0 /p i ) * coe f fCos ;47 %By t h e d e f i n i t i o n o f c o e f f i c i e n t o f cos ( . ) o f 0 t h ha rm in i c :48 coe f fCos ( 1 ) = coe f fCos ( 1 ) / 2 ;49 c o e f f S i n = ( omega_0 /p i ) * c o e f f S i n ;50

51 end

7. Função que retorna a série de Fourier Quantizada.

1 f u n c t i o n f = s f _ s i g n a l ( coe f fCos , c o e f f S i n , t )2 %SF_SIGNAL Retu rn t h e F o u r i e r− l i k e s e r i e o f f expanded u s i n g t h e

s i g n a l3 %f u n c t i o n o f s i n and cos f u n c t i o n as k e r n e l f u n c t i o n .4 % D e t a i l e d e x p l a n a t i o n goes he re5 %This f u n c t i o n r e t u r n s t h e v a l u e s o f t h e F o u r i e r− l i k e s e r i e o f a g i ven6 %m a t h e m a t i ca l f u n c t i o n a t t h e v a l u e s o f p a r a m e t e r t , u s i n g th e

fundamen ta l7 %f r e q u e n c y f r e q and t h e F o u r i e r− l i k e s e r i e c o e f f i c i e n t s passed as8 %p a r a m e t e r s . The i n p u t arguments a r e t h e F o u r i e r− l i k e s e r i e

c o e f f i c i e n t s as9 %r e s p e c t t o s i g n ( cos ) and s i g n ( s i n ) g i ven as row v e c t o r s i n coe f fCos

and10 %c o e f f S i n , r e s p e c t i v e l y , t h e fundamen ta l f r e q u e n c y f req ,g i ven i n Hz ,

and11 %t h e t ime t , as a row v e c t o r . The o u t p u t argument i s on ly t h e s er i e

v a l u e12 %e v a l u a t e d a t t h e t ime t .13

14 %This f u n c t i o n s was c r e a t e d as a p a r t o f End Course P r o j e c t o f15 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e16 %F e d e r a l de Pernambuco , B r a z i l .17

18 %Author : Diego F . G. Coelho19 %June 04 /201220

21 %Change Log :22 %June 05 /2012 : I t does no t work p r o p e r l y .23 %August 29 /2012 : Problem f i x e d . The w r i t t e n s c r i p t was expand t h e

f u n c t i o n24 %u s i n g t h e u s u a l ke rne l , cos ( . ) and s i n ( . ) .25

26 %Requ i rements :27 % 1) The v e c t o r s coe f fCos and c o e f f S i n must have t h e same s i z e.28

Page 79: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE A CÓDIGOS E FUNÇÕES USADAS PARA SIMULAÇÃO COMPUTACIONAL 61

29 %S a n i t y check :30 %V e r i f y i f coe f fCos and c o e f f S i n has t h e same l e n g t h .31 i f ( l e n g t h( coe f fCos ) ~=l e n g t h( c o e f f S i n ) )32 d i s p( ’ E r r o r ! The c o e f f i c i e n t s v e c t o r s must have t h e same s i z e . ’) ;33 r e t u r n;34 end35

36 %C r e a t e t h e v e c t o r o f harmon ics :37 n = 0 : 1 : l e n g t h( coe f fCos )−1;38

39 %The fundamen ta l f r e q u e n c y :40 omega_0 = 2* p i / ( t ( end)− t ( 1 ) ) ;41

42 %C r e a t e t h e m a t r i x which c o n t a i n t h e e lemen ts b a s i s . Each l in e c o n t a i nt h e

43 %base e lemen t e v a l u a t e d a t each harmonic .44 s fCos = s i g n ( cos( omega_0* ( t ’ * n ) ) ) ;45 s f S i n = s i g n ( s i n ( omega_0* ( t ’ * n ) ) ) ;46

47 %C r e a t e t h e o u t p u t argument :48 f = ( s fCos* ( coe f fCos ’ ) + s f S i n* ( c o e f f S i n ’ ) ) ’ ;49

50 end

8. Função que retorna os coeficientes da série de Fourier Quantizada.

1 f u n c t i o n [ coe f fCos c o e f f S i n ] = s f _ s i g n a l _ c o e f f ( f , t , N)2 %SF_SIGNAL Retu rn t h e F o u r i e r− l i k e s e r i e o f f expanded u s i n g t h e

s i g n a l3 %f u n c t i o n o f s i n and cos f u n c t i o n as k e r n e l f u n c t i o n .4 % D e t a i l e d e x p l a n a t i o n goes he re5 %This f u n c t i o n r e t u r n s t h e F o u r i e r− l i k e s e r i e expanded u s i n g t h e

s i g n a l6 %f u n c t i o n . The c o e f f i c i e n t s a r e r e t u r n e d i n a m a t r i x which th e l i n e s7 %c o n t a i n t h e c o e f i c i e n t s o f t h e expans ion due t h e s i g n a l ( cos ) and8 %s i g n a l ( s i n ) k e r n e l s , r e s p e c t i v e l y . The9 %i n p u t arguments a r e t h e f u n c t i o n f t o be expanded , t h e t ime ve c t o r t ,

10 %which a r e bo th row v e c t o r s and t h e i n t e g e r harmonic p a r a m e te r N t h a t11 %r e p r e s e n t t h e Nth harmonic i n what t h e r e p r e s e n t a t i o n should be

t r u c a t e d .12

13 %This f u n c t i o n s was c r e a t e d as a p a r t o f End Course P r o j e c t o f14 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e15 %F e d e r a l de Pernambuco , B r a z i l .16

17 %Author : Diego F . G. Coelho18 %June 04 /201219

20 %Change Log :21 %August 30 /2012 : I t does no t work . T h e o r e t i c a l e r r o r s .22 %September 06 /2012 : T h e o r e t i c a l e r r o s c o r r e c t e d . I t i s work ing p r o p e r l y

.

Page 80: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

62 APÊNDICE A CÓDIGOS E FUNÇÕES USADAS PARA SIMULAÇÃO COMPUTACIONAL

23

24 %Requ i rements :25 % 1) The v e c t o r f and t must have t h e same s i z e . Th is r e q u i r e m e nt i s26 % imposed by t h e use o f v e c t o r i z e d p r o d u c t ’ .* ’ .27

28 %S a n i t y check :29 %V e r i f y i f N i s g r e a t e r i s p o s i t i v e . N can be zero , i t means t h at t h e

u s e r30 %i s i n t e r e s t e d i n t h e mean .31 i f (N < 0)32 d i s p( ’ E r r o r ! There i s no n e g a t i v e f r e q u e n c y . ’) ;33 r e t u r n;34 end35

36 %The c o e f f c i e n t s v e c t o r due s i n g a l ( cos ) adn s i g n a l ( s i n ) r ep e c t i v e l y :37 coe f fCos = [ ] ;38 c o e f f S i n = [ ] ;39

40 %The i n n e r p r o d u c t v a l u e s :41 f s i g n c o s = [ ] ;42 f s i g n s i n = [ ] ;43

44 %The fundamen ta l f e r e q u e n c y :45 omega_0 = 2* ( p i / ( t ( end)− t ( 1 ) ) ) ;46

47 %Frequency−t ime p r o d u c t :48 f r e q _ t i m e = omega_0 .* t ;49

50 %The m a t r i x o f An , k ’ s and Bn , k ’ s :51

52 [A B] = m t r x g e n _ s i g n a l (N) ;53

54 %This c a l c u l a t i o n o f i n n e r p r o d u c t use t h e d e f i n i t i o n g i venby D. F .Souza ,

55 %R . C i n t r a and de O l i v e i r a . Observe t h a t i t i s m u l t i p l i e d by 1/T ,where T i s

56 %t h e fundamen ta l pe r iod , no t by 2 /T .57

58 %These a r e column v e c t o r s .59 f o r k = 1 :N60 f s i g n c o s = [ f s i g n c o s ; t r a p z( t , f . * s i g n( cos( k . * f r e q _ t i m e ) ) ) ] ;61 f s i g n s i n = [ f s i g n s i n ; t r a p z( t , f . * s i g n( s i n ( k . * f r e q _ t i m e ) ) ) ] ;62 end63

64 f s i g n c o s = ( omega_0 / ( 2* p i ) ) * f s i g n c o s ;65 f s i g n s i n = ( omega_0 / ( 2* p i ) ) * f s i g n s i n ;66

67 %This s o l v e t h e l i n e a r sys tem i n o r d e r t o f i n d t h e f o u r i e r− l i k ec o e f f c i e n t s

68 %u s i n g t h e base s i g n ( . )69 coe f fCos = (A\ f s i g n c o s ) ’ ;70 %This i n c l u d e t h e 0 t h harmonic .

Page 81: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE A CÓDIGOS E FUNÇÕES USADAS PARA SIMULAÇÃO COMPUTACIONAL 63

71 coe f fCos = [t r a p z( t , f ) , coe f fCos ] ;72

73 c o e f f S i n = (B \ f s i g n s i n ) ’ ;74 %This i n c l u d e t h e 0 t h harmonic .75 c o e f f S i n = [ 0 , c o e f f S i n ] ;76

77 end

9. Função que converte os coeficientes da série de Fourier Quantizada para os da série deFourier clássica.

1 f u n c t i o n [ coe f fCos c o e f f S i n ] = s i g 2 s f _ c o e f f ( coe f fS igCos ,c o e f f S i g S i n )

2 %SIG2SF Summary o f t h i s f u n c t i o n goes he re3 % D e t a i l e d e x p l a n a t i o n goes he re4 %This f u n c t i o n pe r fo rms t h e c o n v e r t i o n from t h e c o e f f c i e n ts o f F o u r i e r

− l i k e5 %s e r i e u s i n g s i g n ( cos ) and s i g n ( s i n ) f u n c t i o n s as k e r n e l t oF o u r i e r6 %s e r i e c o e f f i c i e n t s . The i n p u t arguments coe f fS igCos and co e f f S i g S i n

a r e row7 %v e c t o r which c o n t a i n t h e c o e f f i c i e n t s o f F o u r i e r− l i k e s e r i e u s i n g8 %s i g n ( cos ) and s i g n ( s i n ) f u n c t i o n s as ke rne l , r e s p e c t i v e ly , and

coe f fCos9 %and c o e f f S i n a r e row v e c t o r s which c o n t a i n s t h e F o u r i e r c o ef f i c i e n t s

u s i n g10 %cos and s i n f u n c t i o n s as k e r n e l .11

12 %This f u n c t i o n s was c r e a t e d as a p a r t o f End Course P r o j e c t o f13 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e14 %F e d e r a l de Pernambuco , B r a z i l .15

16 %Author : Diego F . G. Coelho17 %June 04 /201218

19 %Change Log :20 %June 04 /2012 : I t does no t work p r o p e r l y .21 %September 06 /2012 : The prob lem was due t h e o r e t i c a l p rob lems . I t i s

f i x e d .22 %I t i s work ing p r o p e r l y .23

24 %S a n i t y check :25 %The c o e f f i c i e n t s must have t h e same l e n g t h26

27 i f ( l e n g t h( coe f fS igCos ) ~=l e n g t h( c o e f f S i g S i n ) )28 d i s p( ’ E r r o r ! The c o e f f c i e n t s v e c t o r must have t h e same l e n g t h . ’) ;29 r e t u r n;30 end31

32 %The c o e f f i c i e n t s o f F o u r i e r s e r i e :33 coe f fCos = [ ] ;34 c o e f f S i n = [ ] ;35

Page 82: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

64 APÊNDICE A CÓDIGOS E FUNÇÕES USADAS PARA SIMULAÇÃO COMPUTACIONAL

36 f o r k = 1 : ( l e n g t h( coe f fS igCos )−1)37 a_k = 0 ;38 b_k = 0 ;39 f o r n = 1 : k40 i f (mod ( k , n ) ==0)41 i f ( mod ( k / n , 2 ) ==1)42 f r a c = k / n ;43 a_k = a_k + coe f fS igCos ( n +1)* ( ( (−1) ^ ( ( f r a c−1) / 2 ) ) / f r a c

) ;44 b_k = b_k + c o e f f S i g S i n ( n +1) / f r a c ;45 end46 end47 end48 coe f fCos = [ coe f fCos , a_k ] ;49 c o e f f S i n = [ c o e f f S i n , b_k ] ;50 end51

52 coe f fCos = ( 4 /p i ) . * coe f fCos ;53 c o e f f S i n = ( 4 /p i ) . * c o e f f S i n ;54

55 %The mean v a l u e i s t h e same and t h e f i r s t v a l u e wi th r e s p e c t t os i n i s56 %always ze ro :57

58 coe f fCos = [ coe f fS igCos ( 1 ) , coe f fCos ] ;59 c o e f f S i n = [ c o e f f S i g S i n ( 1 ) , c o e f f S i n ] ;60

61 end

10. Função que retorna fator de escalonamentoα das matrizesM−1AN

eM−1BN

.

1 f u n c t i o n [ Asca led Bsca led s c a l e MSEA MSEB] = s c a l e F a c t o r ( A , B , p rec )2 %SCALEFACTOR Th is f u n c t i o n r e t u r n a m a t r i x Asca led = s c a l e* .A and

Bsca led =3 %s c a l e* .B , where Asca led and Bsca led a r e m a t r i x e s wi th on ly i n t e g e r

v a l u e s4 %and s c a l e i s a s c a l a r number .5

6 %The i n p u t argument p rec i s t h e p r e c i s i o n used . The e r r o r s must be a tmost

7 %e q u a l s t o p rec .8

9 %This f u n c t i o n s was c r e a t e d as a p a r t o f End Course P r o j e c t o f10 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e11 %F e d e r a l de Pernambuco , B r a z i l .12

13 %Author : Diego F . G. Coelho14 %Sep 07/201215

16 %Change Log :17 %Sep 08 /2012 : Adapt t h e f u n c t i o n t o pero f rm t h e same a t two m at r i x e s

a t t h e18 %same t ime .

Page 83: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE A CÓDIGOS E FUNÇÕES USADAS PARA SIMULAÇÃO COMPUTACIONAL 65

19 %Oct 17 /2012 : C o r r e c t t h e MSE c a l c u l a t i o n . I t must be d i v i d ed by t h enumber

20 %of e lements , t h a t i s , s i n c e t h e m a t r i x i s squared , l i n s A ^ 2 .21

22 %Requ i rements :23 % 1) The i n p u t argument p rec must be d i f f e r e n t f rom zero .24 % 2) The m a t r i x e s A and B must have t h e same d imens ions .25

26 i f ( p rec <= 0)27 d i s p( ’ E r r o r ! The i n p u t argument p rec must be g r e a t e r than ze ro . ’) ;28 r e t u r n;29 end30

31 %The numbers o f l i n e s and columns o f t h e m a t r i x A32 [ l i n s A clumnsA ] = s i z e(A) ;33

34 %The numbers o f l i n e s and columns o f t h e m a t r i x B35 [ l i n s B clumnsB ] = s i z e(B) ;36

37 i f ( l i n s A ~= l i n s B | | clumnsA ~= clumnsB )38 d i s p( ’ E r r o r ! The i n p u t argument m a t r i x e s A and B must have t h e

same d imens ion . ’) ;39 r e t u r n;40 end41

42

43 %Flag used t o t e l l i f a l l t h e compon e n e t s a r e wi th t h e e r r o r w it h i n44 %s p e c i f i e d by t h e i n p u t argument p rec .45 f l a g = f a l s e ;46

47 %The i n i t i a l s c a l e f a c t o r v a l u e48 s c a l e = 0 ;49

50 %The o u t p u t m a t r i x A and B51 Asca led = [ ] ;52 Bsca led = [ ] ;53

54 wh i le ~ f l a g55 s c a l e = s c a l e + 1 ;56 Asca led = s c a l e .* A;57 Bsca led = s c a l e .* B ;58 errA = Ascaled−round( Asca led ) ;59 er rB = Bsca led−round( Bsca led ) ;60 i f ( max( abs( er rA ) ) <= p rec & max( abs( er rB ) ) <= p rec )61 f l a g = t r u e ;62 Asca led = round( Asca led ) ;63 Bsca led = round( Bsca led ) ;64 end65 end66

67 MSEA = s q r t ( sum( sum( errA . ^ 2 ) ) ) / l i n s A ^2 ;68 MSEB = s q r t ( sum( sum( er rB . ^ 2 ) ) ) / l i n s B ^2 ;

Page 84: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

66 APÊNDICE A CÓDIGOS E FUNÇÕES USADAS PARA SIMULAÇÃO COMPUTACIONAL

69

70 end

Page 85: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B

Códigos e Funções Usadas para a Implementaçãodo Software

Este capítulo contém os códigos usados para a implementaçãodo software proposto neste tra-balho de graduação escrito em linguagem de Matlab®. Alguma funções presentes nesta seçãosão uma adaptação, ou otimização, de algumas usadas na seçãoanterior. As funções que perma-neceram inalteradas, mas que foram usadas na implementação, não estão listadas nesta seção.

1. Arquivo do programa principal da interface gráfica.

1 f u n c t i o n v a r a r g o u t = A n a l i s a d o r ( v a r a r g i n )2 % ANALISADOR MATLAB code f o r A n a l i s a d o r . f i g3 % ANALISADOR, by i t s e l f , c r e a t e s a new ANALISADOR or r a i s e s th e

e x i s t i n g4 % s i n g l e t o n* .5 %6 % H = ANALISADOR r e t u r n s t h e hand le t o a new ANALISADOR or t h e

hand le t o7 % t h e e x i s t i n g s i n g l e t o n* .8 %9 % ANALISADOR( ’CALLBACK’ , hOb jec t , even tData , hand les , . .. ) c a l l s t h e

l o c a l10 % f u n c t i o n named CALLBACK i n ANALISADOR .M wi th t h e g iven i n pu t

a rguments .11 %12 % ANALISADOR( ’ P rope r t y ’ , ’ Value ’ , . . . ) c r e a t e s a new ANALISADOR or

r a i s e s t h e13 % e x i s t i n g s i n g l e t o n* . S t a r t i n g from t h e l e f t , p r o p e r t y v a l u e

p a i r s a r e14 % a p p l i e d t o t h e GUI b e f o r e Ana l isador_Open ingFcn g e t s c a l le d .

An15 % u n r e c o g n iz ed p r o p e r t y name or i n v a l i d v a l u e makes p r o p e r ty

a p p l i c a t i o n16 % s t o p . A l l i n p u t s a r e passed t o Ana l isador_Open ingFcn v i a

v a r a r g i n .17 %18 % * See GUI Op t ions on GUIDE’ s Too ls menu . Choose "GUI a l l o w s

on ly one19 % i n s t a n c e t o run ( s i n g l e t o n ) " .20 %21 % See a l s o : GUIDE, GUIDATA, GUIHANDLES22

23 % E d i t t h e above t e x t t o modify t h e r e s p o n s e t o he lp A n a l i s a d or

67

Page 86: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

68 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

24

25 % Las t Mod i f ied by GUIDE v2 . 5 14−Oct−2012 17 :56 :4126

27 % Begin i n i t i a l i z a t i o n code− DO NOT EDIT28 g u i _ S i n g l e t o n = 1 ;29 g u i _ S t a t e = s t r u c t (’ gui_Name ’ , mf i lename , . . .30 ’ g u i _ S i n g l e t o n ’, g u i _ S i n g l e t o n , . . .31 ’ gu i_OpeningFcn ’, @Anal isador_OpeningFcn , . . .32 ’ gu i_Outpu tFcn ’, @Anal isador_OutputFcn , . . .33 ’ gu i_Layou tFcn ’, [ ] , . . .34 ’ g u i _ C a l l b a c k ’ , [ ] ) ;35 i f n a r g i n && i s c h a r ( v a r a r g i n {1 } )36 g u i _ S t a t e . g u i _ C a l l b a c k = s t r 2 f u n c ( v a r a r g i n {1 } ) ;37 end38

39 i f n a r g o u t40 [ v a r a r g o u t {1 :n a r g o u t} ] = gu i_ma in f cn ( g u i _ S t a t e , v a r a r g i n { : } ) ;41 e l s e42 gu i_ma in f cn ( g u i _ S t a t e , v a r a r g i n { : } ) ;43 end44 % End i n i t i a l i z a t i o n code− DO NOT EDIT45

46 end47

48 % −−− Execu tes j u s t b e f o r e A n a l i s a d o r i s made v i s i b l e .49 f u n c t i o n Ana l isador_Open ingFcn ( hOb jec t , e v e n t d a t a , hand les , v a ra r g i n )50 % This f u n c t i o n has no o u t p u t a rgs , see OutputFcn .51 % hOb jec t hand le t o f i g u r e52 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB53 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)54 % v a r a r g i n command l i n e arguments t o A n a l i s a d o r ( see VARARGIN)55

56 % Choose d e f a u l t command l i n e o u t p u t f o r A n a l i s a d o r57 h a n d l e s . o u t p u t = hOb jec t ;58

59 h a n d l e s . f i l e = ’ ’ ;60 h a n d l e s .f l a g = 1 ;61 h a n d l e s . p rec = 10^(−2) ;62 h a n d l e s . l n g t h = ’Comp . ’ ;63 h a n d l e s .N = 1 ;64 h a n d l e s . s f p l o t = t r u e ;65 h a n d l e s .save = f a l s e ;66 h a n d l e s . d i s c r e t e = f a l s e ;67 h a n d l e s . t o p l o t 2 = [ ] ;68 h a n d l e s . n = [ ] ;69 h a n d l e s . t = [ ] ;70 h a n d l e s . k b e t a l = [ ] ;71 h a n d l e s . k a l p h a l = [ ] ;72 h a n d l e s . m u l t i p l i e r s = [ ] ;73

74 % Update h a n d l e s s t r u c t u r e75 g u i d a t a ( hOb jec t , h a n d l e s ) ;

Page 87: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 69

76

77 % UIWAIT makes A n a l i s a d o r wa i t f o r u s e r r e s p o n s e ( see UIRESUME)78 % u i w a i t ( h a n d l e s . f i g u r e 1 ) ;79

80 end81

82 % −−− Outpu ts from t h i s f u n c t i o n a r e r e t u r n e d t o t h e command l i n e .83 f u n c t i o n v a r a r g o u t = Ana l i sado r_Ou tpu tFcn ( hOb jec t , e v e n t d a t a , h an d l e s )84 % v a r a r g o u t c e l l a r r a y f o r r e t u r n i n g o u t p u t a r g s ( see VARARGOUT) ;85 % hOb jec t hand le t o f i g u r e86 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB87 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)88

89 % Get d e f a u l t command l i n e o u t p u t from h a n d l e s s t r u c t u r e90 v a r a r g o u t {1} = h a n d l e s . o u t p u t ;91

92 end93

94 f u n c t i o n e d i t 1 _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h a n d l e s )95 % hOb jec t hand le t o e d i t 1 ( see GCBO)96 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB97 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)98

99 % H i n t s : g e t ( hOb jec t , ’ S t r i n g ’ ) r e t u r n s c o n t e n t s o f e d i t 1 as t e x t100 % s t r 2 d o u b l e ( g e t ( hOb jec t , ’ S t r i n g ’ ) ) r e t u r n s c o n t e n t s o fe d i t 1

as a doub le101

102 end103

104 % −−− Execu tes d u r i n g o b j e c t c r e a t i o n , a f t e r s e t t i n g a l l p r o p e r ti e s .105 f u n c t i o n e d i t 1 _ C r e a t e F c n ( hOb jec t , e v e n t d a t a , h a n d l e s )106 % hOb jec t hand le t o e d i t 1 ( see GCBO)107 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB108 % h a n d l e s empty− h a n d l e s no t c r e a t e d u n t i l a f t e r a l l C rea teFcns

c a l l e d109

110 % Hin t : e d i t c o n t r o l s u s u a l l y have a wh i te background on Windows .111 % See ISPC and COMPUTER.112 i f i s p c && i s e q u a l (g e t( hOb jec t ,’ BackgroundColor ’) , g e t ( 0 , ’

d e f a u l t U i c o n t r o l B a c k g r o u n d C o l o r ’) )113 s e t( hOb jec t ,’ BackgroundColor ’, ’ wh i te ’ ) ;114 end115

116 end117

118 % −−− Execu tes on b u t t o n p r e s s i n pushbu t ton1 .119 f u n c t i o n p u s h b u t t o n 1 _ C a l l b ac k ( hOb jec t , e v e n t d a t a , h a n d l e s )120 % hOb jec t hand le t o pushbu t ton1 ( see GCBO)121 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB122 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)123

124 f i l e = h a n d l e s . f i l e ;

Page 88: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

70 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

125

126 l oad( f i l e , ’ t ’ , ’ y ’ ) ;127 N = h a n d l e s .N;128 A = h a n d l e s .A;129 B = h a n d l e s . B ;130 l n g t h = h a n d l e s . l n g t h ;131

132 i f (2* N > l n g t h )133 e r r o r d l g (’O n m e r o de h a r m n i c o s deve s e r no m ximo a metade do

n m e r o de amos t ras . ’, ’ F i l e E r r o r ’ ) ;134 r e t u r n;135 end136

137 s w i t c h h a n d l e s .f l a g138 case 1139 i f ( i semp ty( l n g t h ) )140 [ coe f fS igCos c o e f f S i g S i n ] = s f _ s i g n a l _ c o e f f ( y , t , N, A, B

) ;141 [ coe f fCos c o e f f S i n ] = s i g 2 s f _ c o e f f _ a l t ( coe f fS igCos ,

c o e f f S i g S i n , . . .142 h a n d l e s . k a l p h a l , h a n d l e s . k b e t a l ) ;143 t o p l o t 2 = s f ( coe f fCos , c o e f f S i n , t ) ;144 e l s e145 t o p l o t 2 = s m a l l b l o c k l e n g t h s i g n a l s f ( y , t , N, l ng th , A, B) ;146 end147

148 %p l o t i n axes2149 axes( h a n d l e s . axes2 ) ;150 p l o t ( gca, t , t o p l o t 2 ) ;151 t i t l e ( ’ S rie de F o u r i e r a rpox imada ’) ;152 x l a b e l( ’ t ’ ) ;153

154 %compute and p l o t t h e c a n o n i c a l f o u r i e r s e r i e i f t h e v a r i a b le155 %s f p l o t i s t r u e .156 i f ( h a n d l e s . s f p l o t == t r u e )157 i f ( i semp ty( l n g t h ) )158 [ coe f fCos c o e f f S i n ] = s f _ c o e f f ( y , t , N) ;159 t o p l o t 1 = s f ( coe f fCos , c o e f f S i n , t ) ;160 e l s e161 t o p l o t 1 = s m a l l b l o c k l e n g t h s f ( y , t , N, l n g t h ) ;162 end163 %p l o t i n axes1164 axes( h a n d l e s . axes1 ) ;165 p l o t ( gca, t , t o p l o t 1 ) ;166 t i t l e ( ’ S rie de F o u r i e r ’) ;167 x l a b e l( ’ t ’ ) ;168 end169

170 h a n d l e s . t o p l o t 2 = t o p l o t 2 ;171 h a n d l e s . t = t ;172 h a n d l e s . d i s c r e t e = f a l s e ;173

Page 89: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 71

174 % Update h a n d l e s s t r u c t u r e175 g u i d a t a ( hOb jec t , h a n d l e s ) ;176

177 case 2178 i f ( i semp ty( l n g t h ) )179 [ coe f fS igCos c o e f f S i g S i n ] = s f _ s i g n a l _ c o e f f ( y , t , N, A, B

) ;180 t o p l o t 2 = s f _ s i g n a l ( coe f fS igCos , c o e f f S i g S i n , t ) ;181 e l s e182 t o p l o t 2 = s m a l l b l o c k l e n g t h s i g n a l ( y , t , N, l ng th , A, B) ;183 end184 %p l o t i n axes2185 axes( h a n d l e s . axes2 ) ;186 p l o t ( gca, t , t o p l o t 2 ) ;187 t i t l e ( ’ S rie q u a n t i z a d a ’) ;188 x l a b e l( ’ t ’ ) ;189

190 %compute and p l o t t h e c a n o n i c a l f o u r i e r s e r i e i f t h e v a r i a b le191 %s f p l o t i s t r u e .192 i f ( h a n d l e s . s f p l o t == t r u e )193 i f ( i semp ty( l n g t h ) )194 [ coe f fCos c o e f f S i n ] = s f _ c o e f f ( y , t , N) ;195 t o p l o t 1 = s f ( coe f fCos , c o e f f S i n , t ) ;196 e l s e197 %l n g t h = st r2num ( l n g t h ) ;198 t o p l o t 1 = s m a l l b l o c k l e n g t h s f ( y , t , N, l n g t h ) ;199 end200 %p l o t i n axes1201 axes( h a n d l e s . axes1 ) ;202 p l o t ( gca, t , t o p l o t 1 ) ;203 t i t l e ( ’ S rie de F o u r i e r ’) ;204 x l a b e l( ’ t ’ ) ;205 end206

207 h a n d l e s . t o p l o t 2 = t o p l o t 2 ;208 h a n d l e s . t = t ;209 h a n d l e s . d i s c r e t e = f a l s e ;210

211 % Update h a n d l e s s t r u c t u r e212 g u i d a t a ( hOb jec t , h a n d l e s ) ;213

214

215 case 3216 i f ( i semp ty( l n g t h ) )217 [ coe f fS igCos c o e f f S i g S i n ] = s f _ s i g n a l _ c o e f f ( y , t , N, A, B

) ;218 [ coe f fCos c o e f f S i n ] = s i g 2 s f _ c o e f f _ a l t ( coe f fS igCos ,

c o e f f S i g S i n , . . .219 h a n d l e s . k a l p h a l , h a n d l e s . k b e t a l ) ;220 e l s e221 [ coe f fCos c o e f f S i n ] = s m a l l b l o c k l e n g t h s i g n a l s f c o e f f ( y ,t ,

N, l ng th , A, B) ;

Page 90: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

72 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

222 end223 t o p l o t 2 = coe f fCos .^2+ c o e f f S i n . ^ 2 ;224 t o p l o t 2 ( 1 ) = 0 ;225 %p l o t i n axes2226 axes( h a n d l e s . axes2 ) ;227 n = 0 : l e n g t h( coe f fCos )−1;228 stem( gca, n , t o p l o t 2 ) ;229 t i t l e ( ’ C o e f i c i e n t e s de F o u r i e r aprox imados ’) ;230 y l a b e l( ’ a_n ^2+b_n^2 ’) ;231 x l a b e l( ’ n ’ ) ;232

233 %compute and p l o t t h e c a n o n i c a l f o u r i e r c o e f f i c i e n t s i f t h ev a r i a b l e

234 %s f p l o t i s t r u e .235 i f ( h a n d l e s . s f p l o t == t r u e )236 i f ( i semp ty( l n g t h ) )237 [ coe f fCos c o e f f S i n ] = s f _ c o e f f ( y , t , N) ;238 e l s e239 [ coe f fCos c o e f f S i n ] = s m a l l b l o c k l e n g t h s f c o e f f ( y , t , N,

l ng th , A, B) ;240 end241 t o p l o t 1 = coe f fCos . ^ 2 + c o e f f S i n . ^ 2 ;242 t o p l o t 1 ( 1 ) = 0 ;243 %p l o t i n axes1244 axes( h a n d l e s . axes1 ) ;245 stem( gca, n , t o p l o t 1 ) ;246 t i t l e ( ’ C o e f i c i e n t e s de F o u r i e r ’) ;247 y l a b e l ( ’ a_n ^2+b_n^2 ’) ;248 x l a b e l ( ’ n ’ ) ;249 end250

251 h a n d l e s . t o p l o t 2 = t o p l o t 2 ;252 h a n d l e s . n = n ;253 h a n d l e s . d i s c r e t e = t r u e ;254

255 % Update h a n d l e s s t r u c t u r e256 g u i d a t a ( hOb jec t , h a n d l e s ) ;257

258

259 case 4260 i f ( i semp ty( l n g t h ) )261 [ coe f fS igCos c o e f f S i g S i n ] = s f _ s i g n a l _ c o e f f ( y , t , N, A, B

) ;262 e l s e263 [ coe f fS igCos c o e f f S i g S i n ] = s m a l l b l o c k l e n g t h s i g n a l c o e ff ( y ,

t , N, l ng th , A, B) ;264 end265 t o p l o t 2 = coe f fS igCos .^2+ c o e f f S i g S i n . ^ 2 ;266 t o p l o t 2 ( 1 ) = 0 ;267 %p l o t i n axes2268 axes( h a n d l e s . axes2 ) ;269 n = 0 : l e n g t h( coe f fS igCos )−1;

Page 91: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 73

270 stem( gca, n , t o p l o t 2 ) ;271 t i t l e ( ’ C o e f i c i e n t e s da s rie q u a n t i z a d a ’) ;272 y l a b e l( ’ a_n ^2+b_n^2 ’) ;273 x l a b e l( ’ n ’ ) ;274

275 %compute and p l o t t h e c a n o n i c a l f o u r i e r c o e f f i c i e n t s i f t h ev a r i a b l e

276 %s f p l o t i s t r u e .277 i f ( h a n d l e s . s f p l o t == t r u e )278 i f ( i semp ty( l n g t h ) )279 [ coe f fCos c o e f f S i n ] = s f _ c o e f f ( y , t , N) ;280 e l s e281 [ coe f fCos c o e f f S i n ] = s m a l l b l o c k l e n g t h s f c o e f f ( y , t , N,

l ng th , A, B) ;282 end283 t o p l o t 1 = coe f fCos . ^ 2 + c o e f f S i n . ^ 2 ;284 t o p l o t 1 ( 1 ) = 0 ;285 %p l o t i n axes1286 axes( h a n d l e s . axes1 ) ;287 stem( gca, n , t o p l o t 1 ) ;288 t i t l e ( ’ C o e f i c i e n t e s de F o u r i e r ’) ;289 y l a b e l ( ’ a_n ^2+b_n^2 ’) ;290 x l a b e l ( ’ n ’ ) ;291 end292

293 h a n d l e s . t o p l o t 2 = t o p l o t 2 ;294 h a n d l e s . n = n ;295 h a n d l e s . d i s c r e t e = t r u e ;296

297 % Update h a n d l e s s t r u c t u r e298 g u i d a t a ( hOb jec t , h a n d l e s ) ;299

300 case 5301 h a n d l e s .A = A;302 h a n d l e s .B = B;303 h a n d l e s .N = N;304 k b e t a l = d i v i s o r s w i t h o d d r e s u l t (N) ;305 h a n d l e s . k b e t a l = k b e t a l ;306 h a n d l e s . k a l p h a l = s i g n s v e c t o r c o e f f s ( k b e t a l ) ;307

308 % Update h a n d l e s s t r u c t u r e309 g u i d a t a ( hOb jec t , h a n d l e s ) ;310

311 s e t( h a n d l e s . e d i t 2 , ’ S t r i n g ’ , num2st r( h a n d l e s .N) ) ;312 s e t( h a n d l e s . e d i t 4 , ’ S t r i n g ’ , num2st r( h a n d l e s . l n g t h ) ) ;313 s e t( h a n d l e s . e d i t 3 , ’ S t r i n g ’ , num2st r( h a n d l e s . p rec ) ) ;314

315 i f ( i semp ty( l n g t h ) )316 [ coe f fS igCos c o e f f S i g S i n ] = s f _ s i g n a l _ c o e f f ( y , t , N, A, B

) ;317 [ coe f fCos c o e f f S i n ] = s i g 2 s f _ c o e f f _ a l t _ d e t e c t i o n (

coe f fS igCos , . . .

Page 92: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

74 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

318 c o e f f S i g S i n , h a n d l e s . k a l p h a l , h a n d l e s . k b e t a l , h a n d l e s .m u l t i p l i e r s ) ;

319 %S c a l i n g t h e a_0 :320 coe f fCos ( 1 ) = h a n d l e s . s c a l e* coe f fCos ( 1 ) ;321 e l s e322 [ coe f fCos c o e f f S i n ] =

s m a l l b l o c k l e n g t h s i g n a l s f c o e f f d e t e c t i o n ( y , . . .323 t , N, l ng th , A, B , h a n d l e s . k a l p h a l , h a n d l e s . k b e t a l ,

h a n d l e s . m u l t i p l i e r s ) ;324 coe f fCos ( 1 ) = 0 ;325

326 end327

328 % [ coe f fS igCos c o e f f S i g S i n ] = s f _ s i g n a l _ c o e f f ( y , t , N, A, B) ;329 % [ coe f fCos c o e f f S i n ] = s i g 2 s f _ c o e f f _ a l t _ d e t e c t i o n ( coe ffS igCos

, . . .330 % c o e f f S i g S i n , h a n d l e s . k a l p h a l , h a n d l e s . k b e t a l , h a n d l e s.

m u l t i p l i e r s ) ;331 % %S c a l i n g t h e a_0 :332 % coe f fCos ( 1 ) = h a n d l e s . s c a l e* coe f fCos ( 1 ) ;333 t o p l o t 2 = coe f fCos .^2+ c o e f f S i n . ^ 2 ;334 %p l o t i n axes2335 axes( h a n d l e s . axes2 ) ;336 n = 0 : l e n g t h( coe f fCos )−1;337 stem( gca, n , t o p l o t 2 ) ;338 t i t l e ( ’ Coef . de F o u r i e r aprox imados e s c a l o n a d o s ’) ;339 y l a b e l( ’ \ a l p h a ^2( a_n ^2+b_n ^2) ’) ;340 x l a b e l( ’ n ’ ) ;341

342 %compute and p l o t t h e c a n o n i c a l f o u r i e r s e r i e i f t h e v a r i a b le343 %s f p l o t i s t r u e .344 i f ( h a n d l e s . s f p l o t == t r u e )345 i f ( i semp ty( l n g t h ) )346 [ coe f fCos c o e f f S i n ] = s f _ c o e f f ( y , t , N) ;347 e l s e348 [ coe f fCos c o e f f S i n ] = s m a l l b l o c k l e n g t h s f c o e f f ( y , t , N,

l ng th , A, B) ;349 coe f fCos ( 1 ) = 0 ;350 end351 %[ coe f fCos c o e f f S i n ] = s f _ c o e f f ( y , t , N) ;352 t o p l o t 1 = coe f fCos . ^ 2 + c o e f f S i n . ^ 2 ;353 %p l o t i n axes1354 axes( h a n d l e s . axes1 ) ;355 stem( gca, n , t o p l o t 1 ) ;356 t i t l e ( ’ C o e f i c i e n t e s de F o u r i e r ’) ;357 y l a b e l ( ’ a_n ^2+b_n^2 ’) ;358 x l a b e l ( ’ n ’ ) ;359 end360 h a n d l e s . t o p l o t 2 = t o p l o t 2 ;361 h a n d l e s . n = n ;362 h a n d l e s . d i s c r e t e = t r u e ;363 end

Page 93: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 75

364

365 % Update h a n d l e s s t r u c t u r e366 g u i d a t a ( hOb jec t , h a n d l e s ) ;367

368 end369

370 f u n c t i o n e d i t 2 _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h a n d l e s )371 % hOb jec t hand le t o e d i t 2 ( see GCBO)372 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB373 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)374

375 % H i n t s : g e t ( hOb jec t , ’ S t r i n g ’ ) r e t u r n s c o n t e n t s o f e d i t 2 as t e x t376 % s t r 2 d o u b l e ( g e t ( hOb jec t , ’ S t r i n g ’ ) ) r e t u r n s c o n t e n t s o fe d i t 2

as a doub le377

378 end379

380 % −−− Execu tes d u r i n g o b j e c t c r e a t i o n , a f t e r s e t t i n g a l l p r o p e r ti e s .381 f u n c t i o n e d i t 2 _ C r e a t e F c n ( hOb jec t , e v e n t d a t a , h a n d l e s )382 % hOb jec t hand le t o e d i t 2 ( see GCBO)383 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB384 % h a n d l e s empty− h a n d l e s no t c r e a t e d u n t i l a f t e r a l l C rea teFcns

c a l l e d385

386 % Hin t : e d i t c o n t r o l s u s u a l l y have a wh i te background on Windows .387 % See ISPC and COMPUTER.388 i f i s p c && i s e q u a l (g e t( hOb jec t ,’ BackgroundColor ’) , g e t ( 0 , ’

d e f a u l t U i c o n t r o l B a c k g r o u n d C o l o r ’) )389 s e t( hOb jec t ,’ BackgroundColor ’, ’ wh i te ’ ) ;390 end391 end392

393 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−394 f u n c t i o n ana lyses_1D_Ca l l back ( hOb jec t , e v e n t d a t a , h a n d l e s )395 % hOb jec t hand le t o ana lyses_1D ( see GCBO)396 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB397 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)398

399 end400

401 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−402 f u n c t i o n s e r i e f o u r i e r c a n o n i c a _ 1 D _ C a l l b a c k ( hOb jec t , e v e n t d a t a ,h a n d l e s )403 % hOb jec t hand le t o s e r i e f o u r i e r c a n o n i c a _ 1 D ( see GCBO)404 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB405 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)406 h a n d l e s .f l a g = 1 ;407

408 [A B] = m t r x g e n _ s i g n a l ( h a n d l e s .N) ;409

410 h a n d l e s .A = A;411 h a n d l e s . B = B;412 k b e t a l = d i v i s o r s w i t h o d d r e s u l t ( h a n d l e s .N) ;

Page 94: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

76 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

413 h a n d l e s . k b e t a l = k b e t a l ;414 h a n d l e s . k a l p h a l = s i g n s v e c t o r c o e f f s ( k b e t a l ) ;415

416 % Update h a n d l e s s t r u c t u r e417 g u i d a t a ( hOb jec t , h a n d l e s ) ;418

419 end420

421 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−422 f u n c t i o n s e r i e f o u r i e r q u a n t i z a d a _ 1 D _ C a l l b a c k ( hOb jec t , e v e n t d a ta ,

h a n d l e s )423 % hOb jec t hand le t o s e r i e f o u r i e r q u a n t i z a d a _ 1 D ( see GCBO)424 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB425 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)426 h a n d l e s .f l a g = 2 ;427

428 [A B] = m t r x g e n _ s i g n a l ( h a n d l e s .N) ;429

430 h a n d l e s .A = A;431 h a n d l e s . B = B;432 k b e t a l = d i v i s o r s w i t h o d d r e s u l t ( h a n d l e s .N) ;433 h a n d l e s . k b e t a l = k b e t a l ;434 h a n d l e s . k a l p h a l = s i g n s v e c t o r c o e f f s ( k b e t a l ) ;435

436

437 % Update h a n d l e s s t r u c t u r e438 g u i d a t a ( hOb jec t , h a n d l e s ) ;439

440 end441

442 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−443 f u n c t i o n c o e f i c i e n t e f o u r i e r _ 1 D _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h an d l e s )444 % hOb jec t hand le t o c o e f i c i e n t e f o u r i e r _ 1 D ( see GCBO)445 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB446 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)447 h a n d l e s .f l a g = 3 ;448

449 [A B] = m t r x g e n _ s i g n a l ( h a n d l e s .N) ;450

451 h a n d l e s .A = A;452 h a n d l e s . B = B;453 k b e t a l = d i v i s o r s w i t h o d d r e s u l t ( h a n d l e s .N) ;454 h a n d l e s . k b e t a l = k b e t a l ;455 h a n d l e s . k a l p h a l = s i g n s v e c t o r c o e f f s ( k b e t a l ) ;456

457

458 % Update h a n d l e s s t r u c t u r e459 g u i d a t a ( hOb jec t , h a n d l e s ) ;460

461 end462

463 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

Page 95: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 77

464 f u n c t i o n c o e f i c i e n t e q u a n t i z a d a _ 1 D _ C a l l b a c k ( hOb jec t , e v e n t d a t a, h a n d l e s)

465 % hOb jec t hand le t o c o e f i c i e n t e q u a n t i z a d a _ 1 D ( see GCBO)466 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB467 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)468 h a n d l e s .f l a g = 4 ;469

470 [A B] = m t r x g e n _ s i g n a l ( h a n d l e s .N) ;471

472 h a n d l e s .A = A;473 h a n d l e s . B = B;474 k b e t a l = d i v i s o r s w i t h o d d r e s u l t ( h a n d l e s .N) ;475 h a n d l e s . k b e t a l = k b e t a l ;476 h a n d l e s . k a l p h a l = s i g n s v e c t o r c o e f f s ( k b e t a l ) ;477

478

479 % Update h a n d l e s s t r u c t u r e480 g u i d a t a ( hOb jec t , h a n d l e s ) ;481

482 end483

484 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−485 f u n c t i o n de teccao_1D_Ca l l back ( hOb jec t , e v e n t d a t a , h a n d l e s )486 % hOb jec t hand le t o de teccao_1D ( see GCBO)487 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB488 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)489 h a n d l e s .f l a g = 5 ;490

491 [A B] = m t r x g e n _ s i g n a l ( h a n d l e s .N) ;492 [A B s c a l e F MSEA MSEB] = s c a l e F a c t o r (A, B , h a n d l e s . p rec ) ;493

494 h a n d l e s . s c a l e = s c a l e F ;495 h a n d l e s .A = A;496 h a n d l e s . B = B;497 k b e t a l = d i v i s o r s w i t h o d d r e s u l t ( h a n d l e s .N) ;498 h a n d l e s . k b e t a l = k b e t a l ;499 h a n d l e s . k a l p h a l = s i g n s v e c t o r c o e f f s ( k b e t a l ) ;500 h a n d l e s . m u l t i p l i e r s = m u l t i p l i e r s ( h a n d l e s .N) ;501

502 % Update h a n d l e s s t r u c t u r e503 g u i d a t a ( hOb jec t , h a n d l e s ) ;504

505 end506

507 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−508 f u n c t i o n a u d i o _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h a n d l e s )509 % hOb jec t hand le t o aud io ( see GCBO)510 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB511 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)512

513 end514

Page 96: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

78 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

515 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−516 f u n c t i o n ana lyses_2D_Ca l l back ( hOb jec t , e v e n t d a t a , h a n d l e s )517 % hOb jec t hand le t o ana lyses_2D ( see GCBO)518 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB519 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)520

521 end522

523 % −−− Execu tes on key p r e s s wi th f o c u s on l i s t b o x 1 and none o f i t sc o n t r o l s .

524 f u n c t i o n l i s t b o x 1 _ K e y P r e s s F c n ( hOb jec t , e v e n t d a t a , h a n d l e s )525 % hOb jec t hand le t o l i s t b o x 1 ( see GCBO)526 % e v e n t d a t a s t r u c t u r e wi th t h e f o l l o w i n g f i e l d s ( see UICONTROL)527 % Key : name of t h e key t h a t was p ressed , i n lower case528 % C h a r a c t e r : c h a r a c t e r i n t e r p r e t a t i o n o f t h e key ( s ) t h a t was p r e s s e d529 % Mod i f i e r : name ( s ) o f t h e m o d i f i e r key ( s ) ( i . e . , c o n t r o l , sh i f t )

p r e s s e d530 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)531

532 end533

534 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−535 f u n c t i o n s e r i e f o u r i e r c a n o n i c a _ 2 D _ C a l l b a c k ( hOb jec t , e v e n t d a t a ,h a n d l e s )536 % hOb jec t hand le t o s e r i e f o u r i e r c a n o n i c a _ 2 D ( see GCBO)537 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB538 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)539

540 end541

542 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−543 f u n c t i o n s e r i e f o u r i e r q u a n t i z a d a _ 2 D _ C a l l b a c k ( hOb jec t , e v e n t d a ta ,

h a n d l e s )544 % hOb jec t hand le t o s e r i e f o u r i e r q u a n t i z a d a _ 2 D ( see GCBO)545 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB546 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)547

548 end549

550 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−551 f u n c t i o n c o e f i c i e n t e f o u r i e r _ 2 D _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h an d l e s )552 % hOb jec t hand le t o c o e f i c i e n t e f o u r i e r _ 2 D ( see GCBO)553 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB554 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)555

556 end557

558 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−559 f u n c t i o n c o e f i c i e n t e q u a n t i z a d a _ 2 D _ C a l l b a c k ( hOb jec t , e v e n t d a t a, h a n d l e s

)560 % hOb jec t hand le t o c o e f i c i e n t e q u a n t i z a d a _ 2 D ( see GCBO)561 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB562 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)

Page 97: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 79

563

564 end565

566 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−567 f u n c t i o n de teccao_2D_Ca l l back ( hOb jec t , e v e n t d a t a , h a n d l e s )568 % hOb jec t hand le t o de teccao_2D ( see GCBO)569 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB570 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)571

572 end573

574 f u n c t i o n e d i t 3 _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h a n d l e s )575 % hOb jec t hand le t o e d i t 3 ( see GCBO)576 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB577 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)578

579 % H i n t s : g e t ( hOb jec t , ’ S t r i n g ’ ) r e t u r n s c o n t e n t s o f e d i t 3 as t e x t580 % s t r 2 d o u b l e ( g e t ( hOb jec t , ’ S t r i n g ’ ) ) r e t u r n s c o n t e n t s o fe d i t 3

as a doub le581

582 h a n d l e s . p rec =st r2num( g e t( hOb jec t , ’ S t r i n g ’ ) ) ;583

584 % Update h a n d l e s s t r u c t u r e585 g u i d a t a ( hOb jec t , h a n d l e s ) ;586

587 end588

589 % −−− Execu tes d u r i n g o b j e c t c r e a t i o n , a f t e r s e t t i n g a l l p r o p e r ti e s .590 f u n c t i o n e d i t 3 _ C r e a t e F c n ( hOb jec t , e v e n t d a t a , h a n d l e s )591 % hOb jec t hand le t o e d i t 3 ( see GCBO)592 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB593 % h a n d l e s empty− h a n d l e s no t c r e a t e d u n t i l a f t e r a l l C rea teFcns

c a l l e d594

595 % Hin t : e d i t c o n t r o l s u s u a l l y have a wh i te background on Windows .596 % See ISPC and COMPUTER.597 i f i s p c && i s e q u a l (g e t( hOb jec t ,’ BackgroundColor ’) , g e t ( 0 , ’

d e f a u l t U i c o n t r o l B a c k g r o u n d C o l o r ’) )598 s e t( hOb jec t ,’ BackgroundColor ’, ’ wh i te ’ ) ;599 end600

601 end602

603 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−604 f u n c t i o n compar i son_Ca l l back ( hOb jec t , e v e n t d a t a , h a n d l e s )605 % hOb jec t hand le t o compar ison ( see GCBO)606 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB607 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)608

609 p e r g u n t a = ’ Dese ja comparar o r e s u l t a d o o b t i d o a p a r t i r da s rie deF o u r i e r Quan t i zada com a s rie de F o u r i e r C a n n i c a ? ’;

610 comp = q u e s t d l g ( pe rgun ta , . . .

Page 98: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

80 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

611 ’ A t i v a de C o m p a r a ’, ’Sim ’ , ’ N o ’ , ’ N o ’ ) ;612

613 i f ( s t rcmp( ’Sim ’ , comp ) )614 %A c t i v a t e compar ison v a r i a b l e615 h a n d l e s . s f p l o t = t r u e ;616 %Turn on t h e axes1 v i s i b i l i t y617 s e t( h a n d l e s . axes1 ,’ V i s i b l e ’ , ’ on ’ ) ;618 s e t( h a n d l e s . axes2 ,’ P o s i t i o n ’ , [24 11 .4 60 9 ] ) ;619 e l s e620 %D e a c t i v a t e compar ison v a r i a b l e621 h a n d l e s . s f p l o t = f a l s e ;622 %C l e a r and Turn o f f t h e axes1 v i s i b i l i t y623 c l a r e s e t;624 s e t( h a n d l e s . axes1 ,’ V i s i b l e ’ , ’ o f f ’ ) ;625 s e t( h a n d l e s . axes2 ,’ P o s i t i o n ’ , [ 1 8 . 6 15 71 .6 1 5 . 2 3 ] ) ;626 end627

628 % Update h a n d l e s s t r u c t u r e629 g u i d a t a ( hOb jec t , h a n d l e s ) ;630

631 end632

633 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−634 f u n c t i o n s a v e _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h a n d l e s )635 % hOb jec t hand le t o save ( see GCBO)636 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB637 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)638

639 %f i l e = i n p u t d l g ( { ’Nome do a r q u i v o : ’ } , ’ S a l v a r A n lise ’ , [ 1] , { ’Nomedo a r q u i v o sem e x t e n s o ’ } ) ;

640 [ f i l e , pathname ] = u i p u t f i l e ( ’ D e f a u l t . mat ’ , ’ S a l v a r A n lise ’) ;641

642 i f ( f i l e == 0)643 r e t u r n;644 e l s e645 f i l e t o b e s a v e d = s t r c a t ( pathname , f i l e ) ;646

647 t o p l o t 2 = h a n d l e s . t o p l o t 2 ;648 n = h a n d l e s . n ;649 t = h a n d l e s . t ;650

651 i f ( h a n d l e s . d i s c r e t e == t r u e )652 save( f i l e t o b e s a v e d , ’ t o p l o t 2 ’ , ’ n ’ ) ;653 e l s e654 save( f i l e t o b e s a v e d , ’ t o p l o t 2 ’ , ’ t ’ ) ;655 end656 end657

658 end659

660 % −−− Execu tes on b u t t o n p r e s s i n pushbu t ton4 .661 f u n c t i o n p u s h b u t t o n 4 _ C a l l b ac k ( hOb jec t , e v e n t d a t a , h a n d l e s )

Page 99: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 81

662 % hOb jec t hand le t o pushbu t ton4 ( see GCBO)663 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB664 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)665

666 [ f i l e , pathname ] = u i g e t f i l e ( ’ * . mat ’ , ’ Arqu ivo pa ra A n lise ’) ;667

668 i f ( f i l e ~= 0)669 f i l e = s t r c a t ( pathname , f i l e ) ;670 s e t( h a n d l e s . e d i t 1 , ’ S t r i n g ’ , f i l e ) ;671 h a n d l e s . f i l e = f i l e ;672 % Update h a n d l e s s t r u c t u r e673 g u i d a t a ( hOb jec t , h a n d l e s ) ;674 end675

676 end677

678 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−679 f u n c t i o n c o n f i g s _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h a n d l e s )680 % hOb jec t hand le t o c o n f i g s ( see GCBO)681 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB682 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)683

684 c o n f i g s = i n p u t d l g ( {’ In fo rme o n m e r o de h a r m n i c o s ’, . . .685 ’ I n fo rme o compr imento de cada b loco ’, . . .686 ’ I n fo rme a p r e c i s o usada pa ra e n c o n t r a r a m a t r i z aprox imadapa ra

d e t e c ’} , . . .687 ’ C o n f i g u r a es pa ra A n lise ’, [1 1 1 ] , { ’ Deve s e r um i n t e i r o maior

que 0 ’ , . . .688 ’ Deve s e r um i n t e i r o maior que 0 ’, ’ 10^(−2) ’ } ) ;689

690 i f (~ i semp ty( c o n f i g s ) )691 N = st r2num( c o n f i g s {1 } ) ;692 [A B] = m t r x g e n _ s i g n a l (N) ;693

694 i f ( h a n d l e s .f l a g == 5)695 [A B s c a l e F MSEA MSEB] = s c a l e F a c t o r (A, B , h a n d l e s . p rec ) ;696 h a n d l e s . s c a l e = s c a l e F ;697 h a n d l e s . m u l t i p l i e r s = m u l t i p l i e r s (N) ;698 end699

700 h a n d l e s .A = A;701 h a n d l e s . B = B;702 h a n d l e s .N = N;703 h a n d l e s . l n g t h =st r2num( c o n f i g s {2 } ) ;704 h a n d l e s . p rec =st r2num( c o n f i g s {3 } ) ;705 k b e t a l = d i v i s o r s w i t h o d d r e s u l t (N) ;706 h a n d l e s . k b e t a l = k b e t a l ;707 h a n d l e s . k a l p h a l = s i g n s v e c t o r c o e f f s ( k b e t a l ) ;708

709 % Update h a n d l e s s t r u c t u r e710 g u i d a t a ( hOb jec t , h a n d l e s ) ;711

Page 100: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

82 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

712 s e t( h a n d l e s . e d i t 2 , ’ S t r i n g ’ , num2st r( h a n d l e s .N) ) ;713 s e t( h a n d l e s . e d i t 4 , ’ S t r i n g ’ , num2st r( h a n d l e s . l n g t h ) ) ;714 s e t( h a n d l e s . e d i t 3 , ’ S t r i n g ’ , num2st r( h a n d l e s . p rec ) ) ;715 end716

717 end718

719 f u n c t i o n e d i t 4 _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h a n d l e s )720 % hOb jec t hand le t o e d i t 4 ( see GCBO)721 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB722 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)723

724 % H i n t s : g e t ( hOb jec t , ’ S t r i n g ’ ) r e t u r n s c o n t e n t s o f e d i t 4 as t e x t725 % s t r 2 d o u b l e ( g e t ( hOb jec t , ’ S t r i n g ’ ) ) r e t u r n s c o n t e n t s o fe d i t 4

as a doub le726

727 end728

729 % −−− Execu tes d u r i n g o b j e c t c r e a t i o n , a f t e r s e t t i n g a l l p r o p e r ti e s .730 f u n c t i o n e d i t 4 _ C r e a t e F c n ( hOb jec t , e v e n t d a t a , h a n d l e s )731 % hOb jec t hand le t o e d i t 4 ( see GCBO)732 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB733 % h a n d l e s empty− h a n d l e s no t c r e a t e d u n t i l a f t e r a l l C rea teFcns

c a l l e d734

735 % Hin t : e d i t c o n t r o l s u s u a l l y have a wh i te background on Windows .736 % See ISPC and COMPUTER.737 i f i s p c && i s e q u a l (g e t( hOb jec t ,’ BackgroundColor ’) , g e t ( 0 , ’

d e f a u l t U i c o n t r o l B a c k g r o u n d C o l o r ’) )738 s e t( hOb jec t ,’ BackgroundColor ’, ’ wh i te ’ ) ;739 end740

741 end742

743 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−744 f u n c t i o n exemp los_Ca l l back ( hOb jec t , e v e n t d a t a , h a n d l e s )745 % hOb jec t hand le t o exemplos ( see GCBO)746 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB747 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)748

749 end750

751 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−752 f u n c t i o n p a r a b o l a _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h a n d l e s )753 % hOb jec t hand le t o p a r a b o l a ( see GCBO)754 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB755 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)756

757 f i l e = ’ examples / p a r a b o l a ’;758

759 s e t( h a n d l e s . e d i t 1 , ’ S t r i n g ’ , f i l e ) ;760

Page 101: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 83

761 h a n d l e s . f i l e = f i l e ;762 % Update h a n d l e s s t r u c t u r e763 g u i d a t a ( hOb jec t , h a n d l e s ) ;764

765 %c o n f i g s _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h a n d l e s ) ;766

767 N = 5 ;768 [A B] = m t r x g e n _ s i g n a l (N) ;769

770 i f ( h a n d l e s .f l a g == 5)771 [A B s c a l e F MSEA MSEB] = s c a l e F a c t o r (A, B , h a n d l e s . p rec ) ;772 h a n d l e s . s c a l e = s c a l e F ;773 end774

775 h a n d l e s .A = A;776 h a n d l e s . B = B;777 h a n d l e s .N = N;778 h a n d l e s . l n g t h =st r2num( ’ ’ ) ;779 h a n d l e s . p rec = 10^(−2) ;780 k b e t a l = d i v i s o r s w i t h o d d r e s u l t (N) ;781 h a n d l e s . k b e t a l = k b e t a l ;782 h a n d l e s . k a l p h a l = s i g n s v e c t o r c o e f f s ( k b e t a l ) ;783

784 % Update h a n d l e s s t r u c t u r e785 g u i d a t a ( hOb jec t , h a n d l e s ) ;786

787 s e t( h a n d l e s . e d i t 2 , ’ S t r i n g ’ , num2st r( h a n d l e s .N) ) ;788 s e t( h a n d l e s . e d i t 4 , ’ S t r i n g ’ , num2st r( h a n d l e s . l n g t h ) ) ;789 s e t( h a n d l e s . e d i t 3 , ’ S t r i n g ’ , num2st r( h a n d l e s . p rec ) ) ;790

791 p u s h b u t t o n 1 _ C a l l ba c k ( hOb jec t , e v e n t d a t a , h a n d l e s ) ;792 s t r 1 = ’ Es te exemplo f o i c o n s t r u do tendo como s i n a l de e n t r a d a pa ra

a n lise um s i n a l ’;793 s t r 2 = ’ p a r a b lico , de 0 a t 1 , com p e r odo de fundamen ta l de 0 . 5 ,

com 1001 amos t ras . Na a n lise f o i c o n s i d e r a d o ’;794 s t r 3 = ’ a t o q u i n t o h a r m n i c o , sem quebra em b l o c o s . O g r fico na

p a r t e s u p e r i o r ’;795 s t r 4 = ’ r e p r e s e n t a a s rie de F o u r i e r , e ’;796 s t r 5 = ’ o g r fico da p a r t e i n f e r i o r r e p r e s e n t a a s rie de F o u r i e r

q u a n t i z a d a . ’;797 s t r 6 = ’ Caso d e s e j e a l t e r a r as c o n f i g u r a es r e a l i z a r o u t r a s a n lise

com e s t e ’;798 s t r 7 = ’ mesmo s i n a l , a l t e r e as c o n f i g u r a es c l i c a n d o no b o t o de

c o n f i g u r a es na b a r r a de menu na p a r t e s u p e r i o r ’;799 s t r 8 = ’ da j a n e l a . Caso d e s e j e o b t e r os c o e f i c i e n t e s , quer se jam de

F o u r i e r , da ’;800 s t r 9 = ’ s rie q u a n t i z a da , ou apenas r e a l i z a r uma e s t i m a dos

c o e f i c i e n t e s , c l i q u e ’;801 s t r 1 0 = ’ no b o t o de a n lise−1D na b a r r a de menu , na p a r t e s u p e r i o r

da j a n e l a . ’;802 s t r 1 1 = ’O p e r odo c o n s i d e r a d o f o i 0 .5 pa ra que se t o r n a s s e e v i d e n t e a

p e i o d i c i d a d e do s i n a l . ’;

Page 102: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

84 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

803 msgbox ( s t r c a t ( s t r 1 , s t r 2 , s t r 3 , s t r 4 , s t r 5 , s t r 6 , s t r 7 , s tr 8 , s t r 9 ,s t r 1 0 , s t r 1 1 ) . . .

804 , ’ I n f o r m a t i v o s o b r e exemplo de s i n a l p a r a b lico ’) ;805

806 end807

808 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−809 f u n c t i o n c o s s e n o _ C a l l ba ck ( hOb jec t , e v e n t d a t a , h a n d l e s )810 % hOb jec t hand le t o cosseno ( see GCBO)811 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB812 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)813

814 f i l e = ’ examples / cosseno ’;815

816 s e t( h a n d l e s . e d i t 1 , ’ S t r i n g ’ , f i l e ) ;817

818 h a n d l e s . f i l e = f i l e ;819 % Update h a n d l e s s t r u c t u r e820 g u i d a t a ( hOb jec t , h a n d l e s ) ;821

822 %c o n f i g s _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h a n d l e s ) ;823

824 N = 5 ;825 [A B] = m t r x g e n _ s i g n a l (N) ;826

827 i f ( h a n d l e s .f l a g == 5)828 [A B s c a l e F MSEA MSEB] = s c a l e F a c t o r (A, B , h a n d l e s . p rec ) ;829 h a n d l e s . s c a l e = s c a l e F ;830 end831

832 h a n d l e s .A = A;833 h a n d l e s . B = B;834 h a n d l e s .N = N;835 h a n d l e s . l n g t h =st r2num( ’ ’ ) ;836 h a n d l e s . p rec = 10^(−2) ;837 k b e t a l = d i v i s o r s w i t h o d d r e s u l t (N) ;838 h a n d l e s . k b e t a l = k b e t a l ;839 h a n d l e s . k a l p h a l = s i g n s v e c t o r c o e f f s ( k b e t a l ) ;840 % Update h a n d l e s s t r u c t u r e841 g u i d a t a ( hOb jec t , h a n d l e s ) ;842

843 s e t( h a n d l e s . e d i t 2 , ’ S t r i n g ’ , num2st r( h a n d l e s .N) ) ;844 s e t( h a n d l e s . e d i t 4 , ’ S t r i n g ’ , num2st r( h a n d l e s . l n g t h ) ) ;845 s e t( h a n d l e s . e d i t 3 , ’ S t r i n g ’ , num2st r( h a n d l e s . p rec ) ) ;846

847 p u s h b u t t o n 1 _ C a l l ba c k ( hOb jec t , e v e n t d a t a , h a n d l e s ) ;848 s t r 1 = ’ Es te exemplo f o i c o n s t r u do tendo como s i n a l de e n t r a d a pa ra

a n lise um s i n a l ’;849 s t r 2 = ’ cosseno , de 0 a t 2* p i , com 629 amos t ras . Na a n lise f o i

c o n s i d e r a d o ’;850 s t r 3 = ’ a t o q u i n t o h a r m n i c o , sem quebra em b l o c o s . O g r fico na

p a r t e s u p e r i o r ’;

Page 103: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 85

851 s t r 4 = ’ r e p r e s e n t a a s rie de F o u r i e r , e ’;852 s t r 5 = ’ o g r fico da p a r t e i n f e r i o r r e p r e s e n t a a s rie de F o u r i e r

q u a n t i z a d a . ’;853 s t r 6 = ’ Caso d e s e j e a l t e r a r as c o n f i g u r a es r e a l i z a r o u t r a s a n lise

com e s t e ’;854 s t r 7 = ’ mesmo s i n a l , a l t e r e as c o n f i g u r a es c l i c a n d o no b o t o de

c o n f i g u r a es na b a r r a de menu na p a r t e s u p e r i o r ’;855 s t r 8 = ’ da j a n e l a . Caso d e s e j e o b t e r os c o e f i c i e n t e s , quer se jam de

F o u r i e r , da ’;856 s t r 9 = ’ s rie q u a n t i z a da , ou apenas r e a l i z a r uma e s t i m a dos

c o e f i c i e n t e s , c l i q u e ’;857 s t r 1 0 = ’ no b o t o de a n lise−1D na b a r r a de menu , na p a r t e s u p e r i o r

da j a n e l a . ’;858 msgbox ( s t r c a t ( s t r 1 , s t r 2 , s t r 3 , s t r 4 , s t r 5 , s t r 6 , s t r 7 , s tr 8 , s t r 9 ,

s t r 1 0 ) . . .859 , ’ I n f o r m a t i v o s o b r e exemplo de s i n a l cosseno ’) ;860

861 end862

863 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−864 f u n c t i o n s i n a l d e a u d i o _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h a n d l e s )865 % hOb jec t hand le t o s i n a l d e a u d i o ( see GCBO)866 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB867 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)868

869 f i l e = ’ examples / a l e l u i a ’;870

871 s e t( h a n d l e s . e d i t 1 , ’ S t r i n g ’ , f i l e ) ;872

873 h a n d l e s . f i l e = f i l e ;874 % Update h a n d l e s s t r u c t u r e875 g u i d a t a ( hOb jec t , h a n d l e s ) ;876

877 %c o n f i g s _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h a n d l e s ) ;878

879 N = 5 ;880 [A B] = m t r x g e n _ s i g n a l (N) ;881

882 i f ( h a n d l e s .f l a g == 5)883 [A B s c a l e F MSEA MSEB] = s c a l e F a c t o r (A, B , h a n d l e s . p rec ) ;884 h a n d l e s . s c a l e = s c a l e F ;885 end886

887 h a n d l e s .A = A;888 h a n d l e s . B = B;889 h a n d l e s .N = N;890 h a n d l e s . l n g t h =st r2num( ’ 64 ’ ) ;891 h a n d l e s . p rec = 10^(−2) ;892 k b e t a l = d i v i s o r s w i t h o d d r e s u l t (N) ;893 h a n d l e s . k b e t a l = k b e t a l ;894 h a n d l e s . k a l p h a l = s i g n s v e c t o r c o e f f s ( k b e t a l ) ;895

Page 104: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

86 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

896 % Update h a n d l e s s t r u c t u r e897 g u i d a t a ( hOb jec t , h a n d l e s ) ;898

899 s e t( h a n d l e s . e d i t 2 , ’ S t r i n g ’ , num2st r( h a n d l e s .N) ) ;900 s e t( h a n d l e s . e d i t 4 , ’ S t r i n g ’ , num2st r( h a n d l e s . l n g t h ) ) ;901 s e t( h a n d l e s . e d i t 3 , ’ S t r i n g ’ , num2st r( h a n d l e s . p rec ) ) ;902

903 p u s h b u t t o n 1 _ C a l l ba c k ( hOb jec t , e v e n t d a t a , h a n d l e s ) ;904 s t r 1 = ’ Es te exemplo f o i c o n s t r u do tendo como s i n a l de e n t r a d a pa ra

a n lise um s i n a l ’;905 s t r 2 = ’ de audio , amost rado com 8192Hz , com 73.113 amos t ras . Na

a n lise f o i c o n s i d e r a d o ’;906 s t r 3 = ’ a t o q u i n t o h a r m n i c o , com o s i n a l quebrado em b l o c o s com 64

amos t ras de compr imento . O g r fico na p a r t e s u p e r i o r ’;907 s t r 4 = ’ r e p r e s e n t a a s rie de F o u r i e r , e ’;908 s t r 5 = ’ o g r fico da p a r t e i n f e r i o r r e p r e s e n t a a s rie de F o u r i e r

q u a n t i z a d a . ’;909 s t r 6 = ’ Caso d e s e j e a l t e r a r as c o n f i g u r a es r e a l i z a r o u t r a s a n lise

com e s t e ’;910 s t r 7 = ’ mesmo s i n a l , a l t e r e as c o n f i g u r a es c l i c a n d o no b o t o de

c o n f i g u r a es na b a r r a de menu na p a r t e s u p e r i o r ’;911 s t r 8 = ’ da j a n e l a . Caso d e s e j e o b t e r os c o e f i c i e n t e s , quer se jam de

F o u r i e r , da ’;912 s t r 9 = ’ s rie q u a n t i z a da , ou apenas r e a l i z a r uma e s t i m a dos

c o e f i c i e n t e s , c l i q u e ’;913 s t r 1 0 = ’ no b o t o de a n lise−1D na b a r r a de menu , na p a r t e s u p e r i o r

da j a n e l a . ’;914 msgbox ( s t r c a t ( s t r 1 , s t r 2 , s t r 3 , s t r 4 , s t r 5 , s t r 6 , s t r 7 , s tr 8 , s t r 9 ,

s t r 1 0 ) . . .915 , ’ I n f o r m a t i v o s o b r e exemplo de s i n a l de aud io ’) ;916

917 end918

919 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−920 f u n c t i o n g a u s s i a n a _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h a n d l e s )921 % hOb jec t hand le t o g a u s s i a n a ( see GCBO)922 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB923 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)924

925 f i l e = ’ examples / g a u s s i a n a ’;926

927 s e t( h a n d l e s . e d i t 1 , ’ S t r i n g ’ , f i l e ) ;928

929 h a n d l e s . f i l e = f i l e ;930 % Update h a n d l e s s t r u c t u r e931 g u i d a t a ( hOb jec t , h a n d l e s ) ;932

933 %c o n f i g s _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h a n d l e s ) ;934

935 N = 5 ;936 [A B] = m t r x g e n _ s i g n a l (N) ;937

Page 105: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 87

938 i f ( h a n d l e s .f l a g == 5)939 [A B s c a l e F MSEA MSEB] = s c a l e F a c t o r (A, B , h a n d l e s . p rec ) ;940 h a n d l e s . s c a l e = s c a l e F ;941 end942

943 h a n d l e s .A = A;944 h a n d l e s . B = B;945 h a n d l e s .N = N;946 h a n d l e s . l n g t h =st r2num( ’ ’ ) ;947 h a n d l e s . p rec = 10^(−2) ;948 k b e t a l = d i v i s o r s w i t h o d d r e s u l t (N) ;949 h a n d l e s . k b e t a l = k b e t a l ;950 h a n d l e s . k a l p h a l = s i g n s v e c t o r c o e f f s ( k b e t a l ) ;951

952 % Update h a n d l e s s t r u c t u r e953 g u i d a t a ( hOb jec t , h a n d l e s ) ;954

955 s e t( h a n d l e s . e d i t 2 , ’ S t r i n g ’ , num2st r( h a n d l e s .N) ) ;956 s e t( h a n d l e s . e d i t 4 , ’ S t r i n g ’ , num2st r( h a n d l e s . l n g t h ) ) ;957 s e t( h a n d l e s . e d i t 3 , ’ S t r i n g ’ , num2st r( h a n d l e s . p rec ) ) ;958

959 p u s h b u t t o n 1 _ C a l l ba c k ( hOb jec t , e v e n t d a t a , h a n d l e s ) ;960 s t r 1 = ’ Es te exemplo f o i c o n s t r u do tendo como s i n a l de e n t r a d a pa ra

a n lise um s i n a l ’;961 s t r 2 = ’ gauss iano , de 0 a t 4 , com p e r odo fundamen ta l de 2 , com 4001

amos t ras . Na a n lise f o i c o n s i d e r a d o ’;962 s t r 3 = ’ a t o q u i n t o h a r m n i c o , sem quebra em b l o c o s . O g r fico na

p a r t e s u p e r i o r ’;963 s t r 4 = ’ r e p r e s e n t a a s rie de F o u r i e r , e ’;964 s t r 5 = ’ o g r fico da p a r t e i n f e r i o r r e p r e s e n t a a s rie de F o u r i e r

q u a n t i z a d a . ’;965 s t r 6 = ’ Caso d e s e j e a l t e r a r as c o n f i g u r a es r e a l i z a r o u t r a s a n lise

com e s t e ’;966 s t r 7 = ’ mesmo s i n a l , a l t e r e as c o n f i g u r a es c l i c a n d o no b o t o de

c o n f i g u r a es na b a r r a de menu na p a r t e s u p e r i o r ’;967 s t r 8 = ’ da j a n e l a . Caso d e s e j e o b t e r os c o e f i c i e n t e s , quer se jam de

F o u r i e r , da ’;968 s t r 9 = ’ s rie q u a n t i z a da , ou apenas r e a l i z a r uma e s t i m a dos

c o e f i c i e n t e s , c l i q u e ’;969 s t r 1 0 = ’ no b o t o de a n lise−1D na b a r r a de menu , na p a r t e s u p e r i o r

da j a n e l a . ’;970 s t r 1 1 = ’O p e r odo c o n s i d e r a d o f o i 2 pa ra que se t o r n a s s e e v i d e n t e a

p e i o d i c i d a d e do s i n a l . ’;971 msgbox ( s t r c a t ( s t r 1 , s t r 2 , s t r 3 , s t r 4 , s t r 5 , s t r 6 , s t r 7 , s tr 8 , s t r 9 ,

s t r 1 0 , s t r 1 1 ) . . .972 , ’ I n f o r m a t i v o s o b r e exemplo de s i n a l g a u s s i a n o ’) ;973

974 end975

976 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−977 f u n c t i o n rampa_Cal lback ( hOb jec t , e v e n t d a t a , h a n d l e s )978 % hOb jec t hand le t o rampa ( see GCBO)

Page 106: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

88 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

979 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB980 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)981

982

983 f i l e = ’ examples / rampa ’;984

985 s e t( h a n d l e s . e d i t 1 , ’ S t r i n g ’ , f i l e ) ;986

987 h a n d l e s . f i l e = f i l e ;988 % Update h a n d l e s s t r u c t u r e989 g u i d a t a ( hOb jec t , h a n d l e s ) ;990

991 %c o n f i g s _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h a n d l e s ) ;992

993 N = 5 ;994 [A B] = m t r x g e n _ s i g n a l (N) ;995

996 i f ( h a n d l e s .f l a g == 5)997 [A B s c a l e F MSEA MSEB] = s c a l e F a c t o r (A, B , h a n d l e s . p rec ) ;998 h a n d l e s . s c a l e = s c a l e F ;999 end

1000

1001 h a n d l e s .A = A;1002 h a n d l e s . B = B;1003 h a n d l e s .N = N;1004 h a n d l e s . l n g t h =st r2num( ’ ’ ) ;1005 h a n d l e s . p rec = 10^(−2) ;1006 k b e t a l = d i v i s o r s w i t h o d d r e s u l t (N) ;1007 h a n d l e s . k b e t a l = k b e t a l ;1008 h a n d l e s . k a l p h a l = s i g n s v e c t o r c o e f f s ( k b e t a l ) ;1009

1010 % Update h a n d l e s s t r u c t u r e1011 g u i d a t a ( hOb jec t , h a n d l e s ) ;1012

1013 s e t( h a n d l e s . e d i t 2 , ’ S t r i n g ’ , num2st r( h a n d l e s .N) ) ;1014 s e t( h a n d l e s . e d i t 4 , ’ S t r i n g ’ , num2st r( h a n d l e s . l n g t h ) ) ;1015 s e t( h a n d l e s . e d i t 3 , ’ S t r i n g ’ , num2st r( h a n d l e s . p rec ) ) ;1016

1017 p u s h b u t t o n 1 _ C a l l ba c k ( hOb jec t , e v e n t d a t a , h a n d l e s ) ;1018 s t r 1 = ’ Es te exemplo f o i c o n s t r u do tendo como s i n a l de e n t r a d a pa ra

a n lise um s i n a l ’;1019 s t r 2 = ’ rampa , de 0 a t 1 , com p e r odo fundamen ta l de 0 . 5 , com 1001

amos t ras . Na a n lise f o i c o n s i d e r a d o ’;1020 s t r 3 = ’ a t o q u i n t o h a r m n i c o , sem quebra em b l o c o s . O g r fico na

p a r t e s u p e r i o r ’;1021 s t r 4 = ’ r e p r e s e n t a a s rie de F o u r i e r , e ’;1022 s t r 5 = ’ o g r fico da p a r t e i n f e r i o r r e p r e s e n t a a s rie de F o u r i e r

q u a n t i z a d a . ’;1023 s t r 6 = ’ Caso d e s e j e a l t e r a r as c o n f i g u r a es r e a l i z a r o u t r a s a n lise

com e s t e ’;1024 s t r 7 = ’ mesmo s i n a l , a l t e r e as c o n f i g u r a es c l i c a n d o no b o t o de

c o n f i g u r a es na b a r r a de menu na p a r t e s u p e r i o r ’;

Page 107: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 89

1025 s t r 8 = ’ da j a n e l a . Caso d e s e j e o b t e r os c o e f i c i e n t e s , quer se jam deF o u r i e r , da ’;

1026 s t r 9 = ’ s rie q u a n t i z a da , ou apenas r e a l i z a r uma e s t i m a dosc o e f i c i e n t e s , c l i q u e ’;

1027 s t r 1 0 = ’ no b o t o de a n lise−1D na b a r r a de menu , na p a r t e s u p e r i o rda j a n e l a . ’;

1028 s t r 1 1 = ’O p e r odo c o n s i d e r a d o f o i 0 .5 pa ra que se t o r n a s s e e v i d e n t e ap e i o d i c i d a d e do s i n a l . ’;

1029 msgbox ( s t r c a t ( s t r 1 , s t r 2 , s t r 3 , s t r 4 , s t r 5 , s t r 6 , s t r 7 , s tr 8 , s t r 9 ,s t r 1 0 , s t r 1 1 ) . . .

1030 , ’ I n f o r m a t i v o s o b r e exemplo de s i n a l rampa ’) ;1031

1032 end1033

1034 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−1035 f u n c t i o n seno_Ca l l back ( hOb jec t , e v e n t d a t a , h a n d l e s )1036 % hOb jec t hand le t o seno ( see GCBO)1037 % e v e n t d a t a r e s e r v e d− t o be d e f i n e d i n a f u t u r e v e r s i o n o f MATLAB1038 % h a n d l e s s t r u c t u r e wi th h a n d l e s and u s e r d a t a ( see GUIDATA)1039

1040

1041 f i l e = ’ examples / seno ’;1042

1043 s e t( h a n d l e s . e d i t 1 , ’ S t r i n g ’ , f i l e ) ;1044

1045 h a n d l e s . f i l e = f i l e ;1046 % Update h a n d l e s s t r u c t u r e1047 g u i d a t a ( hOb jec t , h a n d l e s ) ;1048

1049 %c o n f i g s _ C a l l b a c k ( hOb jec t , e v e n t d a t a , h a n d l e s ) ;1050

1051 N = 5 ;1052 [A B] = m t r x g e n _ s i g n a l (N) ;1053

1054 i f ( h a n d l e s .f l a g == 5)1055 [A B s c a l e F MSEA MSEB] = s c a l e F a c t o r (A, B , h a n d l e s . p rec ) ;1056 h a n d l e s . s c a l e = s c a l e F ;1057 end1058

1059 h a n d l e s .A = A;1060 h a n d l e s . B = B;1061 h a n d l e s .N = N;1062 h a n d l e s . l n g t h =st r2num( ’ ’ ) ;1063 h a n d l e s . p rec = 10^(−2) ;1064 k b e t a l = d i v i s o r s w i t h o d d r e s u l t (N) ;1065 h a n d l e s . k b e t a l = k b e t a l ;1066 h a n d l e s . k a l p h a l = s i g n s v e c t o r c o e f f s ( k b e t a l ) ;1067

1068 % Update h a n d l e s s t r u c t u r e1069 g u i d a t a ( hOb jec t , h a n d l e s ) ;1070

1071 s e t( h a n d l e s . e d i t 2 , ’ S t r i n g ’ , num2st r( h a n d l e s .N) ) ;

Page 108: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

90 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

1072 s e t( h a n d l e s . e d i t 4 , ’ S t r i n g ’ , num2st r( h a n d l e s . l n g t h ) ) ;1073 s e t( h a n d l e s . e d i t 3 , ’ S t r i n g ’ , num2st r( h a n d l e s . p rec ) ) ;1074

1075 p u s h b u t t o n 1 _ C a l l ba c k ( hOb jec t , e v e n t d a t a , h a n d l e s ) ;1076 s t r 1 = ’ Es te exemplo f o i c o n s t r u do tendo como s i n a l de e n t r a d a pa ra

a n lise um s i n a l ’;1077 s t r 2 = ’ seno , de 0 a t 2* p i , com 629 amos t ras . Na a n lise f o i

c o n s i d e r a d o ’;1078 s t r 3 = ’ a t o q u i n t o h a r m n i c o , sem quebra em b l o c o s . O g r fico na

p a r t e s u p e r i o r ’;1079 s t r 4 = ’ r e p r e s e n t a a s rie de F o u r i e r , e ’;1080 s t r 5 = ’ o g r fico da p a r t e i n f e r i o r r e p r e s e n t a a s rie de F o u r i e r

q u a n t i z a d a . ’;1081 s t r 6 = ’ Caso d e s e j e a l t e r a r as c o n f i g u r a es r e a l i z a r o u t r a s a n lise

com e s t e ’;1082 s t r 7 = ’ mesmo s i n a l , a l t e r e as c o n f i g u r a es c l i c a n d o no b o t o de

c o n f i g u r a es na b a r r a de menu na p a r t e s u p e r i o r ’;1083 s t r 8 = ’ da j a n e l a . Caso d e s e j e o b t e r os c o e f i c i e n t e s , quer se jam de

F o u r i e r , da ’;1084 s t r 9 = ’ s rie q u a n t i z a da , ou apenas r e a l i z a r uma e s t i m a dos

c o e f i c i e n t e s , c l i q u e ’;1085 s t r 1 0 = ’ no b o t o de a n lise−1D na b a r r a de menu , na p a r t e s u p e r i o r

da j a n e l a . ’;1086 msgbox ( s t r c a t ( s t r 1 , s t r 2 , s t r 3 , s t r 4 , s t r 5 , s t r 6 , s t r 7 , s tr 8 , s t r 9 ,

s t r 1 0 ) . . .1087 , ’ I n f o r m a t i v o s o b r e exemplo de s i n a l seno ’) ;1088

1089 end

2. Função que retorna as matrizesMA−1N eMB−1

N .

1 f u n c t i o n [A B] = m t r x g e n _ s i g n a l ( N )2 %MTRXGEN Retu rn t h e m a t r x i e s MA_N and MB_N used t o o b t a i n t h eF o u r i e r−

l i k e3 %c o e f f i c i e n t s , u s i n g t h e k e r n e l s i g n ( cos ) and s i g n ( s i n ) .4

5 %This f u n c t i o n was c r e a t e d as a p a r t o f S e n i o r P r o j e c t o f6 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e7 %F e d e r a l de Pernambuco , B r a z i l .8

9 %Author : Diego F . G. Coelho10 %September 08 /201211

12 %Change Log :13

14

15 %Requ i rements :16 % 1) The v e c t o r f and t must have t h e same s i z e . Th is r e q u i r e m e nt i s17 % imposed by t h e use o f v e c t o r i z e d p r o d u c t ’ .* ’ .18

19 %S a n i t y check :20 %The i n p u t argumet N must be a non−n e g a t i v e i n t e g e r .

Page 109: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 91

21

22 i f (N < 0)23 d i s p( ’ E r r o r ! There i s no n e g a t i v e f r e q u e n c y . ’) ;24 r e t u r n;25 end26

27 %The m a t r i x o f An , k ’ s and Bn , k ’ s :28

29 A = [ ] ;30 B = [ ] ;31

32 %Wait box33 h = w a i t b a r ( 0 , ’ Por f avo r , espe re , as m a t r i z e s MA_N^{−1} e MB_N^{−1}

e s t o sendo g e r a d a s . . . ’) ;34

35 f o r n = 1 :N36 f o r k = 1 :N37 A( n , k ) = c h i f r a c s i g n ( n , k ) ;38 B( n , k ) = c h i f r a c ( n , k ) ;39 end40 p = n /N;41 w a i t b a r ( p , h ) ;42 end43

44 A = inv (A) ;45 B = inv (B) ;46

47 c l o s e( h ) ;48 end

3. Função que retorna os coeficientes da série de Fourier Quantizada.

1 f u n c t i o n [ coe f fCos c o e f f S i n ] = s f _ s i g n a l _ c o e f f ( f , t , N, A, B)2 %SF_SIGNAL Retu rn t h e F o u r i e r− l i k e s e r i e o f f expanded u s i n g t h e

s i g n a l3 %f u n c t i o n o f s i n and cos f u n c t i o n as k e r n e l f u n c t i o n .4 % D e t a i l e d e x p l a n a t i o n goes he re5 %This f u n c t i o n r e t u r n t h e F o u r i e r− l i k e s e r i e expanded u s i n g t h e s i g n a l6 %f u n c t i o n . The c o e f f i c i e n t s a r e r e t u r n e d i n a m a t r i x which th e l i n e s7 %c o n t a i n t h e c o e f i c i e n t s o f t h e expans ion due t h e s i g n a l ( cos ) and8 %s i g n a l ( s i n ) k e r n e l s , r e s p e c t i v e l y . The9 %i n p u t arguments a r e t h e f u n c t i o n f t o be expanded , t h e t ime ve c t o r t ,

10 %which a r e bo th row v e c t o r s and t h e i n t e g e r harmonic p a r a m e te r N t h a t11 %r e p r e s e n t t h e Nth harmonic i n what t h e r e p r e s e n t a t i o n should be

t r u c a t e d .12 %Also t h e m a t r i x e s A and B t h a t r e p r e s e n t MA_N^(−1) and MB_N^(−1)13 %r e s p e c t i v e l y , a r e a passed by as i n p u t a rguments .14

15 %This f u n c t i o n s was c r e a t e d as a p a r t o f S e n i o r P r o j e c t o f16 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e17 %F e d e r a l de Pernambuco , B r a z i l .18

Page 110: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

92 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

19 %Author : Diego F . G. Coelho20 %June 04 /201221

22 %Change Log :23 %August 30 /2012 : I t does no t work . T h e o r e t i c a l e r r o r s .24 %September 06 /2012 : T h e o r e t i c a l e r r o s c o r r e c t e d . I t i s work ing p r o p e r l y

.25

26 %Requ i rements :27 % 1) The v e c t o r f and t must have t h e same s i z e . Th is r e q u i r e m e nt i s28 % imposed by t h e use o f v e c t o r i z e d p r o d u c t ’ .* ’ .29

30 %S a n i t y check :31 %V e r i f y i f N i s g r e a t e r i s p o s i t i v e . N can be zero , i t means t h at t h e

u s e r32 %i s i n t e r e s t e d i n t h e mean .33

34 i f (N < 0)35 d i s p( ’ E r r o r ! There i s no n e g a t i v e f r e q u e n c y . ’) ;36 r e t u r n;37 end38

39 %The c o e f f c i e n t s v e c t o r due s i n g a l ( cos ) adn s i g n a l ( s i n ) r ep e c t i v e l y :40 coe f fCos = [ ] ;41 c o e f f S i n = [ ] ;42

43 %The i n n e r p r o d u c t v a l u e s :44 f s i g n c o s = [ ] ;45 f s i g n s i n = [ ] ;46

47 %The fundamen ta l f r e q u e n c y :48 omega_0 = 2* ( p i / ( t ( end)− t ( 1 ) ) ) ;49

50 %Frequency−t ime p r o d u c t :51 f r e q _ t i m e = omega_0 .* t ;52

53 %This c a l c u l a t i o n o f i n n e r p r o d u c t use t h e d e f i n i t i o n g i venby D. F .Souza ,

54 %R . C i n t r a and de O l i v e i r a . Observe t h a t i t i s m u l t i p l i e d by 1/T ,where T i s

55 %t h e fundamen ta l pe r iod , no t by 2 /T .56

57 %Wait box58 h = w a i t b a r ( 0 , ’ Por f avo r , espe re , os c o e f i c i e n t e s e s t o sendo

c a l c u l a d o s . . . ’) ;59

60 %These a r e column v e c t o r s .61 f o r k = 1 :N62 f s i g n c o s = [ f s i g n c o s ; t r a p z( t , f . * s i g n( cos( k . * f r e q _ t i m e ) ) ) ] ;63 f s i g n s i n = [ f s i g n s i n ; t r a p z( t , f . * s i g n( s i n ( k . * f r e q _ t i m e ) ) ) ] ;64 %Wait box65 p = k /N;

Page 111: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 93

66 w a i t b a r ( p , h ) ;67 end68

69 f s i g n c o s = ( omega_0 / ( 2* p i ) ) * f s i g n c o s ;70 f s i g n s i n = ( omega_0 / ( 2* p i ) ) * f s i g n s i n ;71

72 %This s o l v e t h e l i n e a r sys tem i n o r d e r t o f i n d t h e f o u r i e r− l i k ec o e f f c i e n t s

73 %u s i n g t h e base s i g n ( . )74 coe f fCos = (A* f s i g n c o s ) ’ ;75 %This i n c l u d e t h e 0 t h harmonic .76 coe f fCos = [ ( omega_0 / ( 2* p i ) ) * t r a p z( t , f ) , coe f fCos ] ;77 %coe f fCos = [ ( omega_0 / ( 2* p i ) ) * t r a p z ( t , f ) , f s i g n c o s ’ ] ;78

79 c o e f f S i n = (B* f s i g n s i n ) ’ ;80 %This i n c l u d e t h e 0 t h harmonic .81 c o e f f S i n = [ 0 , c o e f f S i n ] ;82 %c o e f f S i n = [ 0 , f s i g n s i n ’ ] ;83

84 c l o s e( h ) ;85

86 end

4. Função que retorna os coeficientes da série de Fourier Aproximada.

1 f u n c t i o n [ coe f fCos c o e f f S i n ] = s i g 2 s f _ c o e f f ( coe f fS igCos ,c o e f f S i g S i n )

2 %SIG2SF Summary o f t h i s f u n c t i o n goes he re3 % D e t a i l e d e x p l a n a t i o n goes he re4 %This f u n c t i o n per fo rm t h e c o n v e r t i o n from t h e c o e f f c i e n t so f F o u r i e r−

l i k e5 %s e r i e u s i n g s i g n ( cos ) and s i g n ( s i n ) f u n c t i o n s as k e r n e l t oF o u r i e r6 %s e r i e c o e f f i c i e n t s . The i n p u t arguments coe f fS igCos and co e f f S i g S i n

a r e row7 %v e c t o r which c o n t a i n t h e c o e f f i c i e n t s o f F o u r i e r− l i k e s e r i e u s i n g8 %s i g n ( cos ) and s i g n ( s i n ) f u n c t i o n s as ke rne l , r e s p e c t i v e ly , and

coe f fCos9 %and c o e f f S i n a r e row v e c t o r s which c o n t a i n s t h e F o u r i e r c o ef f i c i e n t s

u s i n g10 %cos and s i n f u n c t i o n s as k e r n e l .11

12 %This f u n c t i o n s was c r e a t e d as a p a r t o f S e n i o r P r o j e c t o f13 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e14 %F e d e r a l de Pernambuco , B r a z i l .15

16 %Author : Diego F . G. Coelho17 %June 04 /201218

19 %Change Log :20 %June 04 /2012 : I t does no t work p r o p e r l y .21 %September 06 /2012 : The prob lem was due t h e o r e t i c a l p rob lems . I t i s

f i x e d .

Page 112: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

94 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

22 %I t i s work ing p r o p e r l y .23

24 %S a n i t y check :25 %The c o e f f i c i e n t s must have t h e same l e n g t h26

27 i f ( l e n g t h( coe f fS igCos ) ~=l e n g t h( c o e f f S i g S i n ) )28 d i s p( ’ E r r o r ! The c o e f f c i e n t s v e c t o r must have t h e same l e n g t h . ’) ;29 r e t u r n;30 end31

32 %The c o e f f i c i e n t s o f F o u r i e r s e r i e :33 coe f fCos = [ ] ;34 c o e f f S i n = [ ] ;35

36 %Wait box37 h = w a i t b a r ( 0 , ’ Por f avo r , espe re , os c o e f i c i e n t e s e s t o sendo

c o n v e r t i d o s . . . ’) ;38

39 f o r k = 1 : ( l e n g t h( coe f fS igCos )−1)40 a_k = 0 ;41 b_k = 0 ;42 f o r n = 1 : k43 i f (mod ( k , n ) ==0)44 i f ( mod ( k / n , 2 ) ==1)45 f r a c = k / n ;46 a_k = a_k + coe f fS igCos ( n +1)* ( ( (−1) ^ ( ( f r a c−1) / 2 ) ) / f r a c

) ;47 b_k = b_k + c o e f f S i g S i n ( n +1) / f r a c ;48 end49 end50 end51 coe f fCos = [ coe f fCos , a_k ] ;52 c o e f f S i n = [ c o e f f S i n , b_k ] ;53 %Wait box54 p = k / ( l e n g t h( coe f fS igCos )−1) ;55 w a i t b a r ( p , h ) ;56 end57

58 coe f fCos = ( 4 /p i ) . * coe f fCos ;59 c o e f f S i n = ( 4 /p i ) . * c o e f f S i n ;60

61 %The mean v a l u e i s t h e same and t h e f i r s t v a l u e wi th r e s p e c t t os i n i s62 %always ze ro :63

64 coe f fCos = [ coe f fS igCos ( 1 ) , coe f fCos ] ;65 c o e f f S i n = [ c o e f f S i g S i n ( 1 ) , c o e f f S i n ] ;66 c l o s e( h ) ;67 end

5. Função que retorna a representação de um sinal em série de Fourier clássica usandoblocos de curto comprimento.

Page 113: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 95

1 f u n c t i o n f _ s f = s m a l l b l o c k l e n g t h s f ( f , t , N, l n g t h )2 %SMALLBLOCKLENGTHSF c a l c u l a t e t h e F o u r i e r S e r i e o f a f u n c ti o n f ( t )

w i th N3 %harmon ics b r e a k i n g t h e sequence i n s m a l l b l o c k s o f l e n g t h ln g t h .4

5 %This f u n c t i o n s was c r e a t e d as a p a r t o f S e n i o r P r o j e c t o f6 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e7 %F e d e r a l de Pernambuco , B r a z i l .8

9 %Author : Diego F . G. Coelho10 %Sep 25/201211

12 %S a n i t y Check :13 %1) The i n p u t a r f umen t l n g t h must be g r e a t e r than ze ro14 i f ( l n g t h <= 0)15 d i s p( ’ E r r o r " Te i n p u t argument l n g h t must be g r e a t e r than ze ro . ’) ;16 r e t u r n;17 end18

19 Nblocks = f l o o r ( l e n g t h( f ) / l n g t h ) ;20

21 f _ s f = [ ] ;22

23 %Wait box24 h = w a i t b a r ( 0 , ’ Por f avo r , espe re , a s rie de F o u r i e r e s t sendo

c a l c u l a d a em b l o c o s . . . ’) ;25

26 f o r i = 1 : Nblocks−127 [ coe f fCos c o e f f S i n ] = s f _ c o e f f _ n w a i t b a r ( f ( ( i−1)* l n g t h +1 : i* l n g t h ) , t

( ( i −1)* l n g t h +1 : i* l n g t h ) , N) ;28 f _ s f = [ f _ s f , s f ( coe f fCos , c o e f f S i n , t ( ( i−1)* l n g t h +1 : i* l n g t h ) ) ] ;29 %Wait box30 p = i / Nblocks ;31 w a i t b a r ( p , h ) ;32 end33

34 [ coe f fCos c o e f f S i n ] = s f _ c o e f f _ n w a i t b a r ( f ( ( Nblocks−1)* l n g t h +1 :end) , t( ( Nblocks−1)* l n g t h +1 :end) , N) ;

35 f _ s f = [ f _ s f , s f ( coe f fCos , c o e f f S i n , t ( ( Nblocks−1)* l n g t h +1 :end) ) ] ;36 c l o s e( h ) ;

6. Função que retorna a representação de um sinal em série de Fourier Quantizada usandoblocos de curto comprimento.

1 f u n c t i o n f _ s f = s m a l l b l o c k l e n g t h s i g n a l ( f , t , N, l ng th , A, B)2 %SMALLBLOCKLENGTHSIGNAL c a l c u l a t e t h e F o u r i e r l i k e−S e r i e o f a f u n c t i o n

f ( t )3 %wi th N harmon ics b r e a k i n g t h e sequence i n s m a l l b l o c k s o f l en g t h

l n g t h4 %u s i n g t h e s i g n k e r n e l .5

Page 114: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

96 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

6 %This f u n c t i o n s was c r e a t e d as a p a r t o f S e n i o r P r o j e c t o f7 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e8 %F e d e r a l de Pernambuco , B r a z i l .9

10 %Author : Diego F . G. Coelho11 %Sep 25/201212

13 %S a n i t y Check :14 %1) The i n p u t argument l n g t h must be g r e a t e r than ze ro15 i f ( l n g t h <= 0)16 d i s p( ’ E r r o r " Te i n p u t argument l n g h t must be g r e a t e r than ze ro . ’) ;17 r e t u r n;18 end19

20 Nblocks = f l o o r ( l e n g t h( f ) / l n g t h ) ;21

22 f _ s f = [ ] ;23

24 %Wait box25 h = w a i t b a r ( 0 , ’ Por f avo r , espe re , a s rie q u a n t i z a d a e s t sendo

c a l c u l a d a em b l o c o s . . . ’) ;26

27 f o r i = 1 : ( Nblocks−1)28 [ coe f fS igCos c o e f f S i g S i n ] = s f _ s i g n a l _ c o e f f _ n w a i t b a r ( f( ( i −1)* l n g t h

+1 : i * l n g t h ) , t ( ( i−1)* l n g t h +1 : i* l n g t h ) , N, A, B) ;29 f _ s f = [ f _ s f , s f ( coe f fS igCos , c o e f f S i g S i n , t ( ( i−1)* l n g t h +1 : i* l n g t h )

) ] ;30 %Wait box31 p = i / Nblocks ;32 w a i t b a r ( p , h ) ;33 end34

35 [ coe f fS igCos c o e f f S i g S i n ] = s f _ s i g n a l _ c o e f f _ n w a i t b a r ( f( ( Nblocks−1)*l n g t h +1 :end) , t ( ( Nblocks−1)* l n g t h +1 :end) , N, A, B) ;

36 f _ s f = [ f _ s f , s f ( coe f fS igCos , c o e f f S i g S i n , t ( ( Nblocks−1)* l n g t h +1 :end) )] ;

37

38 c l o s e( h ) ;

7. Função que retorna a representação de um sinal em série de Fourier Aproximada usandoblocos de curto comprimento.

1 f u n c t i o n f _ s f = s m a l l b l o c k l e n g t h s i g n a l s f ( f , t , N, l ng th , A, B)2 %SMALLBLOCKLENGTHSIGNALSF c a l c u l a t e t h e F o u r i e r S e r i e o fa f u n c t i o n f (

t )3 %wi th N harmon ics b r e a k i n g t h e sequence i n s m a l l b l o c k s o f l en g t h

l n g t h4 %u s i n g t h e s i g n k e r n e l .5

6 %This f u n c t i o n s was c r e a t e d as a p a r t o f S e n i o r P r o j e c t o f7 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e8 %F e d e r a l de Pernambuco , B r a z i l .

Page 115: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 97

9

10 %Author : Diego F . G. Coelho11 %Sep 25/201212

13 %S a n i t y Check :14 %1) The i n p u t a r f umen t l n g t h must be g r e a t e r than ze ro15 i f ( l n g t h <= 0)16 d i s p( ’ E r r o r " The i n p u t argument l n g h t must be g r e a t e r than ze ro . ’)

;17 r e t u r n;18 end19

20 Nblocks = f l o o r ( l e n g t h( f ) / l n g t h ) ;21

22 coe f fCos = [ ] ;23 c o e f f S i n = [ ] ;24

25 f _ s f = [ ] ;26

27 %Wait box28 h = w a i t b a r ( 0 , ’ Por f avo r , espe re , a s rie de F o u r i e r aprox imada e s t

sendo c a l c u l a d a em b l o c o s . . . ’) ;29

30 f o r i = 1 : Nblocks−131 [ coe f fS igCos c o e f f S i g S i n ] = s f _ s i g n a l _ c o e f f _ n w a i t b a r ( f( ( i −1)* l n g t h

+1 : i * l n g t h ) , t ( ( i−1)* l n g t h +1 : i* l n g t h ) , N, A, B) ;32 [ coe f fCos c o e f f S i n ] = s i g 2 s f _ c o e f f _ n w a i t b a r ( coe f fS igCos ,

c o e f f S i g S i n ) ;33 f _ s f = [ f _ s f , s f ( coe f fCos , c o e f f S i n , t ( ( i−1)* l n g t h +1 : i* l n g t h ) ) ] ;34 %Wait box35 p = i / Nblocks ;36 w a i t b a r ( p , h ) ;37 end38

39 [ coe f fS igCos c o e f f S i g S i n ] = s f _ s i g n a l _ c o e f f _ n w a i t b a r ( f( ( Nblocks−1)*l n g t h +1 :end) , t ( ( Nblocks−1)* l n g t h +1 :end) , N, A, B) ;

40 [ coe f fCos c o e f f S i n ] = s i g 2 s f _ c o e f f ( coe f fS igCos , c o e f f S ig S i n ) ;41 f _ s f = [ f _ s f , s f ( coe f fCos , c o e f f S i n , t ( ( Nblocks−1)* l n g t h +1 :end) ) ] ;42 c l o s e( h ) ;

8. Função que retorna os coeficientes da série de Fourier clássica usando blocos de curtocomprimento.

1 f u n c t i o n [ coe f fCos c o e f f S i n ] = s m a l l b l o c k l e n g t h s f c o e f f ( f , t , N,l ng th , A, B )

2 %SMALLBLOCKLENGTHSFCOEFF c a l c u l a t e t h e F o u r i e r s e r i e c o ef f i c i e n t s o f a3 %f u n c t i o n f ( t ) w i th N harmon ics b r e a k i n g t h e sequence i n s m al l b l o c k s

o f4 %l e n g t h l n g t h .5

6 %This f u n c t i o n s was c r e a t e d as a p a r t o f S e n i o r P r o j e c t o f7 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e

Page 116: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

98 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

8 %F e d e r a l de Pernambuco , B r a z i l .9

10 %Author : Diego F . G. Coelho11 %Oct 18 /201212

13 %S a n i t y Check :14 %1) The i n p u t a r f umen t l n g t h must be g r e a t e r than ze ro15 i f ( l n g t h <= 0)16 d i s p( ’ E r r o r " Te i n p u t argument l n g h t must be g r e a t e r than ze ro . ’) ;17 r e t u r n;18 end19

20 Nblocks = f l o o r ( l e n g t h( f ) / l n g t h ) ;21

22 coe f fCos = [ ] ;23 c o e f f S i n = [ ] ;24

25 f o r i = 1 : ( Nblocks−1)26 [ coef fCosAux coef fS inAux ] = s f _ c o e f f ( f ( ( i−1)* l n g t h +1 : i* l n g t h ) , t ( ( i

−1)* l n g t h +1 : i* l n g t h ) , N) ;27 coe f fCos = [ coe f fCos ; coef fCosAux ] ;28 c o e f f S i n = [ c o e f f S i n ; coe f fS inAux ] ;29 end30

31 [ coef fCosAux coef fS inAux ] = s f _ c o e f f ( f ( ( Nblocks−1)* l n g t h +1 :end) , t ( (Nblocks−1)* l n g t h +1 :end) , N) ;

32 coe f fCos = [ coe f fCos ; coef fCosAux ] ;33 c o e f f S i n = [ c o e f f S i n ; coe f fS inAux ] ;34

35 coe f fCos = mean( coe f fCos ) ;36 c o e f f S i n = mean( c o e f f S i n ) ;

9. Função que retorna os coeficientes da série de Fourier Quantizada usando blocos de curtocomprimento.

1 f u n c t i o n [ coe f fS igCos c o e f f S i g S i n ] = s m a l l b l o c k l e n g t h s i g n a l c o e ff ( f ,t , N, l ng th , A, B )

2 %SMALLBLOCKLENGTHSIGNALCOEFF c a l c u l a t e t h e F o u r i e r− l i k e s e r i ec o e f f i c i e n t s

3 %of a f u n c t i o n f ( t ) w i th N harmon ics b r e a k i n g t h e sequence i ns m a l lb l o c k s

4 %of l e n g t h lng th , based on t h e base s i g n ( . ) .5

6 %This f u n c t i o n s was c r e a t e d as a p a r t o f S e n i o r P r o j e c t o f7 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e8 %F e d e r a l de Pernambuco , B r a z i l .9

10 %Author : Diego F . G. Coelho11 %Oct 18 /201212

13 %S a n i t y Check :14 %1) The i n p u t argument l n g t h must be g r e a t e r than ze ro

Page 117: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 99

15 i f ( l n g t h <= 0)16 d i s p( ’ E r r o r " Te i n p u t argument l n g h t must be g r e a t e r than ze ro . ’) ;17 r e t u r n;18 end19

20 Nblocks = f l o o r ( l e n g t h( f ) / l n g t h ) ;21

22 coe f fS igCos = [ ] ;23 c o e f f S i g S i n = [ ] ;24

25 f o r i = 1 : ( Nblocks−1)26 [ coe f fS igCosAux coe f fS igS inAux ] = s f _ s i g n a l _ c o e f f ( . . .27 f ( ( i −1)* l n g t h +1 : i* l n g t h ) , t ( ( i−1)* l n g t h +1 : i* l n g t h ) , N, A, B) ;28 coe f fS igCos = [ coe f fS igCos ; coe f fS igCosAux ] ;29 c o e f f S i g S i n = [ c o e f f S i g S i n ; coe f fS igS inAux ] ;30

31 end32

33 [ coe f fS igCosAux coe f fS igS inAux ] = s f _ s i g n a l _ c o e f f ( . . .34 f ( ( Nblocks−1)* l n g t h +1 :end) , t ( ( Nblocks−1)* l n g t h +1 :end) , N, A, B) ;35 coe f fS igCos = [ coe f fS igCos ; coe f fS igCosAux ] ;36 c o e f f S i g S i n = [ c o e f f S i g S i n ; coe f fS igS inAux ] ;37

38 coe f fS igCos = mean( coe f fS igCos ) ;39 c o e f f S i g S i n = mean( c o e f f S i g S i n ) ;

10. Função que retorna os coeficientes da série de Fourier Aproximada usando blocos decurto comprimento.

1 f u n c t i o n [ coe f fCos c o e f f S i n ] = s m a l l b l o c k l e n g t h s i g n a l s f c o e f f ( f ,t , N, l ng th , A, B )

2 %SMALLBLOCKLENGTHSIGNALSFCOEFF c a l c u l a t e t h e F o u r i e r s er i ec o e f f i c i e n t s o f

3 %a f u n c t i o n f ( t ) w i th N harmon ics b r e a k i n g t h e sequence i n s ma l lb l o c k s o f

4 %l e n g t h l n g t h u s i n g t h e s i g n k e r n e l .5

6 %This f u n c t i o n s was c r e a t e d as a p a r t o f S e n i o r P r o j e c t o f7 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e8 %F e d e r a l de Pernambuco , B r a z i l .9

10 %Author : Diego F . G. Coelho11 %Oct 18 /201212

13 %S a n i t y Check :14 %1) The i n p u t a r f umen t l n g t h must be g r e a t e r than ze ro15 i f ( l n g t h <= 0)16 d i s p( ’ E r r o r " Te i n p u t argument l n g h t must be g r e a t e r than ze ro . ’) ;17 r e t u r n;18 end19

20 Nblocks = f l o o r ( l e n g t h( f ) / l n g t h ) ;

Page 118: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

100 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

21

22 coe f fCos = [ ] ;23 c o e f f S i n = [ ] ;24

25 f o r i = 1 : ( Nblocks−1)26 [ coe f fS igCos c o e f f S i g S i n ] = s f _ s i g n a l _ c o e f f ( f ( ( i−1)* l n g t h +1 : i* l n g t h

) , . . .27 t ( ( i −1)* l n g t h +1 : i* l n g t h ) , N, A, B) ;28 [ coef fCosAux coef fS inAux ] = s i g 2 s f _ c o e f f ( coe f fS igCos , co e f f S i g S i n ) ;29 coe f fCos = [ coe f fCos ; coef fCosAux ] ;30 c o e f f S i n = [ c o e f f S i n ; coe f fS inAux ] ;31 end32

33 [ coe f fS igCos c o e f f S i g S i n ] = s f _ s i g n a l _ c o e f f ( f ( ( Nblocks−1)* l n g t h +1 :end), . . .

34 t ( ( Nblocks−1)* l n g t h +1 :end) , N, A, B) ;35 [ coef fCosAux coef fS inAux ] = s i g 2 s f _ c o e f f ( coe f fS igCos , co e f f S i g S i n ) ;36 coe f fCos = [ coe f fCos ; coef fCosAux ] ;37 c o e f f S i n = [ c o e f f S i n ; coe f fS inAux ] ;38

39 coe f fCos = mean( coe f fCos ) ;40 c o e f f S i n = mean( c o e f f S i n ) ;

11. Função que retorna os coeficientes da série de Fourier Aproximada escalonados usandoblocos de curto comprimento.

1 f u n c t i o n [ coe f fCos c o e f f S i n ] = s m a l l b l o c k l e n g t h s i g n a l s f c o e f f d e te c t i o n( f , . . .

2 t , N, l ng th , A, B , k a l p h a l , k b e t a l , m u l t i p l i e r s )3 %SMALLBLOCKLENGTHSIGNALSFCOEFFDETECTION e s t i m a t e t h e es c a l e d F o u r i e r

s e r i e4 %c o e f f i c i e n t s o f a f u n c t i o n f ( t ) w i th N harmon ics b r e a k i n g th e

sequence i n5 %s m a l l b l o c k s o f l e n g t h l n g t h u s i n g t h e s i g n k e r n e l .6

7 %This f u n c t i o n s was c r e a t e d as a p a r t o f S e n i o r P r o j e c t o f8 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e9 %F e d e r a l de Pernambuco , B r a z i l .

10

11 %Author : Diego F . G. Coelho12 %Nov 13/201213

14 %S a n i t y Check :15 %1) The i n p u t a r f umen t l n g t h must be g r e a t e r than ze ro16 i f ( l n g t h <= 0)17 d i s p( ’ E r r o r " Te i n p u t argument l n g h t must be g r e a t e r than ze ro . ’) ;18 r e t u r n;19 end20

21 Nblocks = f l o o r ( l e n g t h( f ) / l n g t h ) ;22

23 coe f fCos = [ ] ;

Page 119: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 101

24 c o e f f S i n = [ ] ;25

26 f o r i = 1 : ( Nblocks−1)27 [ coe f fS igCos c o e f f S i g S i n ] = s f _ s i g n a l _ c o e f f ( f ( ( i−1)* l n g t h +1 : i* l n g t h

) , . . .28 t ( ( i −1)* l n g t h +1 : i* l n g t h ) , N, A, B) ;29 [ coef fCosAux coef fS inAux ] = s i g 2 s f _ c o e f f _ a l t _ d e t e c t i o n( coe f fS igCos

, . . .30 c o e f f S i g S i n , k a l p h a l , k b e t a l , m u l t i p l i e r s ) ;31 coe f fCos = [ coe f fCos ; coef fCosAux ] ;32 c o e f f S i n = [ c o e f f S i n ; coe f fS inAux ] ;33 end34

35 [ coe f fS igCos c o e f f S i g S i n ] = s f _ s i g n a l _ c o e f f ( f ( ( Nblocks−1)* l n g t h +1 :end), . . .

36 t ( ( Nblocks−1)* l n g t h +1 :end) , N, A, B) ;37 [ coef fCosAux coef fS inAux ] = s i g 2 s f _ c o e f f _ a l t _ d e t e c t i o n( coe f fS igCos ,

c o e f f S i g S i n , . . .38 k a l p h a l , k b e t a l , m u l t i p l i e r s ) ;39 coe f fCos = [ coe f fCos ; coef fCosAux ] ;40 c o e f f S i n = [ c o e f f S i n ; coe f fS inAux ] ;41

42 coe f fCos = mean( coe f fCos ) ;43 c o e f f S i n = mean( c o e f f S i n ) ;

12. Função que retorna as quantidadesN!/k para escalonamento e cômputo a priori doscoeficientesα(k/n−1)/2.

1 f u n c t i o n d i v i s o r s = d i v i s o r s w i t h o d d r e s u l t ( v )2 %DIVISORS r e t u r n s a c e l l a r r a y i n which each e lemen t i s a row ve c t o r

whose3 %elemen ts a r e t h e d i v i s o r s o f t h e index o f t h e each row v e c t o ri n t h e

c e l l4 %a r r a y which r e s u l t i n a odd number .5

6

7

8 %This f u n c t i o n s was c r e a t e d as a p a r t o f S e n i o r P r o j e c t o f9 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e

10 %F e d e r a l de Pernambuco , B r a z i l .11

12 %Author : Diego F . G. Coelho13 %Oct 18 /201214

15 %Change Log :16 %Oct 18 /2012 : Change t h e f u n c t i o n name from d i v i s o r s t o17 %d i v i s o r s w i t h o d d r e s u l t . Th is b e s t d e c r i b e t h e r o l e per fo rmed by t h i s18 %f u n c t i o n w i t h i n t h e s i m u l a t i o n s and s p e c t r a l a n a l y z e r .19

20 %S a n i t y check :21 %Ensure t h a t t h e i n p u t argument v i s a i n t e g e r number22 v = round( v ) ;

Page 120: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

102 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

23

24 %The o u t p u t argument25 d i v i s o r s = { } ;26

27 f o r i = 1 : v28 aux = [ ] ;29 f o r k = 1 : i30 i f (mod ( i , k ) == 0)31 i f ( mod ( i / k , 2 ) == 1)32 aux = [ aux , k ] ;33 end34 end35 end36 d i v i s o r s { i } = aux ;37 end38

39 end

13. Função que retorna as quantidadesN!/k(−1)(k/n−1)/2 para escalonamento dos coefici-entesβ(k/n−1)/2.

1 f u n c t i o n s i g n s v e c t o r c o e f f s = s i g n s v e c t o r c o e f f s ( d i v )2 %SIGNSVECTORCOEFFS r e t u r n a c e l l a r r a y i n which each e lement i s a row3 %v e c t o r whose e lemen ts a r e t h e d i v i s o r s o f t h e index o f t h e each row

v e c t o r4 %i n t h e c e l l a r r a y which r e s u l t i n a odd number . The v a l u e s o f each

e lemen t5 %of each row v e c t o r i s pondered by a (−1) ^ ( k / n−1) , where k i s t h e

p o s i t i o n6 %of t h e row v e c t o r i n t h e c e l l a r r a y and n i s t h e p o s s i t i o n o f t he

e lemen t7 %i n t h e row v e c t o r .8

9 %The o u t p u t c o r r e s p o n d t o t h e b e t a c o e f f i c i e n t s used t o compute t h eF o u r i e r

10 %c o e f f i i c e n t s e s c a l e d by a f a c t o r k , where k i s a t h e index p o si t i o no f

11 %t h e row v e c t o r i n t h e c e l l a r r a y .12

13 %This f u n c t i o n s was c r e a t e d as a p a r t o f S e n i o r P r o j e c t o f14 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e15 %F e d e r a l de Pernambuco , B r a z i l .16

17 %Author : Diego F . G. Coelho18 %Oct 18 /201219

20 %Change Log :21 %Oct 18 /2012 : Change t h e f u n c t i o n name from d i v i s o r s t o22 %d i v i s o r s w i t h o d d r e s u l t . Th is b e s t d e c r i b e t h e r o l e per fo rmed by t h i s23 %f u n c t i o n w i t h i n t h e s i m u l a t i o n s and s p e c t r a l a n a l y z e r .24

25 %S a n i t y check :

Page 121: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE 103

26 %There i s no need27

28 l e n = l e n g t h( d i v ) ;29

30 s i g n s v e c t o r c o e f f s = { } ;31

32 f o r i = 1 : l e n33 s i g n s v e c t o r c o e f f s { i } = d i v { i } .* ( −1) . ^ ( ( i . / d i v { i } −1) / 2 ) ;34 end35

36

37 end

14. Função que retorna os coeficientes da série de Fourier Aproximada escalonados.

1 f u n c t i o n [ coe f fCos c o e f f S i n ] = s i g 2 s f _ c o e f f _ a l t _ d e t e c t i o n (coe f fS igCos , c o e f f S i g S i n , k a l p h a l , k b e t a l , m u l t i p l i e r s )

2 %SIG2SF Summary o f t h i s f u n c t i o n goes he re3 % D e t a i l e d e x p l a n a t i o n goes he re4 %This f u n c t i o n per fo rm t h e c o n v e r t i o n from t h e c o e f f c i e n t so f F o u r i e r−

l i k e5 %s e r i e u s i n g s i g n ( cos ) and s i g n ( s i n ) f u n c t i o n s as k e r n e l t oF o u r i e r6 %s e r i e c o e f f i c i e n t s . The i n p u t arguments coe f fS igCos and co e f f S i g S i n

a r e row7 %v e c t o r which c o n t a i n t h e c o e f f i c i e n t s o f F o u r i e r− l i k e s e r i e u s i n g8 %s i g n ( cos ) and s i g n ( s i n ) f u n c t i o n s as ke rne l , r e s p e c t i v e ly , and

coe f fCos9 %and c o e f f S i n a r e row v e c t o r s which c o n t a i n s t h e F o u r i e r c o ef f i c i e n t s

u s i n g10 %cos and s i n f u n c t i o n s as k e r n e l . The i n p u t arguments k a l p h al and

k b e t a l11 %r e p r e s e n t t h e a l p h a and b e t a c o e f f i c i e n t s e s c a l e d by k usedt o

compute t h e12 %F o u r i e r s e r i e s c o e f f i c i e n t s . In o r d e r t o compute i t c o r r e ct l y , t h e13 %c o e f f i c i e n t s ka lpha and k b e t a must be d i v i d e d by k , as done in t h i s

code .14 %Due t h e f a c t t h a t t h e c o e f f i c i e n t s ka lpha and k b e t a do no t depende on

t h e15 %i n p u t s i g n a l t h a t i s be ing ana lyzed , they may be c a l c u l a t e d

p r e v i o u s l y16 %d u r i n g t h e c o f i g u r a t i o n p r o c e d u r e s . The i p u t argument m u lt i p l i e r s s a

row17 %v e c t o r con ta ing , a t i ndex n , t h e p r o d u t c between a l l n a t u r al number

from 118 %t o N ( harmon ics ) , e x c e p t n . Th is i s used t o keep t h e p r o p o r c io n a l i t y19 %between t h e c o e f f i c i e n t s .20

21 %This f u n c t i o n s was c r e a t e d as a p a r t o f S e n i o r P r o j e c t o f22 %t h e au tho r , E l e c t r o n i c s E n g i n e e r i n g s t u d e n t a t U n i v e r s i da d e23 %F e d e r a l de Pernambuco , B r a z i l .24

25 %Author : Diego F . G. Coelho

Page 122: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

104 APÊNDICE B CÓDIGOS E FUNÇÕES USADAS PARA A IMPLEMENTAÇÃO DO SOFTWARE

26 %Oct 18 /201227

28 %Change Log :29

30 %S a n i t y check :31 %The c o e f f i c i e n t s must have t h e same l e n g t h32

33 i f ( l e n g t h( coe f fS igCos ) ~=l e n g t h( c o e f f S i g S i n ) )34 d i s p( ’ E r r o r ! The c o e f f c i e n t s v e c t o r must have t h e same l e n g t h . ’) ;35 r e t u r n;36 end37

38 %The c o e f f i c i e n t s o f F o u r i e r s e r i e :39 coe f fCos = [ ] ;40 c o e f f S i n = [ ] ;41

42 f o r k = 1 : ( l e n g t h( coe f fS igCos )−1)43 coe f fCos = [ coe f fCos , m u l t i p l i e r s ( k )* do t ( coe f fS igCos (1+ k b e t a l {k } ) ,

k a l p h a l {k } ) ] ;44 c o e f f S i n = [ c o e f f S i n , m u l t i p l i e r s ( k )* do t ( c o e f f S i g S i n (1+ k b e t a l {k } ) ,

k b e t a l {k } ) ] ;45 end46

47 %The mean v a l u e i s t h e same and t h e f i r s t v a l u e wi th r e s p e c t t os i n i s48 %always ze ro :49

50 %M u l t i p l y by p i /4* M, M = m u l t i p l i e r s ( end )* l e n g t h ( coe f fCos ) , avo id51 %d i s c r e p a n c y a t t h e ze ro f r e q u e n c y component . F o r t u n a t e l ly M i s e q u a l s

t o52 %t h e f a c t o r i a l (N−1) , where N i s t h e t o t a l ( i n c l u d i n g 0) number o f53 %harmonics , s i n c e l e n g t h ( coe f fCos ) i s t h e number o f harmonics (

e x c e p t i n g 0) .54 p = ( p i / 4 ) * ( m u l t i p l i e r s (end) * l e n g t h( coe f fCos ) ) ;55

56 coe f fCos = [ p* coe f fS igCos ( 1 ) , coe f fCos ] ;57 c o e f f S i n = [ p* c o e f f S i g S i n ( 1 ) , c o e f f S i n ] ;58

59 end

Page 123: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE C

Apêndice de Imagens do Software Produzido

Figura C.1 Imagem do Analisador de Espectro ao ser iniciado.

105

Page 124: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

106 APÊNDICE C APÊNDICE DE IMAGENS DO SOFTWARE PRODUZIDO

Figura C.2 Imagem do Analisador de Espectro ao ser usado no modo sem comparação.

Figura C.3 Imagem do Analisador de Espectro ao ser configurado.

Figura C.4 Imagem do Analisador de Espectro analisando um sinal rampa com 5 harmônicos.

Page 125: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE C APÊNDICE DE IMAGENS DO SOFTWARE PRODUZIDO 107

Figura C.5 Imagem do Analisador de Espectro um sinal parabólico com 5 harmônicos.

Figura C.6 Imagem do Analisador de Espectro um sinal gaussiano com 5 harmônicos.

Page 126: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações
Page 127: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE D

Aplicações da Série de Fourier em EquaçõesDiferenciais

A série de Fourier surgiu com o estudo de ondas de calor feito Joseph Fourier (1768-1830)publicado inicialmente emMémoire sur la propagation de la chaleur dans les corps solides(Tratado da propagação de calor em corpos rígidos) em 1807 eThéorie analytique de la cha-leur (Teoria analítica do calor) em 1822 [17]. Embora a série de Fourier tenha sido motivadaoriginalmente pelo estudo da resolução da equação do calor,ficou evidente posteriormente queas mesmas técnicas poderiam ser aplicadas a uma grande variedade de problemas matemáticose físicos, especialmente aqueles envolvendo equações diferenciais ordinárias com coeficien-tes constantes, para a qual as soluções envolvam ondas sinusoidais. Dentre essas aplicações,podemos citar [16]:

1. Vibração em cordas tensionadas;

2. Vibrações em membranas;

3. Vibrações em colunas de ar;

4. Ondas em fluidos incompressíveis;

5. Ondas mecânicas em meios elásticos;

6. Ondas eletromagnéticas.

As equações de tais problemas comumente envolvem um operador linear diferencial conhecidocomo Laplaciano [16]:

∇2u(x1,x2, . . . ,xn) =n

∑k=1

∂ 2u(x1,x2, . . . ,xn)

∂x2k

,

em queu é uma função de variáveis reaisx1, . . . ,xn de classeC(2) [3].O problema do estudo de ondas de calor em corpos rígidos se baseia na solução da equação

∂u(t,x)∂ t

= k∇2u(t,x),

em queu é uma função de quatro variáveis, o tempot e posiçãox = {x,y,z}, e k é umaconstante real. Semelhantemente a este problema, o estudo da propagação de ondas, em geral,são modelados por equações do tipo

∂ 2u(t,x)∂ t2 = c2∇2u(t,x).

109

Page 128: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

110 APÊNDICE D APLICAÇÕES DA SÉRIE DE FOURIER EM EQUAÇÕES DIFERENCIAIS

As soluções mais gerais de tais equações são descritas como combinação linear de funçõessinusoidais dependentes do tempot e do espaçox

u(t,x) =n

∑i=0

aiφ(t,x)i ,

em que cadaφ(t,x)i é uma função contínua de parâmetrost e x.Um caso importante das equações mencionadas é quando o problema não depende do

tempo, dando origem ao problema da equação de Laplace:

∇2u(t,x) = 0.

Um dos mais notórios problemas que são resolvidos usando a equação de Laplace é o problemade Dirichlet [36], em que consiste em resolver a equação de Laplace para a funçãou no interiorde uma dada regiãoD sujeita ao vínculo de queu = f para a fronteira deD [36]. Outroimportante problema é o de, ao invés de especificaru no contorno deD, especificar-se∇u ·nno contorno deD, em quen representa o vetor ortonormal ao contorno deD. Tal problema éconhecido como problema de Von Neumann [6,37].

Todos esse problemas são casos restritos de um problema maisgeral, que é equação funda-mental da física quântica [20], a equação de onda deSchrödinger:

− h2

2m∇2u+V(x)u= Eu,

em queh é a constante de Planck normalizada [20],m é a massa da partícula,V(x) é a energiapotencial da partícula em função da posição eE é a energia da partícula.

Page 129: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

APÊNDICE E

Digressão sobre Séries Infinitas

Para analisar a série de Fourier é necessário ter bem fundamentado alguns conceitos sobre oestudo de séries. Um elemento fundamental no estudo das séries são as sequências. Séries sãoconstruídas com base em sequências. No caso em questão, é de interesse analisar séries cujoselementos estejam sobre o conjunto dos reais. Para tanto, pode-se definir uma sequência daseguinte forma.

Definição 8. SejaS= {n∈ Z|n≥m} tal quem∈ Z. Uma sequência infinita de números reaisé uma função

S→ R

n 7→ sn. (E.1)

Usualmente toma-sem= {0,1}, contudo, no caso em estudo, será aceito quem pode as-sumir qualquer valor inteiro. Para se referir a tais sequências será usada a notação(sn)

∞n=m,

indicando que esta é uma sequência real infinita que parte den= m. Define-se convergência deuma sequência infinita como se segue [6,32].

Definição 9. Uma sequência infinita de números reais é dita convergente para um número reals se para cadaε > 0 existir um número inteiroN tal quen> N implique|sn−s|< ε.

Se a sequência(sn)∞n=m converge paras, escreveremos como notação que limn→∞ sn = s, ou

simplesmentesn→ s.Uma série infinita pode ser construída a partir de uma sequência infinita. Pode-se definir

uma série infinita da seguinte forma.

Definição 10.A sequência infinita(sn)∞n=1 nas quais seus termos formam a soma parcial de um

conjunto de números reais ordenados,an, dada por

s1 = a1 (E.2)

s2 = a1+a2

...

sn =n

∑k=1

ak,

é chamada de série.

111

Page 130: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

112 APÊNDICE E DIGRESSÃO SOBRE SÉRIES INFINITAS

Usando a Definição 10, de que uma série é uma sequência de números reais tais que esse nú-meros representam somas parciais, pode-se afirmar que para toda série infinita há uma sequên-cia infinita associada. Sendo assim, semelhantemente às sequências, as séries podem ser con-vergentes ou divergentes. A convergência de uma série é dadacomo consequência da Definição9. Este resultado é apresentado como teorema a seguir.

Teorema 6. Uma série infinita ,∑nk=1ak, é dita convergir paras se e somente se sua sequência

associada,(sn)∞n=1, convergir paras.

Isso corresponde ao fato de que se limn→∞ sn = s, então, comosn = ∑nk=1ak, pela Defini-

ção 10, limn→∞ ∑nk=1ak = s.

Estudar a convergência de uma série pode ser resumido ao estudo do limite da soma parcialdos termos quandon→ ∞. Desta forma, para analisar a convergência da série de Fourier bastaconsiderar o limite da soma parcial da série de Fourier truncada quando o número de termostende ao infinito.

Page 131: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

Referências Bibliográficas

[1] Lars V. Ahlfors. Complex Analysis An Introduction To The Theory Of Analytic FunctionsOf One Complex Variable. Mc-Graw Hill, 2nd edition, 1966.

[2] Tom M. Apostol. Calculus, Volume 1. John Wiley & Sons, Inc., Pasadena, CA, 2ndedition, sep 1966.

[3] Tom M. Apostol. Calculus, Volume 2. John Wiley & Sons, Inc., Pasadena, CA, 2ndedition, sep 1968.

[4] Tom M. Apostol. Introduction to Analytic Number Theory. Springer-Verlag, Pasadena,CA, 1976.

[5] Tom M. Apostol. Mathematical Analysis. Addison-Wesley Publishing Company, Rea-ding, MA, 1981.

[6] George B. Arfken and Hans J. Weber.Mathematical Methods for Physicists. ElsevierAcademic Press, Miami University, Oxford, OH and University of Virginia, Charlottes-ville, VA, 3rd edition, 2005.

[7] Vasudev Bhaskaran and Konstantinos Konstantinides.Image and Video CompressionStandards: Algorithms and Architectures. Kluwer Academic Publishers, Norwell, MA,USA, 1997.

[8] R. E. Blahut.Fast Algorithms for Digital Signal Processing. Addison-Wesley, 1985.

[9] José Luiz Boldrini, Sueli I. Rodrigues Costa, Vera LúciaFigueiredo, and Henry G. Wetz-ler. Álgebra Linear. HARBRA, 3ª edição, 1980.

[10] V. Britanak, P. C. Yip, and K. R. Rao.Discrete Cosine and Sine Transforms: GeneralProperties, Fast Algorithms and Integer Approximations. Academic Press Inc. ElsevierScience, 2006.

[11] H. M. de Oliveira D. F. Souza, R. J. de Sobral Cintra. Uma Ferramenta para Análise deSons Musicais: A Série Quantizada de Fourier.XXII Simpósio Brasileiro de Telecomuni-cações, sep 2005.

[12] Hélio Magalhães de Oliveira.Análise de sinais para engenheiros: uma abordagem viaWavelets. Brasport Livros e Multimídia Ltda, Rio de Janeiro, RJ, 2007.

113

Page 132: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

114 REFERÊNCIAS BIBLIOGRÁFICAS

[13] Hélio Magalhães de Oliveira.Engenharia de Telecomunicações. Notas de Aula, 2010.

[14] A. G. Dempster and M. D. Macleod. Constant integer multiplication using minimumadders. IEEE Transactions on Circuits and Systems II: Analog and Digital Signal Pro-cessing, 141(5):407 – 413, 1994.

[15] José Dias dos Santos and Zanoni Carvalho da Silva.Métodos Numéricos. Editora Uni-versitária, 2ª edição, 2009.

[16] Gerald B. Folland.Fourier Analysis and Its Applications. American Mathematical Soci-ety, Seattle, WA, 2000.

[17] Joseph Fourier.Théorie Analytique de La Chaleur. Éditions Jacques Gabay, Paris, FRA,1822.

[18] Rafael C. Gonzalez and Richard E. Woods.Digital Image Processing. Prentice-Hall, Inc.,Upper Saddle River, NJ, 2nd edition, 2002.

[19] R. L. Graham, D. E. Knuth, and O. Patashnik.Concrete Mathematics. Addison-WesleyPublishing Company, Reading, MA, 1989.

[20] David Halliday, Robert Resnick, and Jearl Walker.Fundamentals os Physics, Volume 1and 2 and 3 and 4. John Willey and Sons Inc., 7rd edition, 2005.

[21] George Em Karniadakis and Robert M. Kirby II.Parallel Scientific Computing in C++and MPI. Cambridge University Press, 2003.

[22] Gottfried Konecny. Geoinformation: remote sensing, photogrammetry and geographicinformation systems. Taylor & Francis, oct 2002.

[23] Michael P. Lamoureux. The Poorman’s Transform: Approximating the Fourier Transformwithout Multiplication. IEEE Transaction on Signal Processing, 41(3), mar 1993.

[24] Jamal T. Manassah.Elementary Mathematical and Computational Tools for Electricaland Computer Engineers Using Matlab. CRC Press, New York, NY, 2001.

[25] Patrick Marchand and Thomas Holland.Graphics and GUIs with MATLAB. CHAPMAN& HALL/CRC, 3rd edition, 2003.

[26] J. C. Nash.Compact Numerical Methods for Computers. Adam Hilger, 1990.

[27] Scott J. Norton and Mark D. Dipasquale.The Multithreaded Programming Guide ThreadTime. Prentice-Hall, Inc., 1997.

[28] Alan V. Oppenheim, Ronald W. Schafer, and John R. Buck.Discrete-time signal proces-sing. Prentice-Hall, Inc., Upper Saddle River, NJ, 2nd edition,1999.

[29] Gordon E. Pelton.Voice Processing. Mc-Graw Hill, Inc., 1992.

Page 133: Uma Implementação Computacional de Estimativa Harmônica ... · Historicamente, a área de processamento de sinais tem sido beneficiada pela ín-tima relação entre teoria e aplicações

REFERÊNCIAS BIBLIOGRÁFICAS 115

[30] Lawrence Rabiner and Juang Bung-Hwang.Fundamentals of Speech Recognition.Prentice-Hall, Inc., 1993.

[31] Kenneth A. Ross.Elementary Analysis: The Theory of Calculus. Springer, OR, Eugene,1980.

[32] B. A. Sethuraman.Rings, Fields, and Vector Spaces, An Introduction to Abstract Algebravia Geometric Constructibility. Springer, New York, 175 Fifth Avenue, NY, USA, 1996.

[33] Andrew S. Tanenbaum.Organização Estruturada de Computadores. LTC Livros Técni-cos e Científicos, Vrije Universiteit, Amsterdam, Holanda,4th edition, 2001.

[34] Andrew S. Tanenbaum and Albert S. Woodhull.Operating Systems. Prentice-Hall, Inc.,1997.

[35] Özdogan Yilmaz.Seismic Data Analysis, Volume II. Society of Exploration Geophysi-cists, 2001.

[36] Geraldo Ávila.Funções de uma Variável complexa. LTC, 1974.

[37] Geraldo Ávila.Variáveis complexas e aplicações. LTC, 2000.