3º Relatório do PBL - Transformada de Fourier

Preview:

Citation preview

1. INTRODUÇÃO

Na atual conjuntura, em que a globalização está presente no cotidiano da população, evidenciado pelo papel que os sistemas de telecomunicações desempenham, é de fundamental importância a recuperação de sinais distorcidos, seja por um ruído no sinal ou por uma eventual falha na transmissão.

Devido a essa grande evolução tecnológica, algumas mudanças nos parâmetros do sinal ocorrem na implementação de um link de comunicação entre duas Estações Rádio-Base (ERBs). Por esse motivo, as maiores empresas de telefonia têm procurado maneiras para recuperar o sinal transmitido.

Visando a importância da retificação de um sinal de voz para a área de Processamento Digital de Sinais, bem como dos conceitos envolvidos para obter o sinal sem distorção, a empresa Sigma Delta Inc., através da diretoria de Pesquisa e Desenvolvimento (P&D), solicitou aos seus engenheiros de computação o desenvolvimento e teste de um sistema de processamento digital de áudio, no qual o sinal de comunicação distorcido pela modificação de um parâmetro, pudesse ser recuperado e o áudio original reestabelecido. 2. FUNDAMENTAÇÃO TEÓRICA 2.1 Caracteríticas de Sinais de Aúdio Sinais de Fala

O som é estudado na acústica, que é uma das divisões da física que estuda as oscilações e ondas, que ocorrem em meios elásticos. O som é formado pela vibração de corpos que movimentam as moléculas de ar em meio elástico (como o próprio ar), criando as ondas acústicas ou sonoras que são captadas pelos nossos ouvidos e interpretadas por nós como sons. Outros meios elásticos como água, metais e madeiras, também transportam ondas sonoras, porém, com diferentes resistências [1]. O som é caracterizado por diversas propriedades, como amplitude, frequência, a distância entre a fonte e o ouvinte. No entanto, para este trabalho o foco se direciona para a frequência de vibrações ocorridas, medidas em Hertz (Hz - rotações por segundo) e a amplitude que estão relacionadas à intensidade sonora, em decibéis (dB) e a duração, em segundos.

É considerado como som audível aquelas ondas que conseguem sensibilizar o ouvido humano, com frequências variando em torno de 20 a 20.000 Hz. Abaixo da frequência mínima (menos de 20 Hz), é chamado de infra-som e acima (mais de 20.000 Hz), denomina-se ultra-som. Ambos os sons, ultra-som e infra-som, são inaudíveis para o ouvido humano.

Entretanto, numa conversação normal, geralmente não se passa de 3.000 Hz. Assim, visando utilizar melhor os canais de comunicação de fala, criou-se uma largura de banda de 4000 Hz para tais canais, como por exemplo, os canais de telefonia que é o canal que utilizamos atualmente em nossas ligações.

Em testes práticos, julgou-se, então, que a faixa de frequências entre 300 Hz e 3400 Hz permitia uma conversação normal. Desta forma, utiliza-se filtros eletrônicos para cortar sinais com frequências acima disto. O valor de 4K Hz é utilizado como uma tolerância para evitar interferências [2]. 2.2 Séries de Fourier

A forma mais simples de uma onda é uma função senoidal. Jean-Baptiste

Joseph Fourier, matemático e físico francês, mostrou que qualquer função, por mais complicada que seja, pode ser decomposta como uma soma de senos e cossenos. A Figura 1 mostra um exemplo de uma função f(x) que pode ser descrita através de somas entre senos e cossenos. É possível perceber isso realizando uma soma ponto a ponto de todas as componentes da função apresentada na Figura 1.

Figura 1. Função f(x) obtida através de somas de senos e cossenos [3].

Utilizando as séries de Fourier um sinal x(t) pode ser descrito da seguinte

forma: x(t) = a0+ a1 sen(t) +a2 sen(2t) +a3 sen(3t)+ ... + b1 cos(t) + b2 cos(2t) + …

onde, os coeficientes (a0, a1, a2, ... , b1, b2) das funções seno e cosseno representam a amplitude de cada componente harmônica do sinal. Lembrando ainda que a0 é a componente dc do sinal e possui frequência igual a zero.

2.3 Determinação da representação de um sinal periódico de tempo contínuo em série de Fourier

Um sinal de tempo contínuo x(t) pode ser definido como periódico se existir um valor T positivo diferente de 0 tal que:

para todo t

onde o menor valor para T é chamado de T0, período fundamental.

A representação em série de Fourier exponencial complexa de um sinal periódico com período fundamental T0 é dada por:

onde os são conhecidos como coeficientes de Fourier complexos e são

dados por:

2.4 Representação de Sinais Periódicos de Tempo Contínuo em Série de Fourier

Foi utilizado um exemplo retirado de [4] para a equipe entender como é

representado um sinal em termos de módulo e fase. Segue o exemplo e sua explicação passo a passo.

Considere o sinal cuja frequência fundamental é . Uma técnica para determinar os coeficientes da série de Fourier para esse sinal é expandir o sinal senoidal como uma combinação linear de exponenciais complexas e identificar as componentes da série de Fourier por inspeção. Podemos expressar, através da equação de Euler, que

pode ser escrito da seguinte forma:

Agrupando os termos, obtem-se:

Assim, os coeficientes da série da Fourier para este exemplo são:

A Figura 2 apresenta o gráfico do sinal em magnitude de ak e a Figura 3 a apresenta o gráfico da fase ak .

Figura 2. Gráfico da magnitude e dos coeficientes de Fourier [4].

Figura 3. Gráfico da fase e dos coeficientes de Fourier [4]. 2.5 Transformada Discreta de Fourier

Uma ampla classe de sinais, incluindo todos os sinais com energia finita, pode ser representada como uma combinação linear de exponenciais complexas.

Enquanto para sinais periódicos as exponenciais complexas que o representam estão relacionadas harmonicamente, para sinal aperiódico elas estão infinitesimalmente próximas em frequências, e a representação em termos de uma combinação linear toma a forma de uma integral, em vez de uma soma. O espectro de coeficientes resultante nessa representação é chamado transformada de Fourier, e a integral de síntese, que usa esses coeficientes para representar o sinal como uma combinação linear de exponenciais complexas, é denominada transformada inversa de Fourier.

A DFT (Discrete Fourier Transform) é a única representação de Fourier que tem valores discretos tanto no tempo como em frequência. A DFT se aplica a sinais de período N de tempo discreto cujas frequências são múltiplos inteiros da frequência fundamental do sinal. Esta representação no domínio da frequência é uma função discreta e de período N da frequência [5]. A DTF é a única representação de Fourier que pode ser computada numericamente. Segue as equações de síntese e análise da DFT, respectivamente.

Equação de Síntese da DFT

Equação de Análise da DTF

onde, X[k] representa os coeficientes e N representa o número de amostras e o período do sinal quando aplicado a DFT. E x[n] representa uma soma de produtos entre os coeficientes e as exponenciais complexas (senos e cossenos) que compõem o sinal. E por fim, k é o índice de cada coeficiente. 2.6 Transformada Rápida de Fourier

A Transformada Rápida de Fourier - Fast Fourier Transform (FFT) - consiste em um algoritmo para reagrupar os cálculos dos coeficientes de uma DFT. Portanto, a FFT não é um tipo diferente de transformada e sim uma técnica que possibilita avaliar DFT de forma mais rápida e econômica. A FFT foi implementada com o objetivo de diminuir a complexidade (temporal) necessária para calcular uma DFT, visando aplicações em tempo real. O número de operações realizadas no cálculo da DFT através da definição é proporcional à n2, logo este método terá complexidade de O(n2), enquanto a FFT possui complexidade O(n*log n), sendo, portanto um algoritmo mais eficiente [6].

A FFT realiza o processo de mudança do domínio de tempo para o domínio da frequência, obtendo o coeficiente que representa a magnitude deste sinal para cada

uma das freqüências do sinal. Estes coeficientes são obtidos a partir da seguinte fórmula:

onde:

retrata o fasor do sinal discreto, o N simboliza o número de amostras, k representa cada índice de frequência, xn representa a função à qual foi aplicada a FFT (sinal discreto) e Xk representa a magnitude do sinal para o índice de frequência em determinado instante. Lembrando que o número de amostras (N) deve ser um valor de potência de dois, devido ao modo de representação digital (binário), e da restrição de funcionamento do algoritmo da FFT. Sendo N um número composto de potência de dois, separa-se a sequência original, x(k) em duas novas sequências de N/2 pontos, sendo a primeira formada por coeficientes de índice par e a segunda por coeficientes de índice ímpar:

assumindo que:

possa ser rescrito desta forma:

e que N possa ser expresso como N=2*M, sendo M é um inteiro positivo. 3. METODOLOGIA

3.1 Análise do Sinal através da Transformada de Fourier

O passo inicial para a remoção do ruído do sinal de voz foi realizar uma análise sobre este sinal. Para isso, houve a necessidade de utilizar um software de processamento de sinais. Neste trabalho, foi utilizado o Matlab versão 2007 como software base para analisar o sinal de voz e para o desenvolvimento dos algoritmos que solucionaram o problema.

Através do Matlab, foi que se iniciou o procedimento de verificação do problema. Primeiramente foram coletadas as informações sobre o arquivo de áudio através de sua leitura no Matlab. As principais informações obtidas foram a frequência de amostragem do sinal, que é 48 KHz, a quantidade de amostras do sinal, que é 1.048.576, e o valor de amplitude de cada amostra. Através dessas informações puderam ser extraídos outros dados referentes ao sinal, como por exemplo, o tempo de duração do sinal (quantidade de amostras / taxa de amostragem = 21,85 segundos). As Figuras 4 e 5 mostram o gráfico do sinal de voz no domínio do tempo e o código que gera esse gráfico.

Figura 4. Sinal de Voz no domínio do tempo.

Figura 5. Código feito no Matlab para plotar o gráfico do sinal de voz no domínio do tempo.

Outras informações que auxiliaram no desenvolvimento do sistema foram obtidas através de pesquisas sobre codificação e transmissão de sinais de voz. Tais informações relatam que o ouvido humano é capaz de detectar sons que estejam na faixa de frequência de 20 - 20.000 Hz e que em sistemas digitais de telecomunicações as informações de áudio se limitam a ser armazenadas na faixa de 300 a 3.000 Hz.

Com base nessas informações pôde-se gerar o gráfico do sinal de voz no domínio da frequência, através da transformada de Fourier, e analisá-la em busca dos possíveis problemas relacionados a distorção do sinal. Para utilizar a transformada de Fourier adequadamente e conseguir plotar o sinal no domínio da frequência o seguinte algoritmo, apresentado na Figura 6, foi desenvolvido:

Figura 6. Algoritmo desenvolvido para plotar o gráfico do sinal de voz no domínio da frequência.

O código ilustrado na Figura 6, primeiramente, faz a leitura do arquivo de áudio distorcido, em seguida aplica-se a Transformada Rápida de Fourier e, posteriormente, cria-se um vetor x. Este vetor x tem tamanho igual ao número de amostras e o conteúdo deste vetor vai de zero até a frequência de amostragem, representando, assim, o eixo da frequência. Com essas informações podemos representar graficamente o sinal de voz distorcido no domínio da frequência. A Figura 7 mostra este gráfico.

Figura 7. Gráfico do sinal de voz no domínio da frequência.

Analisando o gráfico do sinal representado no domínio da frequência pôde-se perceber que há um pico de amplitude em uma região fora da faixa dos 3.000 Hz ( utilizados na transmissão de voz de sistemas digitais), caracterizando assim, um ruído no sinal de voz.

Pode-se observar a partir da Figura 7 que há dois picos de amplitude em cada quadrante, um pico de 3000 unidades e outro de 9000 unidades. 3.2 Tratamento aplicado ao sinal

O tratamento mais adequado para o sinal de voz é a utilização de filtros digitais que sejam capazes de remover ruídos como é feito utilizando o filtro FIR, por exemplo, utilizando o método de janela de hanning, que foi a tentativa inicial para resolução deste problema. Porém, estes conceitos vão além do escopo da displina de Sinais e Sistemas passando a integrar conteúdos referentes a Processamento Digital de Sinais.

Por conta disto, a equipe preferiu adotar uma solução alternativa para o tratamento do sinal que consiste na implementação de um filtro ideal que solucionasse o problema. O ruído foi retirado do sinal ainda no domínio da frequência apenas eliminando o pico de maior amplitude do sinal, que estava numa frequência superior à necessária para reconstrução do sinal de voz.

A partir da observação anterior a respeito dos dois picos de amplitude no sinal no domínio da frequência, foi concluído que a informação deveria estar em um dos picos. Assim, o sinal neste domínio foi deslocado para que um dos picos estivessem

entre 0 Hz e 3 KHz. Após realizar o deslocamento do primeiro pico, eliminar o segundo pico de amplitude e converter o sinal resultante novamente para o domínio do tempo, o sinal de voz foi perfeitamente recuperado.

Na Figura 8 segue o algoritmo desenvolvido para realizar a remoção do ruído e o deslocamento do sinal.

Figura 8. Algoritmo que remove as frequências indesejadas e faz o deslocamento do sinal.

Na Figura 8, pode-se perceber que o sinal resultante recebe o sinal original deslocado de 40000 unidades. Esse valor foi escolhido visualmente, pois observando o gráfico do sinal distorcido, foi estimado que o deslocamento na frequência do primeiro pico era da ordem de 40000. 3.3 Resultado Alcançado

Após o tratamento do sinal este foi plotado ainda no domínio da frequência para verificar se os resultados obtidos com o algoritmo desenvolvido foram realmente os esperados. A Figura 9 mostra a remoção do ruído e o deslocamento aplicado ao sinal.

Figura 9. Sinal sem distorção no domínio da frequência

Por fim, foi aplicado a transformada inversa de Fourier no sinal tratado, colocando-o de volta no domínio do tempo, e posteriormente o sinal foi salvo em um arquivo de áudio no formato wav. O novo arquivo de áudio gerado apresentou-se sem ruídos sendo audível e sem mais problemas. O gráfico deste sinal no domínio do tempo pode ser visto na Figura 10.

Figura 10. Sinal sem distorção no domínio do tempo. 4. CONSIDERAÇÕES FINAIS

Durante o projeto deste trabalho foram utilizados diversos conceitos relacionados ao processamento de sinais. Desta forma, este trabalho agrupou assuntos pertinentes a Sinais e Sistemas e, ao mesmo tempo, fez um paralelo de alguns conhecimentos matemáticos, tais como as séries e transformadas de Fourier e representação de números complexos no domínio do tempo e da frequência.

Como ferramenta de projeto e de simulação utilizou-se o MATLAB, pois este software oferece diversos métodos que permitiram a resolução do problema. Este suporte oferecido pelo MATLAB facilitou, em termos de programação, no entanto, a compreensão das funções utilizadas tornaram o projeto complexo. 5. REFERÊNCIAS [1] Propriedades do Som. Disponível em:<http://www.xtreme-dj.com/dj_dct.aspx?cdg=57>. Acessado em 15 de ago 2011. [2] Sinais de Fala. Disponível em: <http://www.inf.ufrgs.br/~roesler/disciplinas/LabRedes/01_CapacidadeCanal/Apostila_fisico_sinais_modula.pdf> Acessado em 11 de set 2011. [3] Séries de Fourier. Disponível em: <http://www.seara.ufc.br/tintim/matematica/fourier/fourier1.htm>. Acessado em: 06 de ago 2011. [4] OPPENHEIM, A. V. WILLSKY, A. S. Sinais e Sistemas. 2ed. São Paulo: Pearson- Prentice Hall. ISBN 978-85-7505-504-4. 2010 [5] HAYKIN, S. VEEN, B. V. Sinais e Sistemas. Porto Alegre: Bookman. ISBN 85-7307-741-7. 2001. [6] Material sobre DFT e FFT. Disponível em:<http://www2.ee.ufpe.br/codec/DTF%20E%20FFT.pdf>Acessado em 15 de agosto de 2011.

Recommended