Obtenção da Frequência de um Sinal de Som por meio da   Transformada Rápida de Fourier em Java Micro Edition              ...
2.Desenvolvimento e ImplementaçãoA maior parte desta sessão é voltada a obtenção da frequência por meio do janelamentoatra...
2.3.Aplicação da FFTEm seguinda de posse das janelas foi aplicado o cálculo da FFT. A FFT corresponde auma familia de algo...
frequências, e as relacionando com a frequência obtida, juntamente com o tempo gastode todo o processo de extração da freq...
Tabela 3 – Espaços na representação de frequência de acordo com o tamanho                                      de janela  ...
Outro ponto observado foi que, para um tamanho de janela menor, por exemplo, 256amostras, o espaço de representação de fre...
Próximos SlideShares
Carregando em…5
×

Obtenção da frequência de um Sinal de Som por meio da transformada rápida de fourier em java micro edition

2.580 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.580
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
57
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Obtenção da frequência de um Sinal de Som por meio da transformada rápida de fourier em java micro edition

  1. 1. Obtenção da Frequência de um Sinal de Som por meio da Transformada Rápida de Fourier em Java Micro Edition Marcelo Ruaro Departamento de Engenharias e Ciência da Computação – Universidade Regional Integrada do Alto Uruguai e das Missões (URI) Caixa Postal 98.802-407 – Santo Ângelo – RS – Brasil {mcruaro@gmail.com Abstract.This paper exposes the results obtained in implementing run to calculate the frequency of a sound signal using the Fast Fourier Transform (FFT) implemented by algorithm radix-2 after the windowing signal by Hamming Windows in language Java Micro Edition. Resumo. Este artigo expões os resultados obtidos na implementação realizada para a obtenção da frequência de um sinal de som utilizando a Transformada Rápida de Fourier(FFT) implementada pelo algoritmo radix2 posteriormente ao janelamento do sinal através das janelas de Hammingna linguagem Java Micro Edition.1.IntroduçãoA Transformada Rápida de Fourier (FFT) ao longo dos anos foi fundamental para odesenvolvimento da comunicação digital. Essa técnica permite a obtenção da frequênciafísica de um determinado sinal, retornando como saída, valores que podem serutilizados em diversos cenários do processamento de sinais digitais, como o cálculo doespectro de potências e fase (CERNA e HARVEY, 2000). No reconhecimento de voz,ela é amplamente utilizada, e deriva a aplicação de técnicas posteriores como oscoeficientes LPC, LPC-Cepstrais, Mel-Cepstrais, entre outros (LIMA, 2000).O cálculo da FFT sobre um sinal é realizado posteriormente a aplicação das janelas aosinal pré-processado, o que permite segmentar um sinal de tempo x em pequenasfrações, geralmente sobrepostas, que são consideradas estacionárias em relação a suavariação no tempo, permitindo o uso de técnicas futura para extração de informação dosinal (PETRY, ZANUT e BARONE, 2000).Introduzida estas técnicas, este trabalho tem como objetivo utilizar a FFT implementadapelo algoritmo radix-2, adaptando-a para linguagem Java Micro Edition com aritméticade ponto flutuante (float), e sobre um sinal janelado pelas janelas de Hamming, paraobter um conjunto de frequências que compõe determinado sinal de som, capturado pelotransdutor do dispositivo móvel. Estas frequências caracterizam as variações defrequência do sinal analógico emitido, e podem ser utilizadas para o reconhecimento devoz, o reconhecimento de sons abstratos, o desenvolvimento de afinadores musicais,entre outras aplicações ou trabalhos que se relacionem com frequência de som. Tambémserá elaborado um estudo dos resultados em específico e apresentado o consumo derecursos de hardware medido em escala de tempo.Na sessão 2 a seguir, será descrito o desenvolvimento e implementação. Na sessão 3,serão apresentados os resultados e a sessão 4, encerra expondo as conclusões.
  2. 2. 2.Desenvolvimento e ImplementaçãoA maior parte desta sessão é voltada a obtenção da frequência por meio do janelamentoatravés das janelas de Hamming juntamente com a aplicação da FFT. Porémprimeiramente, é conveniente expor uma contextualização sobre o método de captura dosom através do dispositivo móvel na linguagem Java ME. Essa captura atualmente éprovida pela interface de programação de aplicações (API) MMAPI. A MMAPI prove adigitalização do sinal analógico a ser capturado, e segundo Goyal (2006), é a única APIexistente para este fim na linguagem Java ME. Através da MMAPI a aquisição do somtambém pode ser configurada conforme a codificação escolhida, que neste trabalho é aPCM no formato Wave com uma frequência de amostragem de no mínimo 8KHz,podendo variar para valores maiores que este, caso necessário uma representação maiorque 4KHz. Já a quantidades de bits por amostra é fixado em 8 bits constituindo umvetor de bytes que apresentará variações de amplitude de -128 a 127.2.1.Pré-processamentoO sinal em seu formato original foi submetido a um pré-processamento a fim deeliminar seu cabeçalho Wave removendo as primeira 56 posições do vetor de bytes quecaracteriza a amostra de som. Outro processo adicional, que pode ser empregado, é aremoção dos períodos de silêncio da elocução, mas esta técnica não foi utilizada, poisconstatou-se que os períodos de silêncio são facilmente detectados, resultando emfrequências com valor de 0 Hz.2.2.JanelamentoA primeira etapa – foco deste trabalho – que se realizou sobre o sinal, foi a aplicaçãodas janelas de Hamming. Com esta técnica foi possível segmentar o sinal em partes decurta duração (RABINER e JUANG, 1978). Esta segmentação permitiu extrair umafrequencia única para cada quadro, pois um sinal de som em sua totalizadade(principalmente o do trato vocal) geralmente apresenta uma gama complexa defrequencias (PETRY, ZANUT e BARONE, 2000), sendo que não se pode adotar umaúnica frequencia como representante do sinal.Porém, se este sinal, por exemplo, for originado de uma nota musical por alguminstrumento, neste caso, pode-se avaliar o sinal como portador de uma frequenciapredominante, e seria lógico deduzir que a aplicação das janelas seria dispensavel,contudo mesmo neste cenário, a aplicação do janelamento traz um grande beneficio emtermos de desempenho de hardware, segmentando o processamento e nãosobrecarregando o processador do dispositivo.Na segmentação de sinais com grande probabilidade de variação de frequencias aolongo do tempo, normalmente ocorre um efeito onde certas janelas podem contervariações abruptas do sinal. Para combater este efeito utilizou-se janelas sobrepostas auma porncetagem de 40%, visto que este indice foi o que apresentou os melhoresresultados no framework SRM (RUARO, 2010), e com base em porcentagensencontradas na literatura de no máximo 70% (CIPRIANO, 2001). Outro fator quesuaviza as bordas na janelas é o próprio aspecto da janela de Hamming, que devido asua função de transferencia, minimiza as amplitudes presentes em suas extremidades.
  3. 3. 2.3.Aplicação da FFTEm seguinda de posse das janelas foi aplicado o cálculo da FFT. A FFT corresponde auma familia de algoritmos que implementam de uma forma mais rapida a TransformadaDiscreta de Fourier e permite alterar a representação de um sinal do dominio de tempopara um dominio de frequencias (CERNA e HARVEY, 2000) (GONÇALVES, 2004)(JNECZKO, 2010).A FFT só é útil para obtenção de frequências do sinal de som se este já se encontra emsegmentos que podem ser gerados através da aplicação prévia do janelamento descritoanteriormente. Pois como estes segmentos são de curta duração, pode-se considerar queo sinal presente em cada segmento não varia, podendo assim definir um frequênciapredominante para cada janela gerada.Neste trabalho a FFT foi adaptada para Java ME, com base no algoritmo radix-2,recebendo como entrada uma parte real e outra imaginária, sendo que ambas devem teruma tamanho igual a potência de dois. Como parte real, foi atribuído o sinal janelado, epara parte imaginária foi atribuído zero (OLIVEIRA, 2000).Após a aplicação da FFT obtém-se o espetro de magnitudes correspondendo arepresentação no domínio de frequência do sinal de entrada. Com isto tem-se um vetor(para cada janela), onde cada indice representa uma escala de frequencias baseada nafaixa de frequencia de amostragem definida na captura, e cada elemento representa amagnitude de cada frequencia (indice), presente no sinal. Deste modo, pode-seidentificar a frequência através da procura pela maior amplitude do vetor e associar oindice em que esta se encontra, como a frequencia da janela analisada, logo paratransformar o índice em uma frequência do sinal, foi utilizada a seguinte equaçãobaseada no algoritmo apresentado por Heart et al (2007): [ ( )]onde f é a frequência, s é a frequência de amostragem, i é o índice que contém a maioramplitude do vetor de magnitudes e N é o número de pontos da FFT, logo N é o igual aonúmero de amostras por janela.Desta maneira, obteve-se um vetor caracterizando as frequências cálculadas do sinal deentrada ao longo do tempo.3.Testes e ResultadosPara a aquisição das frequências certos parâmetros são fundamentais, como o númerode amostras por janela e a frequência de amostragem. O número de amostras por janelacaracteriza o tamanho da janela, e neste trabalho foi caracterizado com o requisitoobrigatório, do mesmo ser uma potencia de dois, devido a sua inserção no algoritmoradix-2. Já a frequência de amostragem, foi adaptada conforme a necessidade de seobter frequências mais elevadas, respeitando o teorema de Nyquist.Cada resultado apresentado buscou distinguir estes parâmetros e expor claramente suascaracterísticas. Abaixo são expostos os resultados obtidos, destacando determinadas
  4. 4. frequências, e as relacionando com a frequência obtida, juntamente com o tempo gastode todo o processo de extração da frequência para um sinal de dois segundos em umdispositivo móvel, com processador operando a frequência de 464MHz, e acessando aaplicação de sua própria memória interna. Tabela 1 - Frequências obtidas em Hz para cada tamanho de janela, e uma frequência de amostragem de 8000Hz Freq. Original Freq. obtida para cada tamanho de janela 256 512 1024 2048 50 62 47 46 50 60 62 62 62 58 100 94 94 101 101 200 188 203 203 199 300 314 298 297 301 500 503 501 500 500 1000 1007 1003 1001 1000 1500 1511 1505 1502 1501 2000 2015 2007 2003 2001 3000 3023 3011 3005 3002 4000 4000 4000 4000 4000 Tempo Médio 1,0s 1,15s 1,26s 1,35s Tabela 2 - - Frequência obtida em Hz , para cada tamanho de janela e uma frequência de amostragem de 16000Hz Freq. Original Freq. obtida para cada tamanho de janela 256 512 1024 2048 8000 8000 8000 8000 8000 Tempo Médio 2,15s 2,25s 2,5s 2,75Com base nos resultados pode-se perceber o melhor detalhamento de cada frequência aose elevar o tamanho das janelas. Isso ocorreu, pois uma janela maior oferece uma maiorfaixa de representação de frequências sobre uma janela menor, e a probabilidade derápidas variações de frequências serem suprimidas é acrescida. Também, verifica-se queos tempos crescem proporcionalmente ao tamanho das janelas e frequência deamostragem.Contudo percebeu-se, que janelas menores, limitam uma representação mais precisa defrequências, justamente por conter menos índices. Seguindo está ideia, na tabela 3 aseguir é exposto o nível de detalhamento que cada tamanho de janela oferece pararepresentação de frequências.
  5. 5. Tabela 3 – Espaços na representação de frequência de acordo com o tamanho de janela Amostras por Janela 8000Hz 128 62,5Hz 256 31,25Hz 512 15,62Hz 1024 7,8125Hz 2048 3,90625HzEste cálculo pode ser efetuado dividindo a metade de determinada frequência deamostragem (Teorema de Nyquist) por metade do tamanho original das janelas(CUADROS, 2007). Como resultado obtêm-se os valores apresentados na tabela 3acima, onde quanto menor o índice mais fiel será a representação das frequênciascapturadas, pois maior será a possibilidade de representação. Figura 1– Representação de frequência em diferentes tamanhos de janelasOu seja, o detalhe de representação das frequências conterá saltos, por exemplo, de 15.6hertz para um tamanho de janela igual a 512, 7,8 hertz para janelas de 1024 e assimsucessivamente.3. ConclusãoEste trabalho apresentou a obtenção da frequência aproximada por meia daTransformada Rápida de Fourier para a linguagem Java Micro Edition. Mas quetambém pode ser empregada na plataforma SE.Com base nos resultados apresentado ao longo das pesquisas conclui-se que asfrequências obtidas encontram-se em uma faixa, senão igual, muito próxima afrequência original, onde ainda pode-se considerar ruídos causados pela qualidade domaterial do transdutor, ou interferências especificas de cada ambiente (PETRY, 2002).Também conclui-se que os tempos resultantes para o cálculo das janelas na FFT ficamem uma patamar aceitável, baseando-se na complexidade do algoritmo FFT e nonúmero de janela geradas.
  6. 6. Outro ponto observado foi que, para um tamanho de janela menor, por exemplo, 256amostras, o espaço de representação de frequências é reduzida pela metade, poissegundo Cuadros(2007) o vetor de magnitudes resultante das funções seno e cosseno daFFT tem suas metades simétricas, logo descarta-se a segunda metade pois os valoresserão iguais ao da primeira metade. Desta maneira o vetor processado conterá – parauma frequência de amostragem de 8000Hz, por exemplo – uma gama de representaçãosobre 4000Hz de acordo com o teorema de Nyquist, e variando a cada 31,25 Hz, poissua faixa de representação está limitada em 128 variações (256 / 2 ). Este conceitosegue-se para as demais frequências de amostragem e tamanho de janelas, onde, quantomaior for a janela, maior será a faixa de representação de frequências, porém maiores aschances de curtíssimas alterações de frequências do sinal serem suprimidas.ReferênciasCERNA, M.; HARVEY, A. F. The Fundamentals of FFT-Based Signal Analysis andMeasurement. National Instruments, Junho 2000.CIPRIANO, J. L. G. Desenvolvimento de Arquitetura para Sistemas deReconhecimento Automático de Voz Baseados em Modelos Ocultos de Markov.URGS, Porto Alegre, Novembro 2001. 125.CUADROS, C. D. R. RECONHECIMENTO DE VOZ E DE LOCUTOR EMAMBIENTES RUIDOSOS: COMPARACÃO DAS TÉCNICAS MFCC E ZCPA.Escola de Engenharia da Universidade Federal Fluminense, Niterói, 2007.GONÇALVES, L. A. Um Estudo sobre a Transformada Rápida de Fourier e seu uso emProcessamento de Imagens. URGS - Instituto de Matemática, Porto Alegre, Junho2004.JNECZKO, C. TRANSFORMADA DE FOURIER DISCRETA. UniversidadeTecnológica Federal do Paraná. Paraná, p. 14. 2010.LIMA, A. A. D. Análises Comparativas em Sistemas de Reconhecimento de Voz.Universidade Regional do Rio de Janeiro, Rio de Janeiro, Setembro 2000.OLIVEIRA, K. M. D. Reconhecimento de Voz Através do Reconhecimento de Padrões.Universidade Católica de Salvador - UCSAL, Salvador, Dezembro 2000.PETRY, A. Reconhecimento Automático de Locutor Utilizando Medidas de InvariantesDinâmicas Não-Lineares. URGS, Instituto de Informática, Porto Alegre, Agosto2002.PETRY, A.; ZANUT, A.; BARONE, D. A. C. Reconhecimento Automático de Pessoaspela Voz através de Técnicas de Processamento Digital de Sinais. Instituto deInformática - Universidade Federal do Rio Grande do Sul, 2000.RABINER, L.; JUANG, B.-H. Fundamentals of Speech Recognition. New Jersey:Englewood Cliffs: Prentice Hall, 1978.

×