Transformada de Fourier
29 pág.

Transformada de Fourier

Disciplina:Redes sem Fio510 materiais19.208 seguidores
Pré-visualização5 páginas
muitos coeficientes “C”, os quais são função da escala e

da posição sinal.

 A figura 7.3 mostra a decomposição do sinal utilizando-se a Transformada

Wavelet.

 A Transformada Discreta Wavelet decompõe um sinal em outros dois sinais,

fazendo uso de filtros passa-baixa (chamados scaling signals) e filtros passa-alta

(chamados wavelets signals).

 63

 Para um sinal discreto F de n pontos, existem m ( m ≤ n/2 ) scaling signals
denominados por V1, V2 ...Vm, e existem também m wavelets signals denominados por W1,

W2 ... Wm.

 Cada par de vetores formados pelo conjunto (V1, W1), (V2, W2), ..., (Vm, Wm) é

ortogonal, ou seja, possuí produto escalar igual a 0.

 A forma como se define essa base de vetores é que da origem a diferentes classes

de Transformadas Wavelets (tipo da Wavelet, ex: db10), que se prestam melhor a uma ou

outra determinada situação. Entretanto, independente dessa definição, os scaling signals

serão sempre obtidos dos filtros passa-baixa e os wavelets signals serão obtidos dos filtros

passa-alta.

A figura 7.4 mostra o nível 1 da decomposição de um sinal pelas Wavelets. O sinal

é decomposto por dois filtros, gerando os scaling signals (A -filtros passa-baixa) e os

wavelets signals (D - filtros passa-alta).

Figura 7.4: Nível 1 de uma decomposição de um sinal pelas Wavelets

 Quando m = ( n/2 ), o vetor de n pontos formado pelos coeficientes (a1, a2 ...am),

seguido de (d1, d2 ...dm ) é chamado de Transformada Wavelet nível 1 do sinal original.

 Este processo de decomposição é conhecido como Análise de Multi Resolução

(MRA - Multiresolution Analysis) e é o coração da análise de sinais com Wavelets.

 Para melhor exemplificar o processo de decomposição das Wavelets a figura 7.5

mostra um sinal com 1000 pontos e sua decomposição.

 64

Figura 7.5: Exemplificação da decomposição de um sinal

pela Transformada Wavelet Nível 1

7.2 A ANÁLISE DE MULTI RESOLUÇÃO (MRA) PARA MÚLTIPLOS NÍVEIS

 Quando se obtêm a Transformada Wavelet de um sinal discreto, realiza-se a

Transformada de nível 1. Se for feito o cálculo da Transformada Wavelet da primeira

metade desse sinal já transformado, obter-se-á no segundo nível de análise, e assim por

diante. Este processo, que está exibido na figura 7.6, pode se repetir por log2(n), onde n é o

número de pontos do sinal original.

Figura 7.6: Decomposição para Múltiplos nível das Wavelets

 A Transformação de nível 1 do sinal S é composta pelos sub-sinais cA1 e cD1, a

Transformação nível 2 é composta pelos sub-sinais cA2 , cD2 e cD1, e a Transformação

 65

 66

nível 3, pelos sub-sinais cA3 , cD3 , cD2 e cD1..

 Nos capítulos referentes a descrição do sistema desenvolvido neste estudo, será

mostrada a utilização da Wavelet no cálculo da correlação dos sinais de voz, como uma

ferramenta auxiliar ao cálculo da correlação da FFT.

 O RECONHECIMENTO DE VOZ E O MATLAB 6.0

Para desenvolver um sistema completo de Reconhecimento de Voz é necessário

primeiramente escolher um software de desenvolvimento (linguagem de alto nível). Dentre

as principais linguagens de desenvolvimento estão o C/C++, Visual Basic e o Delphi.

Todas estas linguagens de programação possuem um ambiente de desenvolvimento

de alto nível e com grande capacidade de processamento de inúmeros algoritmos básicos,

como o seno e o co-seno etc. No entanto, estas linguagens não possuem nenhuma

ferramenta específica para o cálculo de algoritmos com grande complexidade, tal como a

FFT (se precisarmos efetuar o cálculo da transformada de rápida de Fourier (FFT) de um

sinal temos que desenvolver todo o algoritmo em C/C++, por exemplo).

Como citado nos capítulos anteriores, um sistema completo de reconhecimento de

voz possui a característica da interdisciplinaridade, ou seja, uma vasta gama de

conhecimentos é empregada no desenvolvimento do sistema, desde a aquisição do sinal de

voz até o reconhecimento de um padrão. Além da quantidade, existe também a

complexidade dos cálculos envolvidos no processamento. Estes fatores influenciam o

desempenho e a precisão do reconhecimento de voz e exigem um software de

desenvolvimento que possua as qualidades de rapidez e precisão nas diversas tarefas

inerentes ao sistema.

Devido a este fato, desenvolver um sistema complexo como o de Reconhecimento

de Voz torna-se uma tarefa árdua em linguagens como o C/C++, pois cada algoritmo tem

que ser programado individualmente, aumentando a possibilidade de pequenos erros de

programação (bugs) que podem levar a resultados errados e comprometer a qualidade do

sistema.

Existem vários softwares de desenvolvimento com ferramentas pré-programadas. O

que mais se destaca na área de engenharia é o MATLAB.

Desde a sua primeira versão (1984), o MATLAB é tido como produto líder na

área de computação numérica e científica. Mais que um software de desenvolvimento de

programas, o MATLAB é um ambiente integrado de modelamento de sistemas e

algoritmos, ideal para implementação de projetos complexos, e por esta razão vem sendo

adotado como ferramenta de desenvolvimento padrão pelas principais universidades e

empresas no Brasil e no mundo.

 67

O MATLAB é o núcleo de um ambiente de computação numérica baseado em

matrizes que integram:

- funções de tratamento numérico de alto desempenho;

- sofisticados recursos de geração de gráficos para visualização de dados;

- poderosa linguagem de programação de alto nível.

8.1 O AMBIENTE DE PROGRAMAÇÃO DO MATLAB

 A tela de desenvolvimento do MATLAB é basicamente constituída por duas

partes principais:

- [Command Window]: Janela de Comando

- [Workspace]: área de memória de trabalho do MATLAB.

Figura 8.1: Janela de Comando do MATLAB

A janela de comando vista na figura 8.1 é o espaço onde são digitados os dados e

instruções para o MATLAB e exibidos os resultados.

 68

O sinal de prompt “>>” indica estado de espera de entrada de dados ou

instruções.

 A área de memória do MATLAB (Workspace) é o local onde ficam armazenadas

as variáveis criadas na janela de comando. A figura 8.2 mostra a área de memória

(Workspace).

Figura 8.2: Área de Memória do MATLAB

 O MATLAB possui versões para diferentes ambientes operacionais. O sistema de

reconhecimento de voz aqui desenvolvido chama-se “Parlato” (capítulo 9) e foi

desenvolvido na versão MATLAB 6 (R12) para ambiente Windows 98.

A figura 8.3 mostra a tela de desenvolvimento completa do MATLAB, organizada

da seguinte forma:

A. Janela de Comando [Command Window]: área de trabalho na qual as instruções

são digitadas.

B. Janela de Informações [Launch Pad]: área na qual são exibidas informações,

textos explicativos e exemplos de utilização dos produtos instalados.

C. Janela de Memória [Workspace]: área na qual são exibidas as variáveis

definidas na área de trabalho do MATLAB.

D. Janela de Histórico [Command History]: área na qual ficam armazenadas todas

as instruções executadas no MATLAB.

Basicamente existem duas formas de desenvolver um programa no MATLAB.

Uma delas é desenvolver o programa direto na Janela de Comando, o que possibilita o teste

 69

do algoritmo instantaneamente. A outra opção é criar um arquivo de programa executável

dentro do MATLAB que é chamado de arquivo “m.file” devido a sua extensão ser “.m”.

 Os “m.files” são programas desenvolvidos dentro do MATLAB e somente são

reconhecidos e executados no ambiente do MATLAB.

Figura 8.3: Tela completa do ambiente de Desenvolvimento do MATLAB

8.2 AS FERRAMENTAS DE PROGRAMAÇÃO DO MATLAB

 Chamadas de “Toolbox”, as caixas de ferramentas do MATLAB são o que o

diferenciam dos outros softwares de desenvolvimento como o C/C++.

 O MATLAB possui inúmeras caixas de ferramentas com algoritmos pré-

programados para cada ramo específico de conhecimento.