Campus de Ilha Solteira PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA Uso de equações de diferenças na obtenção de filtros para redução de ruído em sinais de voz no domínio wavelet Caio Cesar Enside de Abreu Orientador: Prof. Dr. Francisco Villarreal Alvarado Coorientador: Prof. Dr. Marco Aparecido Queiroz Duarte Dissertação apresentada ao PPGEE, Faculdade de Engenharia - UNESP – Campus de Ilha Solteira, para obtenção do título de Mestre em Engenharia Elétrica. Área de Conhecimento: Automação. Ilha Solteira – SP Fevereiro/2013 Abreu Uso de equações de di Ilha Solteira2013 96 Sim DissertaçãoEngenharia3.04. 06.00 Sim FICHA CATALOGRÁFICA Desenvolvido pelo Serviço Técnico de Biblioteca e Documentação Abreu, Caio Cesar Enside de . Uso de equações de diferenças na obtenção de filtros para redução de ruído em sinais de voz no domínio wavelet / Caio Cesar Enside de Abreu. -- Ilha Solteira: [s.n.], 2013 96 f. : il. Dissertação (mestrado) - Universidade Estadual Paulista. Faculdade de Engenharia de Ilha Solteira. Área de conhecimento: Automação, 2013 Orientador: Francisco Villarreal Alvarado Co-orientador: Marco Aparecido Queiroz Duarte Inclui bibliografia 1. Wavelets. 2. Diferenças finitas. 3. Redução de ruído não-limiar. A162u Dedico esta dissertação aos meus pais, Rosângela e Haroldo. AGRADECIMENTOS . � Primeiramente agradeço a Deus, por abrir portas e indicar o caminho certo a seguir, e também por conceder a saúde e o discernimento necessários para alcançar meus objetivos pessoais. � Ao meu orientador Professor Dr. Francisco Villarreal Alvarado, pela confiança depositada ao abrir as portas do mestrado para mim, sempre acreditando em minha capacidade, e é claro, pelas correções e sugestões, nunca se esquecendo do rigor matemático. � Ao Professor Dr. Marco Aparecido Queiroz Duarte, meu coorientador, pelas ideias, sugestões e correções, as quais foram fundamentais para o desenvolvimento desta pesquisa. � Ao amigo que se apresentou durante o período das disciplinas, Professor Dr. Jozué Vieira Filho, pelos conselhos, sugestões, e a atenção concedida sempre atendendo às minhas visitas em sua sala, mesmo quando o tempo lhe era curto. � À minha mãe Rosângela Enside de Abreu, que sempre me apoiou e nunca mediu esforços para que eu pudesse alcançar meus objetivos, sempre lembrando de meu nome e da minha pesquisa em suas preces. � À minha namorada Graziele Toledo, pelo conforto, estímulo e compreensão nos momentos difíceis. � A minha companheira de apartamento e irmã Tatiane Aparecida Enside de Abreu. Obrigado por me aturar! � Ao Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) pelo apoio financeiro. � A todos os meus familiares e amigos. RESUMO . O método proposto neste trabalho tem por objetivo superar algumas deficiências que os métodos que utilizam limiar apresentam quando se almeja a redução de ruído em sinais de voz. Dentre elas, destaca-se a dificuldade no processamento de sinais contaminados com ruído colorido. Com base neste fato, desenvolveu-se um método eficiente para o processamento de vários tipos de ruído colorido, que é o tipo de ruído presente em situações reais. A metodologia de redução de ruído proposta consiste na estimação do sinal de saída a partir do original, no domínio wavelet, sem o uso de limiar. O sinal é estimado por equações de diferenças finitas. Para a estimação do ruído é usado um operador, que é aplicado em cada uma das equações de diferenças. Uma combinação polinomial é realizada de maneira a condensar todas as equações de diferenças em uma única função de transferência. Esta por sua vez sofrerá um ajuste sigmoidal visando uma melhor adequação entre as amplitudes dos sinais originais e processados. Porém, antes disto, propõe-se uma pré-filtragem realizada por um operador de pré-processamento. O filtro é obtido no último passo, quando é feito o ajuste sigmoidal. A principal mudança, em relação às metodologias anteriores, está na construção de um filtro que atue no sinal levando em consideração informações contidas em cada coeficiente ou em uma pequena vizinhança do mesmo. Com isso, não se faz necessário o uso de um único valor (valor do limiar) como referência para processar todos os coeficientes de uma faixa de frequência do sinal. Comparando o método proposto com o método desenvolvido por Soares et al. (2011), constatou-se a obtenção de melhores resultados. Palavras-chave: Wavelets. Diferenças finitas. Redução de ruído não-limiar. ABSTRACT . The method proposed in this paper aims to overcome some deficiencies of the methods which use the threshold feature when the objective is to reduce noise in speech signals. Among them, it was highlight the difficult in processing signals contaminated with colored noise. Based on this fact, it was developed a method that is efficient for the processing of various types of colored noise, which is the predominant noise in real situations. The proposed noise reduction method consists in estimating the output signal from the original, in wavelet domain, without using a threshold value. The signal is estimated by finite difference equations. For the noise estimation an operator, which is applied to each difference equation. A polynomial combination is performed in order to condense all difference equations in a single transfer function, which, in turn, will suffer a sigmoidal adjustment, seeking a better adequacy between the amplitudes of the original and processed signals. However, before this, a pre-filtering performed by an operator of pre-processing is proposed. The filter is obtained in the last step, which is the sigmoidal adjustment. The main change is in the construction of a filter that act on the signal taking into account the information contained in each coefficient or in a small neighborhood of it. Thus, it is not necessary to use a single value (threshold value) as reference to process all the coefficients of a frequency band of the signal. The proposed method was compared the one developed by Soares et al. (2011), and better results were obtained. Keywords: Wavelets. Finite differences. Nonthreshold noise reduction. LISTA DE ILUSTRAÇÕES . Figura 1 – Esquema para a recuperação exata de um sinal de voz contaminado por ruído aditivo........................................................................................................................................21 Figura 2 – Gráfico de uma wavelet.......................................................................................... 26 Figura 3 – Caixas de Heisenberg para a WFT (a) e para a CWT (b)........................................ 30 Figura 4 – Árvore de decomposição wavelet (banco de filtros de análise).............................. 33 Figura 5 – Árvore de reconstrução wavelet (banco de filtros de síntese)................................. 33 Figura 6 - Trecho de um sinal de voz e sua transformada wavelet.......................................... 36 Figura 7 - Diagrama do Método Proposto por Soares (2009)................................................... 41 Figura 8 - Diagrama do método proposto................................................................................. 43 Figura 9 - Sinal limpo �(�)....................................................................................................... 47 Figura 10 - Sinal contaminado com ruído colorido �(�)......................................................... 47 Figura 11 - Trecho de voz do sinal �[�], no domínio wavelet, obtido a partir da contaminação do sinal limpo �[�] por ruído colorido...................................................................................... 48 Figura 12 - Curvas das diferenças centradas de primeira a quarta ordem, respectivamente, quando aplicadas ao segmento visualizado na Figura 11......................................................... 48 Figura 13 - Curvas das diferenças avançadas de primeira a quarta ordem, respectivamente, quando aplicadas ao segmento visualizado na Figura 11......................................................... 49 Figura 14 - Sinal processado ��(�) a partir do sinal original limpo �(�), usando a função �� e a transformada wavelet inversa.............................................................................................. 52 Figura 15 - Sinal processado ��(�) a partir do sinal �(�) contaminado por ruído colorido, usando a função �� e a transformada wavelet inversa............................................................ 52 Figura 16 - Esquema de frequências de um banco de filtros.................................................... 53 Figura 17 - Gráfico do operador Dif......................................................................................... 54 Figura 18 - Sinal processado ��(�) a partir do sinal original limpo (�), usando o operador Dif e a transformada wavelet inversa (a); Zoom na região demarcada (b)..................................... 55 Figura 19 - Curva gerada pela combinação das duas funções sigmoides na equação (34)....... 56 Figura 20 - Sinal de voz limpo �(�) e sinal processado ��(�) com ruído colorido, usando o método proposto e a transformada wavelet inversa.................................................................. 57 Figura 21 - Sinal processado ��(�) com ruído colorido, usando o método proposto e a transformada wavelet inversa....................................................................................................58 Figura 22 - Resultados obtidos por meio de avaliações objetivas............................................ 62 Figura 23 - Forma de onda do Sinal F limpo (a); contaminado com ruído de carro (b); contaminado com ruído em restaurante (c); contaminado com ruído de metrô (d).................. 63 Figura 24 - Forma de onda dos sinais processados, a partir do Sinal F limpo, contaminado com: ruído de carro (a), ruído em restaurante (b), ruído de metrô (c)...................................... 65 Figura 25 - Forma de onda do Sinal B limpo (a); contaminado com ruído de carro (b); contaminado com ruído em restaurante (c); contaminado com ruído de metrô (d).................. 66 Figura 26 - Forma de onda dos sinais processados, a partir do Sinal B limpo, contaminado com: ruído de carro (a), ruído em restaurante (b), ruído de metrô (c) ..................................... 68 Figura 27 - Comparações dos valores de SNR obtidos pelo método proposto e pela metodologia de Soares et al. (2011).................................................................................... ............... .72 Figura 28 - Comparações das notas PESQ obtidas pelo método proposto e pelo método de Soares et al. (2011).................................................................................................................. ............ 73 Figura 29 - Comparações das correlações obtidas entre os sinais originais e processados pelo método proposto, e pelo método proposto em Soares et al. (2011).................................................. 74 Figura 30 - Sinal de voz limpo (�)......................................................................................... 85 Figura 31 - Sinal de voz contaminado �(�) (10 dB)................................................................ 85 Figura 32 - Sinal de voz processado ��(�), usando o método proposto a partir do sinal de voz limpo �(�) contaminado com ruído de carro (10 dB).............................................................. 86 Figura 33 - Sinal de voz limpo �(�) (azul) e sinal processado ��(�) (vermelho), usando o método proposto a partir do sinal de voz limpo contaminado com ruído de carro (10 dB)..... 86 Figura 34 - Sinal de voz contaminado �(�) (5 dB).................................................................. 87 Figura 35 - Sinal de voz processado ��(�), usando o método proposto a partir do sinal de voz limpo s(�) contaminado com ruído de carro (5 dB)................................................................. 88 Figura 36 - Sinal de voz limpo (�) (azul) e sinal processado ��(�) (vermelho) a partir do sinal de voz limpo contaminado com ruído de carro (5 dB)..................................................... 88 Figura 37 - Gráfico da equação (43) para diferentes valores de �............................................ 91 Figura 38 - Sinal de voz limpo (�)......................................................................................... 93 Figura 39 - Sinal de voz ruidoso �(�), obtido por contaminação do sinal orignal (�) com ruído em restaurante (10 dB).......... ......................................................................................... 94 Figura 40 - Sinal de voz limpo �(�) (azul) e sinal processado ��(�) (vermelho) usando o método proposto a partir do sinal de voz limpo contaminado com ruído em restaurante....... 94 Figura 41 - Sinal de voz limpo �(�) (azul) e sinal processado ��(�) (vermelho) usando o método proposto, sem o operador Dif, a partir do sinal de voz limpo contaminado com ruído em restaurante........................................................................................................................... 95 LISTA DE TABELAS . Tabela 1 - MOS e a qualidade do discurso correspondente...................................................... 22 Tabela 2 - DMOS e o correspondente nível de degradação...................................................... 22 Tabela 3 - Análise da variação dos valores de SNR dos sinais processados, quando comparados ao valor da média das SNR dos sinais limpos..................................................... ................ ..62 Tabela 4 - Resultados obtidos para todos os sinais utilizados nas simulações, levando em consideração os valores de SNR para os sinais limpo e processado......................................... 70 Tabela 5 - PESQ dos sinais ruidosos........................................................................................ 70 Tabela 6 - PESQ dos sinais processados................................................................................... 71 Tabela 7 - Avaliações objetivas para o sinal �(�) em particular.............................................. 89 Tabela 8 - Avaliações objetivas para o sinal processado �(�), em particular.......................... 95 LISTA DE SÍMBOLOS . ℤ Conjunto dos números inteiros; ℝ Conjunto dos números reais; ℂ Conjunto dos números complexos; �(�) Função wavelet; ��(�) Transformada de Fourier da função wavelet; �(�) Função escala; 〈�, �〉 Produto interno entre � e �; �� Classe das funções com derivadas contínuas até a ordem �; � Parâmetro de escala da função wavelet; � Parâmetro de translação da função wavelet; supp (�) Suporte da função �; ��(ℝ) Espaço das funções mensuráveis de Lebesgue de quadrado integrável; !"� Variância do erro; !#� Variância do sinal original; dB Decibel; log Logaritmo; | | Valor absoluto de ; ‖ ‖ Norma de ; %&(�, �) Transformada wavelet contínua de �; ' Limiar usado para filtragem do sinal; �(�) Função no domínio do tempo; �* Transformada de Fourier da função �; � ̅ Conjugado complexo da função �; -(.) Filtro passa-baixas associado a uma wavelet; /(.) Filtro Passa-altas associado a uma wavelet; WFT Transformada de Fourier janelada; (↓2) Operador de dizimação de ordem 2 ou downsampling; (↑2) Operador de inserção de zeros de ordem 2 ou upsampling; �2 [�] Coeficientes de aproximação de nível 3 da DWT; 45[�] Coeficientes de detalhes de nível 3 da DWT; � Número máximo de faixas de frequências na decomposição pela DWT; 6 Matriz 6; ! Parâmetro de inclinação da sigmoide; �[�] Sinal de voz limpo no domínio do tempo; 7[�] Ruído; �[�] Sinal de voz contaminado com ruído colorido; 8[�] Sinal de voz no domínio wavelet; %[�] Ruído no domínio wavelet; �[�] Sinal contaminado no domínio wavelet; �9[�] Sinal processado no domínio wavelet; ��[�] Sinal processado no domínio do tempo; �2: Coeficientes das diferenças finitas centradas de ordem ; na posição 3; �2: Coeficientes das diferenças finitas avançadas de ordem ; na posição 3; �: Vetor de diferenças finitas centradas de ordem ;; <: Vetor de diferenças finitas avançadas de ordem ;; 42 Coeficientes de um vetor qualquer de diferenças finitas; = Vetor qualquer de diferenças finitas; �(=) Função que aplica o operador SNRP no vetor =; > Parâmetro da função �, > ∈ ]0,1[; �� Função que realiza a combinação polinomial; B2 Coeficientes da função �� ; -[�] Filtro construído a partir do método proposto; ℎ2 Coeficientes do filtro -[�]; D Desvio padrão da janela em processamento; E Valor baseado na potência do ruído. LISTA DE ABREVIATURAS . AN – Amplitude Numérica; dBN – Função wavelet de Daubechies de ordem N; TW – Transformada wavelet; TWI – Transformada wavelet inversa; CWT – Transformada wavelet contínua; DWT – Transformada wavelet discreta; IDWT – Transformada wavelet discreta inversa; SNR – Relação Sinal/Ruído; TRH – Threshold; MATLAB – Matrix Laboratory; PESQ - Perceptual Evaluation of Speech Quality; cp – Combinação polinomial; ITU-T – International Telecommunication Union - Telecommunication Standardization Sector; MOS – Mean Opinion Score; DMOS - Degradation Mean Opinion Score; SNRP – Relação Sinal/Ruído a Priori; OMS – Operador Média Simples; SNRPR – Relação Sinal/Ruído a Posteriori. Dif – Operador de pré-filtragem. SUMÁRIO . 1 INTRODUÇÃO......................................................................................................... 15 1.1 Considerações preliminares e motivação.................................................................... 15 1.2 Organização do texto.................................................................................................... 17 1.3 Contribuições do trabalho...........................................................................................18 2 CONSIDERAÇÕES SOBRE REDUÇÃO DE RUÍDO EM SINAIS DE VOZ.......................................................................................................................................... 19 2.1 Métodos de redução de ruído...................................................................................... 20 2.2 Medidas subjetivas de qualidade................................................................................ 21 2.3 Medidas objetivas de qualidade.................................................................................. 22 3 ANÁLISE WAVELET............................................................................................. 24 3.1 Funções Wavelets....................................................................................................... 25 3.2 Transformada Wavelet Contínua................................................................................ 28 3.3 Transformada Wavelet Contínua Inversa................................................................... 30 3.4 Transformada Wavelet Discreta................................................................................. 31 3.5 Transformada Wavelet Discreta Inversa..................................................................... 31 3.6 Interpretação da DWT como um banco de filtros....................................................... 32 4 MÉTODOS DE REDUÇÃO DE RUÍDO EM SINAIS DE VOZ NO DOMÍNIO WAVELET.............................................................................................................................. 35 4.1 Redução de ruído em sinais de voz por métodos que utilizam limiares..................... 37 4.2 Redução de ruído em sinais de voz por métodos não-limiares................................... 39 4.2.1 Análise de um método não-limiar............................................................................... 39 5 METODOLOGIA PROPOSTA.............................................................................. .42 5.1 Objetivos do método proposto.................................................................................... 43 5.2 O uso das equações de diferenças para estimar o sinal de saída................................. 45 5.3 Estimação do ruído..................................................................................................... 49 5.4 A combinação polinomial para estimar o sinal de saída............................................. 50 5.5 O operador Dif............................................................................................................ 53 5.6 Obtenção do filtro de redução de ruído.......................................................................56 6 ANÁLISE E DISCUSSÃO DOS RESULTADOS.................................................. 60 6.1 Testes computacionais................................................................................................ 61 6.2 Comparações a partir do método proposto por Soares et al. (2011)........................... 72 7 CONSIDERAÇÕES FINAIS .................................................................................. 75 REFERÊNCIAS........................................................................................................ 78 APÊNDICE A - DEMONSTRAÇÃO DE TEOREMA ....................................... 83 APÊNDICE B - ANÁLISE VISUAL DO PROCESSAMENTO REALIZADO PELO MÉTODO PROPOSTO..............................................................................................84 APÊNDICE C - SOBRE A EXPRESSÃO UTILIZADA PARA O CÁLCULO DO OPERADOR Dif.............................................................................................................. 90 APÊNDICE D - ANÁLISE DA INFLUÊNCIA DO OPERADOR Dif NA QUALIDADE DO SINAL PROCESSADO.......................................................................... 93 15 . . 1 INTRODUÇÃO 1.1 Considerações Preliminares e Motivação Quando se deseja estudar cientificamente um problema do universo físico, isto é, deixar de lado a visão intuitiva do senso comum e analisar os fatos com um maior teor de criticidade e abrangência, deve-se usar uma linguagem adequada que facilite e racionalize o pensamento. A modelagem matemática é a ferramenta adequada. Segundo D’Ambrosio (2003), a modelagem matemática é um processo valioso para encarar situações reais, culminando com a solução efetiva de um problema real e não com a simples resolução de um problema artificial. No universo do processamento digital de sinais, um fenômeno físico é modelado por meio de uma função, que é chamada de Sinal (GOMES; VELHO; GOLDSTEIN, 1997). Existem, porém, variados tipos de sinais do universo físico que não podem ser modelados. Isto se deve ao fato destes sinais possuírem um alto teor de complexidade. O que reforça ainda mais a necessidade de compreendê-los. Sua análise é feita a partir de outras ferramentas matemáticas, capazes de evidenciar suas principais propriedades. Dentre elas, destacam-se as transformadas integrais. As transformadas mais utilizadas no âmbito do processamento de sinais são a transformada de Fourier e a transformada wavelet (SANCHEZ, 2008; GOMES; VELHO; GOLDSTEIN, 1997). 16 Um sinal de voz até pode ser modelado, porém, devido à grande variação de tons e timbres, esta modelagem se torna muito complexa. Processar sinais de voz é muito importante, tendo em vista a vasta gama de aplicações como codificação, redução de ruído, reconhecimento automático de fala, dentre outras (SOARES, 2009). A redução de ruído em sinais de voz vem sendo amplamente explorada. Deve-se isso ao fato de que, muitas vezes, o sinal transmitido pelos meios de telecomunicações, por exemplo, pode conter algum tipo de ruído (DELLER; PROAKIS; HANSEN, 1993). Considera-se ruído qualquer elemento, ou sinal, que tem a capacidade de reduzir a inteligibilidade de uma informação de som (NOCETI FILHO, 2004). Um sinal de voz pode ser contaminado por ruído, também, ao ser gravado, captado por um microfone ou devido ao meio de reprodução do mesmo. Em todos os casos, o ruído causa um desconforto ao ouvinte, provocando a perda da inteligibilidade do sinal. Quando o assunto é redução de ruído em sinais de voz, o objetivo é melhorar a qualidade do sinal. Existem vários métodos para a redução de ruído. Alguns usam a transformada de Fourier (VIEIRA FILHO, 1996) e outros, a transformada wavelet (DUARTE, 2005; DUARTE, 2010; SOARES et al., 2008; SOARES, et al., 2011). Dentre os que utilizam a transformada wavelet, alguns são baseados em redução por Limiar, ou seja, eliminam ou atenuam os coeficientes do sinal transformado cujos valores absolutos estão abaixo de um valor estipulado a priori (SOARES et al., 2007), e outros considerados Não- Limiar (SOARES, 2009). Os métodos que usam limiar são os mais utilizados na literatura, porém, possuem grandes limitações que aos poucos estão sendo superadas por métodos que não fazem uso do limiar (SOARES et al., 2008; SOARES et al., 2011). A metodologia de redução de ruído proposta neste trabalho consiste na estimação do sinal de saída a partir de um sinal ruidoso, no domínio wavelet, sem o uso do limiar. O sinal é estimado pelas equações de diferenças usadas na resolução numérica de derivadas e equações diferenciais, descritas no capítulo 5. Para a estimação do ruído é usado o operador SNRP proposto por Soares et al. (2011), que é aplicado em cada uma das equações de diferenças. Uma combinação polinomial é realizada de maneira a condensar todas as equações de diferenças em uma única função de transferência; esta, por sua vez, sofrerá um ajuste sigmoidal visando uma melhor adequação entre as amplitudes dos sinais originais e processados. Porém, antes disto, propõe-se uma pré-filtragem, realizada por um operador denominado Dif, cuja definição e justificativa encontram-se nos Apêndices C e D. O filtro é obtido no último passo, que consiste num ajuste sigmoidal. 17 A principal motivação para o desenvolvimento deste trabalho é a possibilidade de superar algumas deficiências que os métodos que utilizam limiares apresentam. A principal mudança está na construção de um filtro que atua no sinal, levando em consideração informações contidas em cada coeficiente em processamento, ou em uma vizinhança do mesmo. O tamanho desta vizinhança varia de acordo com a ordem da equação de diferenças usada na construção do filtro. Com isso, não se faz necessário o uso de um único valor (valor do limiar) como referência para processar todos os coeficientes de uma faixa de frequência do sinal. 1.2 Organização do Texto. Inicialmente, apresenta-se a principal ideia por trás dos métodos de redução de ruído em sinais de voz, assim como as principais medidas de qualidade utilizadas pela literatura especializada para a avaliação do desempenho dos mesmos; este assunto é abordado no capítulo 2. No capítulo 3, apresenta-se um estudo mais detalhado sobre a teoria wavelet, dando ênfase aos principais conceitos matemáticos que serão considerados neste trabalho. O capítulo 4 trata de uma análise dos métodos mais recentes de redução de ruído em sinais de voz baseados em wavelet, destacando as vantagens e desvantagens desses métodos. No capítulo 5 é apresentada e discutida a metodologia proposta para redução de ruído em sinais de voz, no domínio wavelet, sem o uso de limiar. A apresentação dos resultados obtidos e a avaliação do método proposto serão tratadas no capítulo 6. Por fim, no capítulo 7 são apresentadas as conclusões e as considerações finais do presente trabalho. Ao final deste trabalho, apresentam-se quatro apêndices de suma relevância para a compreensão de como o método proposto atua em um sinal de voz. Estes apêndices tratam dos seguintes assuntos: Apêndice A – Demonstração do teorema onde se afirma que combinações lineares de uma base do espaço ��(ℝ) podem ser utilizadas para se obter aproximações de qualquer função do espaço gerado por tal base. Apêndice B – Análise visual do processamento realizado pelo método proposto. A análise é realizada a partir da forma de onda de um sinal em particular, escolhido arbitrariamente. Apêndice C – Sobre a expressão utilizada para o cálculo do operador Dif. Apêndice D – Faz-se uma análise da influência do operador Dif no sinal processado. Tal análise é realizada considerando as formas de onda dos sinais original e processado, quando se utiliza o operador Dif e quando não se utiliza o mesmo. Além da análise visual, mostram- 18 se também as diferenças comprovadas pelas análises (avaliações) objetivas referentes ao uso deste operador. 1.3 Contribuições do Trabalho. As principais contribuições do Trabalho são: � A apresentação de uma metodologia de redução de ruído no domínio wavelet que dispensa o uso de limiares. � A construção de um filtro que atua no sinal levando em consideração informações contidas em cada coeficiente do sinal ou em uma vizinhança do mesmo. � Introdução de um processo de pré-filtragem, que permite uma forte redução de ruído no sinal ruidoso minimizando perdas nos coeficientes referentes à voz. 19 . . 2 CONSIDERAÇÕES SOBRE REDUÇÃO DE RUÍDO EM SINAIS DE VOZ Em muitos sistemas de comunicação, a presença de ruído de fundo pode causar perda da qualidade ou inteligibilidade do sinal de voz (DELLER; PROAKIS; HANSEN, 1993). Ruído é qualquer sinal que tenha a capacidade de reduzir a inteligibilidade de uma informação de som (NOCETI FILHO, 2004). Em algumas situações práticas, como, por exemplo, em um sistema de comunicação móvel, observa-se o sinal de voz juntamente com o ruído aleatório proveniente do canal de comunicação e do ambiente do locutor. Como normalmente trata-se o sinal no lado do receptor, não é possível um conhecimento detalhado do perfil do ruído, mas apenas do sinal ruidoso (ANTUNES, 2006). Neste trabalho, assume-se que os sinais ruidosos em questão possam ser descritos pelo modelo aditivo: �[�] = �[�] + 7[�], (1) em que �[�] é o sinal de voz, 7[�] é o ruído e � representa o índice de tempo discreto. Quando o assunto é redução de ruído em sinais de voz, o objetivo é melhorar a qualidade do sinal. Existem vários métodos para a redução de ruído. Alguns usando a transformada de Fourier (VIEIRA FILHO, 1996) e outros no domínio Wavelet. Dentre os que utilizam a transformada wavelet, a maioria é baseada em métodos que utilizam limiares 20 para a filtragem do sinal (DUARTE, 2005), porém métodos não-limiar têm surgido com resultados satisfatórios (SOARES, 2009). 2.1 Métodos de redução de ruído A redução de ruído em sinais de qualquer dimensão é uma área relevante da engenharia. Em situações práticas, o ambiente no qual se faz a aquisição do sinal, dificilmente está livre da presença de ruído. Neste sentido, existem vários métodos para eliminar ou atenuar ruídos (LOUIS; MAAB; RIEDER, 1998). Em sua essência, os métodos de processamento de sinais de voz podem ser divididos em dois blocos: os que fazem uso de um limiar e os que não usam limiares. Os métodos que usam limiar eliminam ou atenuam os coeficientes do sinal transformado, cujos valores absolutos estejam abaixo de um valor estipulado a priori (SOARES et al., 2007). Alguns métodos de redução de ruído em sinais de voz baseados em limiar apresentam bons resultados (por exemplo, Seok and Bae (1997); Sheikhzadeh and Abutalebi (2001) e Lallouani, Gabrea; Gargour (2004)). Porém, estes métodos podem confundir ruído com voz, pelo fato de que alguns coeficientes de voz possuem valores absolutos abaixo do limiar usado (DUARTE, 2005). Outro problema que ocorre é que, quando o ruído é adicionado, muitos coeficientes redundantes assumem valores acima do limiar estipulado. Deste modo, na aplicação do limiar, muitos coeficientes que deveriam ser eliminados ou atenuados acabam sendo preservados, causando pouca eficiência na redução de ruído (SOARES et al., 2008). Além dos problemas já citados acerca dos métodos que utilizam limiares, outro importuno seria o fato de que os mesmos possuem funções de transferência descontínuas. Para Soares et al. (2008), uma forma de sanar os problemas apresentados pelos métodos que utilizam limiares, seria o uso de um método que pudesse atuar no sinal de acordo com o próprio conteúdo ruidoso de seus coeficientes. Fica implícito que os autores se referem à criação de um método não-limiar. A contaminação do sinal de voz �[�] para estes métodos pode ser feita com o ruído gaussiano branco ou com algum tipo de ruído colorido (ruído produzido pelos pneus de um carro viajando por uma rodovia, por exemplo). A melhoria dos sinais de voz, aqui considerados, consiste em procurar recuperar o sinal original a partir do sinal ruidoso �[�]. A Figura 1 representa a situação ideal, na qual se recupera o sinal original de maneira exata. 21 Figura 1: Esquema para a recuperação exata de um sinal de voz contaminado por ruído aditivo. Fonte: Elaborado pelo próprio autor. O nível de influência do ruído em um sinal pode ser medido de várias formas. Dentre as principais, destaca-se a SNR (Signal to Noise Ratio). Conhecida também como relação sinal/ruído. Expressa em decibéis (dB), a SNR também pode ser utilizada para avaliar o grau de melhoria que um algoritmo de redução de ruído causa no sinal. Em outras palavras, esta técnica também pode ser utilizada como uma medida de qualidade (NOCETI FILHO, 2004). Nas próximas subseções, a SNR será discutida mais detalhadamente. Neste sentido, também serão apresentadas algumas medidas de qualidade de voz frequentemente abordadas na literatura especializada. 2.2 Medidas subjetivas de qualidade Medidas de qualidade que utilizam seres humanos para a classificação dos sinais processados, são chamadas medidas subjetivas de qualidade de voz (YANG, 1999). Estas são baseadas em comparações dos dados dos sinais de voz, original e processado, por um ou mais ouvintes, que fazem uma classificação subjetiva ao longo de uma escala predeterminada (DELLER; PROAXIS; HANSEM, 1993). O procedimento é simples, porém requer uma grande quantidade de tempo e custo. As medidas subjetivas são baseadas na ideia de que a maioria das respostas dos ouvintes é semelhante para um mesmo sinal. Neste sentido, apresentam-se a um grupo de ouvintes os sinais de voz, original e processado, para que baseado nas respostas, possa-se fazer uma análise estatística dos resultados finais (YANG, 1999). Existem na literatura vários tipos de medidas subjetivas. Dentre elas, duas se destacam: a Mean Opinion Score (MOS) e a Degradation Mean Opinion Score (DMOS). Ambas são utilizadas com frequência para estimar o desempenho dos sistemas de telecomunicações (YANG, 1999). 22 � MOS – Ouvintes são utilizados para classificar a qualidade global de uma frase ou enunciado que está sendo testado, sem ter como referência o sinal original (YANG, 1999). A classificação é feita em cinco categorias, conforme a Tabela 1. � DMOS – Os ouvintes são indagados sobre a taxa de irritação ou nível de degradação de uma frase ou enunciado, comparando o sinal de teste com o original (YANG, 1999). A classificação é feita em cinco categorias, conforme a Tabela 2. Tabela 1: MOS e a qualidade do discurso correspondente. Classificação Qualidade do discurso 5 Excelente 4 Bom 3 Regular 2 Insatisfatório 1 Ruim Fonte: Yang (1999). Tabela 2: DMOS e o correspondente nível de degradação. Fonte: Yang (1999). 2.3 Medidas objetivas de qualidade Atualmente, os métodos mais precisos para a avaliação da qualidade de voz são os métodos subjetivos. Porém, por razões de custo e tempo necessários para a utilização destes métodos, muitos esforços estão sendo empregados no desenvolvimento de medidas objetivas (HU; LOIZOU, 2008). Classificação Nível de degradação 5 Inaudível 4 Audível mas não incômodo 3 Levemente incômodo 2 Incômodo 1 Muito incômodo 23 Para Deller; Proakis; Ransen (1993), as medidas objetivas de qualidade são baseadas em comparações matemáticas entre os sinais de voz original e processado. A avaliação por meio de medidas objetivas de qualidade proporciona meios repetitivos, precisos e quantitativos de se comparar o desempenho de algoritmos de melhoria em sinais de voz (SOARES, 2009). Para Quackenbush et al. (1988) e Hu e Loizou (2008), as medidas objetivas mais conhecidas e amplamente utilizadas são a Signal-to-noise ratio (SNR), a segmental SNR (SNRseg), que é uma variação da SNR original e a perceptual evaluation of speech quality (PESQ). Dentre as três medidas mencionadas, a PESQ apresenta uma dificuldade maior em sua realização. Proposta pela ITU (International Telecommunications Union), a avaliação realizada pela PESQ é baseada em características psicoacústicas do ouvido humano. Ela representa um modelo cognitivo e os resultados são expressos por meio de uma escala análoga à da avaliação MOS, ou seja, sua pontuação varia entre 1 e 5. Resultados considerados bons são aqueles cuja nota PESQ é maior ou igual a três, caso contrário, o sinal será considerado de baixa qualidade (BEERENDS ET AL., 2002). Em contrapartida, a SNR é de fácil implementação. Ela representa um erro médio sobre o tempo e a frequência do sinal processado (SOARES, 2009). Como estas medidas fazem uma comparação matemática dos sinais de voz original e processado, os mesmos precisam estar sincronizados. Caso contrário, o resultado obtido terá pouco a ver com as distorções introduzidas. A SNR, especificamente para um sinal de voz, é calculada da seguinte forma (DELLER; PROAKIS; HANSEN, 1993): SNR = 10 logHI J ∑ LMNOPQMRS∑ TMNOPQMRS U, (2) sendo �2 e 72 segmentos de voz e ruído, respectivamente. O número de amostras do segmento escolhido é representado por V. 24 . . 3 ANÁLISE WAVELET A primeira referência ao termo wavelet data de 1910, em uma tese de Alfred Haar (HAAR, 1910). Esta nova ideia de função foi difundida somente algumas décadas depois, onde passou a ser conhecida como a primeira função wavelet (SOARES, 2009). A teoria conhecida hoje acerca de wavelets foi apresentada em meados da década de 1980 por Jean Morlet, Yves Meyer e Alex Grossman, que integravam a equipe do Centro de Física Teórica de Marseille, na França (DUARTE, 2005). Em 1989, Stephane Mallat publicou um trabalho no qual utilizou bases de wavelets ortonormais para decompor uma imagem. Nesse trabalho, Mallat interligou o conceito de wavelets com a teoria de processamento digital de sinais (MALLAT, 1989). Este feito culminou com uma grande difusão da teoria wavelet. As funções wavelets podem distinguir as características locais de um sinal em diferentes escalas, e ainda, cobrir toda a região no qual o sinal é estudado por meio de translações. Pelo fato de a grande maioria das wavelets possuírem suporte compacto, elas são muito úteis na análise de sinais não-estacionários. Neste sentido, a análise wavelet leva certa vantagem com relação à análise de Fourier (LIMA, 2004). As funções wavelets constituem uma ferramenta matemática para decompor funções, permitindo que as mesmas sejam descritas de uma forma que apresente os mais finos detalhes, ou de uma forma grosseira que permita uma visão “global”. É interessante ressaltar que aproximação ou representação de funções, conhecidas ou não, por meio de funções especiais pode ser vista como um tema central da análise matemática (BLATTER, 1998). 25 As aplicações das funções wavelets se concentram principalmente na área de processamento de sinais. A análise de sinais é parte essencial das atividades científicas e tecnológicas contemporâneas. Algumas das aplicações de wavelets se dão em telecomunicações, medicina, televisão, compressão de imagens, análise de transitórios em linhas de potência, caracterização de sinais acústicos, física quântica, descontaminação de sinais, neurofisiologia, análise de sinais biomédicos (eletrocardiogramas, mamografias digitais, eletroencefalogramas, sequências de DNA), previsão de comportamento de mercado financeiro, entre outras (DUARTE, 2005). 3.1 Funções Wavelets Como a análise de Fourier, a análise wavelet lida com expansões de funções em termos de um conjunto base de funções. Em contrapartida à análise de Fourier, a análise wavelet expande funções, não em termos de polinômios trigonométricos, mas em termos de wavelets, que são geradas por dilatação e translação de uma função fixa dita wavelet mãe (LEE AND YAMAMOTO, 1994). É denotado por ��(ℝ) o espaço das funções, mensuráveis no sentido de Lebesgue, de quadrado integrável, comumente denominado de espaço das funções de energia finita, isto é, se �(�) ∈ ��(ℝ) então (BLATTER, 1998): ∫ |�(�)|�∞X∞ 4� < ∞. Fisicamente, a condição acima afirma que a energia total do sinal é finita. Lembrando que o espaço ��[�, �] é definido como segue: ��[�, �] = \�: [�, �] → ℂ ; ∫ |�(�)|�ab 4� < ∞d, onde se pode ter � = −∞ e/ou � = ∞. O produto interno em ��[�, �] é definido como: 〈�, �〉eN = ∫ �(�)�(�)ffffff 4�ab � e � ∈ ��[�, �]. É interessante salientar que, caso o intervalo [�, �] seja finito, têm-se a integral de Riemann (BOGGESS AND NARCOWICH, 2001). Para facilitar a compreensão, considere � = 0 e � = 1. O conjunto de funções {1, �, ��, �h … } é linearmente independente e pertence a ��[0,1]. A função �(�) = 1/� é um exemplo de função que não pertence a ��[0,1]. Note que 26 ∫ jHkm� 4�HI = ∞. Definição 1: Uma função �(�) ∈ ��(ℝ) é denominada wavelet se sua transformada de Fourier �9(�) satisfaz a condição (chamada condição de Admissibilidade): �n = ∫ qn� (r)qN |r|tXt 4� < ∞ . (3) Dessa condição, tem-se que limr→I �9(�) = 0 (DAUBECHIES, 1992). Deste modo, se �9(�) é contínua então �9(0) = 0. Como �9(�) = ∫ �(�)BX:rk4�tXt , segue que ∫ �(�)tXt 4� = 0. (4) Analisando a equação (4), conclui-se que �(�) deve oscilar de modo a cancelar as áreas positivas e negativas, tornando assim a integral igual a zero. Na Figura 2 é mostrado um exemplo de wavelet que ilustra a característica geométrica de �(�). Figura 2: Gráfico de uma Wavelet. Fonte: Duarte (2005). Dada uma função �(�) ∈ ��(ℝ), as funções wavelets associadas, via relação de translação e escala, são definidas por: �b,a(�) = Hx|b| � jkXab m (5) 27 onde a função �(�) é dilatada por um fator � e transladada por �. O fator |�| XH/� é de natureza técnica, e é usado para garantir que y�b,ay = 1 (BLATTER, 1998). A função �(�) é dita “wavelet mãe”, pois é a partir dela que é gerada uma família de wavelets, denominadas “wavelets filhas”, por meio da equação (5). As funções wavelets possuem suporte compacto, ou decaem exponencialmente a zero quando � → ±∞ (LEE AND YAMAMOTO, 1994). O que implica que as wavelets são funções que possuem uma boa localização no tempo. Contribuem para uma análise local de funções, o que difere das funções base da análise de Fourier, que são não-nulas em todo o intervalo de definição, e portanto contribuem globalmente. As funções utilizadas para expandir funções na análise de Fourier são as funções trigonométricas, seno e cosseno (FIGUEIREDO, 1977). Antes de prosseguir, fazem-se necessárias algumas definições. Definição 2: Uma coleção de funções {�z ∈ ��(ℝ); � ∈ ℤ} é um conjunto ortogonal se 〈�z, �~〉eN = 0 para � ≠ � . Uma coleção de funções {�z ∈ ��(ℝ); � ∈ ℤ} é um conjunto ortonormal se {�z} for ortogonal e ‖�z‖ = 1 para cada � ∈ ℤ . Definição 3. Um espaço de Hilbert é um espaço vetorial � com produto interno 〈. 〉 e com norma definida por ‖ ‖ = x〈 , 〉 ( ∈ �). Teorema. Suponha que �I seja um subespaço de um espaço de funções de Hilbert � munido com produto interno 〈. 〉. Suponha que {�H, … , �z} seja uma base ortonormal de �I. Se � ∈ �I, então: � = ∑ 〈�, �:〉�:z:�H . Demonstração: ver Apêndice A. Esta aproximação para � pode ser relaxada considerando um erro � na aproximação como segue. Definição 4. Considere um espaço de funções de Hilbert �. Uma coleção de funções {�z; � ∈ ℤ} ⊂ � é um conjunto ortonormal completo se esse conjunto for ortonormal e satisfazer a seguinte condição y∑ 〈�, �:〉�:z:�Xz y < �, para todo � pertencente a � e todo � > 0. 28 A Definição 4 afirma que combinações lineares, de uma dada base {�z} do espaço ��(ℝ), podem ser utilizadas para se obter aproximações de qualquer função do espaço gerado por essa base. Os conjuntos ortonormais completos também são chamados de bases ortonormais do espaço (GOMES; VELHO; GOLDSTEIN, 1997). 3.2 Transformada Wavelet Continua A transformada wavelet contínua ou CWT (do inglês Continuous Wavelet Transform) fornece uma análise tempo-frequência similar à transformada de Fourier janelada (WFT, do inglês Windowed Fourier Transform), porém, com uma diferença fundamental, explicada a seguir. Considere �(�), �(�) ∈ ��(ℝ). A transformada wavelet contínua de �(�), utilizando as funções �b,a(�), é definida como segue: %&(�, �) = ∫ �(�)tXt |�|X � jkXab m 4�, � ∈ ℝ; � ∈ ℝ∗; � ≥ 0. (6) Uma similaridade entre a transformada de Fourier Janelada e a transformada wavelet está no fato de que ambas tomam o produto interno de �(�) com uma família de funções indexadas por duas variáveis, �r,a(�) = �(� − �)B:rk para a WFT e �b,a(�) = |�|X �((� − �)/�) para a CWT. Essas funções geralmente são chamadas de funções moduladoras. Uma diferença relevante está no fato de que a WFT introduz uma escala fixa e analisa o sinal independentemente dos valores de �. Já a CWT possui a propriedade de adaptar a escala aos valores de � (DAUBECHIES, 1992). Na equação (6), o parâmetro � é o fator de escala. Faz-se uma analogia entre � e a escala utilizada em mapas. Se a escala aumenta, �b,a aumenta no tempo, capturando comportamentos de tempo longo. Se a escala diminui, �b,a sofre uma contração no tempo, capturando comportamentos de tempo curto, transitórios. Escala grande, significa visão global, enquanto que escala pequena significa visualização dos detalhes. Em outras palavras, |�| grande implica escala larga, ou baixa frequência de �b,a, |�| pequeno implica escala fina, ou alta frequência de �b,a (DAUBECHIES, 1992). A transformada wavelet sanou algumas deficiências da transformada de Fourier janelada. A principal delas é o caso em que os detalhes do sinal são menores que a largura da janela. Quando isto ocorre, têm-se um problema semelhante ao que ocorre com a 29 transformada de Fourier: esses detalhes não serão localizados, apesar de serem detectados. Caso as características sejam maiores que a largura da janela, tem-se o problema inverso (GOMES; VELHO; GOLDSTEIN, 1997). O parâmetro � da equação (6) corresponde ao deslocamento da origem sobre o eixo das abscissas. Analogamente à WFT, este parâmetro é responsável por deslizar a função moduladora �b,a sobre o eixo horizontal, a fim de cobrir todo o sinal. A transformada wavelet contínua, ou simplesmente transformada wavelet (WT), admite várias interpretações. Uma delas é que, por definição, %&(�, �) = 〈�, �b,a〉. Outra interpretação muito útil à teoria de processamento de sinais é que a WT corresponde a uma operação de filtragem de um sinal �(�) por um filtro cujos coeficientes são gerados pela função wavelet que está sendo utilizada na análise (STRANG AND NGUYEN, 1996). Um fato interessante é que o escalamento possibilita a compressão (� < 1) ou dilatação (� > 1) da wavelet mãe �(�). A wavelet mãe quando escalonada e deslocada no tempo, que é a operação de translação, origina as wavelets filhas �b,a(�) (GOMES; VELHO; GOLDSTEIN, 1997). Quando a transformada wavelet é aplicada a um sinal �(�), obtém-se os coeficientes wavelets, que são resultados da operação 〈�, �b,a〉. Estes coeficientes representam a semelhança entre a função �(�) e as wavelets filhas (VETTERLI; KOVA��EVIC´; GOYAL, 2011). Pensando em uma análise tempo-frequência, uma diferença entre a transformada de Fourier Janelada e a transformada wavelet está na forma das funções de análise, ou comumente chamadas funções moduladoras, �r,a e �b,a. As funções �r,a consistem de envelopes deslocados no tempo de � unidades e “preenchidos” por oscilações de altas frequências, todos possuindo a mesma largura. Em contrapartida, as wavelets �b,a têm a capacidade de adaptar a largura às frequências constituintes. Quando é constituída por baixas frequências, a wavelet é bem larga, já para altas frequências a wavelet será estreita (ARAÚJO, 2007). Neste sentido, pensando em analisar fenômenos de curta duração, como singularidades em funções, a transformada wavelet é superior à transformada de Fourier Janelada. A representação destes envelopes no plano tempo-frequência é chamada Caixa de Heisenberg (ARAÚJO, 2007). Nas Figuras 3 (a) e 3 (b), respectivamente, encontram-se as Caixas de Heisenberg para a WFT e a CWT. 30 Figura 3: Caixas de Heisenberg para a WFT (a) e para a CWT (b). (a) (b) Fonte: Adaptado de Araújo (2007). 3.3 Transformada Wavelet Contínua Inversa Se o sinal �(�) for decomposto utilizando uma wavelet �(�) que satisfaça a condição de admissibilidade: �n = ∫ qn� (r)qN |r|tXt 4� < ∞ , onde �9(�) é a transformada de Fourier de �(�), então é possível reconstruir o sinal através da transformada wavelet contínua inversa definida pela equação: �(�) = H�� ∫ ∫ %&(�, �) Hx|b|tXt � jkXab m �b�a|b|N tXt e, por conveniência, �(�) = H��|b|Nx|b| ∫ ∫ %&(�, �) tXt � jkXab m 4�4� . tXt (7) Nota-se que as equações (6) e (7) usam o mesmo núcleo, �b,a = |�|XQN� jkXab m,. Segundo Daubechies (1992), a equação (7) pode ser encarada de dois modos: � Um modo de reconstrução de �(�), desde que sua transformada wavelet inversa seja conhecida; � Um modo de representação de �(�), como uma superposição das wavelets filhas. 31 3.4 Transformada Wavelet Discreta Da discretização da CWT origina-se a transformada wavelet discreta (DWT, do inglês Discrete Wavelet Transform). Para isso, faz-se necessário a discretização dos parâmetros de escala � e de translação � (HERNANDES; WEISS, 1996): � = �I~ , � = ��I~�I , onde �, � ∈ ℤ, �I > 1 B �I ≠ 0. Substituindo � e � na equação (6), tem-se a transformada wavelet discreta: %&(�, �) = HxbS� ∫ �(�)� jkXzbS�aSbS� mtXt 4� . (8) Da equação (8) e das condições de discretização, fazem-se necessárias algumas observações (SOARES, 2009): � A transformada wavelet discreta é definida apenas para valores de escalas positivos �I > 1; � O passo de translação é proporcional à escala � = ��I~�I; � A transformada wavelet discreta produz um conjunto finito de coeficientes wavelet %&(�, �); � O processamento é realizado sobre o tempo contínuo. 3.5 Transformada Wavelet Discreta Inversa Segundo Daubechies (1992), uma função �(�) pode ser reconstruída através de seus coeficientes wavelets discretos se a wavelet mãe gerar um frame. Definição 5: Uma coleção de funções {�z; � ∈ ℤ} é considerada um frame se existem constantes < e �, satisfazendo 0 < < ≤ � < ∞, tal que para toda �(�) ∈ ��(ℝ): <‖�‖� ≤ ∑ |〈�, �z〉|� ≤ �‖�‖�tz�Xt . As constantes < e � são denominadas cotas ou limites do frame. Os limites < e � de um frame governam a precisão da reconstrução do sinal na transformada wavelet discreta inversa. Quanto mais próximos forem os valores de < e �, mais precisa será a reconstrução (BLATTER, 1998). A função �(�) é reconstruída pela equação 32 �(�) = ���� ∑ ∑ %&(�, �)�z(�)tz�It~�I . Se < = � o frame é chamado de tight. Um frame tight é exato se < = � = 1, implicando que todas as wavelets formam uma base ortonormal para ��(ℝ) e, então, a reconstrução de qualquer função será exata (DAUBECHIES, 1992). 3.6 Interpretação da DWT como um banco de filtros Em processamento digital de sinais, um problema relevante consiste em realizar uma boa representação do sinal que se deseja analisar, utilizando um número pequeno de sinais básicos. Estes sinais podem ser senoides ou wavelets. No ambiente das funções wavelets, os filtros digitais desempenham um papel importante. A transformada wavelet discreta pode ser interpretada como um banco de filtros (STRANG AND NGUYEN, 1996). Para entender a função que um filtro pode desempenhar em situações práticas, considera-se o problema de compressão de sinais. Sinais presentes na natureza possuem um conteúdo altamente oscilatório. Para efeito de compressão, pode-se trabalhar com os componentes de baixas e altas frequências através de filtros passa-baixas e passa-altas. Um filtro passa-baixas não permite que as oscilações de mais alta frequência do sinal passem por ele, obtendo assim os componentes de baixas frequências. O filtro passa-altas permite que tais oscilações passem por ele, obtendo desta forma os componentes de alta frequência do sinal. A partir desta decomposição, os filtros de síntese podem reconstruir o sinal original de maneira exata. O processo de compressão é feito entre a fase de análise (decomposição) e a fase de síntese (reconstrução). Frequências que são mal representadas podem ser intencionalmente esquecidas, desconsideradas. A eliminação de tais coeficientes não prejudicará o processo de reconstrução (STRANG AND NGUYEN, 1996). Um algoritmo eficiente para calcular a transformada wavelet discreta (DWT) foi proposto por Mallat (MALLAT, 1989; MALLAT, 1999). Este método, chamado de Transformada Wavelet Rápida, usa um banco de filtros digitais numa estrutura de árvore (DAUBECHIES, 1992; STRANG AND NGUYEN, 1996), conforme ilustrado na Figura 4. Esta estrutura é chamada de árvore de decomposição wavelet. 33 Figura 4. Árvore de decomposição wavelet (banco de filtros de análise). y=x0,0{y} H(z) G(z) ↓2 ↓2 H(z) G(z) ↓2 ↓2 y=x0,0{y} x0,1{y} x1,1{y} x1,2{y} x0,2{y} … Fonte: Adaptado de Mallat (1999). Na Figura 4, y representa o sinal a ser decomposto e os coeficientes I,:{�} e H,:{�} estão relacionados, respectivamente, com as aproximações e os detalhes do sinal no nível de resolução ; (; = 1, 2, … ). H e G são filtros passa-baixas e passa-altas, respectivamente, convenientemente escolhidos de forma a garantir que o banco de filtros seja invertível. (↓2) denota uma operação de subamostragem (downsampling), que consiste em remover uma a cada duas amostras do sinal. Cada filtro, seguido do operador de subamostragem é chamado ou de canal passa-baixas ou de canal passa-altas. Como as wavelets têm uma natureza passa-faixas (RIOUL AND VETTERLI, 1991), os detalhes estão associados a faixas de frequências do sinal analisado, cada uma situada aproximadamente entre 2X(:�H)�L e 2X:�L, sendo que s� é a taxa de amostragem. Algumas restrições sobre os filtros H e G garantem que a árvore de decomposição wavelet seja invertível, isto é, que o sinal y possa ser reconstruído a partir de seus coeficientes de aproximação e detalhes (STRANG AND NGUYEN, 1996). A estrutura inversa da DWT, apresentada na Figura 5, é chamada de árvore de reconstrução wavelet. Figura 5. Árvore de reconstrução wavelet (banco de filtros de síntese). Fonte: Adaptado de Mallat (1999). Hr(z) Gr(z) ↑2 ↑2 Hr(z) Gr(z) ↑2 ↑2 y=x0,0{y} x0,1{y} x1,1{y} x1,2{y} x0,2{y} … + + + + 34 Na Figura 5, Hr e Gr são filtros de reconstrução associados aos filtros H e G apresentados na Figura 4. (↑2) denota a operação de sobreamostragem (upsampling), que consiste em inserir um zero entre cada duas amostras do sinal. Cada um dos filtros usados no processo de decomposição e reconstrução tem 2k pesos. Se o banco de filtros da DWT é ortogonal e se ℎ2 e �2 são os respectivos pesos dos filtros H e G, na Figura 4, então os pesos ℎ2� e �2� dos respectivos filtros de reconstrução Hr e Gr são obtidos a partir da equação (9) (STRANG AND NGUYEN, 1996). � ℎ2� = ℎ(��XH)X2, 3 = 0, … ,2� − 1�2� = �(��XH)X2 3 = 0, … ,2� − 1� (9) 35 . . 4 MÉTODOS DE REDUÇÃO DE RUÍDO EM SINAIS DE VOZ NO DOMÍNIO WAVELET O procedimento básico de eliminação de ruído em sinais de voz, no domínio wavelet, pode ser resumidamente descrito como se segue: � Considere um quadro do sinal ruidoso (técnica de janelamento); � Calcule a sua transformada wavelet; � Aplique uma técnica de filtragem de ruído no sinal transformado; � Calcule a transformada wavelet inversa destes coeficientes; � Use a parte central do quadro para compor a saída; � Repita os procedimentos anteriores para todos os blocos. A técnica de janelamento referida é comumente empregada com 50% de sobreposição. Geralmente, a função limiar é aplicada apenas aos coeficientes de detalhes. Considera-se que os coeficientes de aproximação representam a estrutura básica do sinal original (SOARES, 2009). A transformada wavelet vem sendo amplamente utilizada em métodos de processamento de sinais de voz. Isto se deve principalmente ao fato já mencionado na seção 3.2, de que com a TW é possível ajustar a escala para se obter máxima resolução no processo de decomposição, minimizando possíveis perdas. Sendo assim, a transformada wavelet se torna uma ferramenta eficiente no processo de modelagem de sinais não-estacionários, como é 36 o caso dos sinais de voz (STRANG AND NGUYEN, 1996). Outra característica explorada pelos métodos que usam wavelets é que, no domínio wavelet, a energia do sinal está concentrada principalmente em um número pequeno de coeficientes (MORETTIN, 1999). Se comparados com os demais, estes coeficientes assumem valores relativamente maiores. Neste sentido, pode-se eliminar ou atenuar os coeficientes com valores absolutos próximos de zero para combater o ruído enquanto que se preserva a informação relevante do sinal original. A Figura 6 ilustra este fato. Nela consta um trecho de um sinal de voz limpo e sua transformada wavelet. O segmento é um trecho de voz de um sinal em português (a), e o mesmo decomposto usando a função wavelet de Daubechies de ordem 10 (b). Utilizou-se uma janela de Hanning com 256 pontos para a aquisição do sinal. Figura 6: Trecho de um sinal de voz (a) e sua transformada Wavelet (b). (a) (b) Fonte: Elaborado pelo próprio autor. A seleção de uma função wavelet para o tratamento de um sinal de voz pode ser baseada em alguns critérios. Para Duarte (2005), uma boa escolha seria aquela que minimiza o erro na reconstrução do sinal e maximiza a relação sinal/ruído (SNR). Um segundo critério a se considerar é o fato de que grande parte da energia de um sinal de voz está concentrada nas baixas frequências (DELLER; PROAKIS; HANSEN, 1993). Sendo assim, a melhor escolha para uma base wavelet estaria fundamentada na propriedade de conservação de energia nos coeficientes de baixa frequência. As seções subsequentes deste capítulo têm por objetivo passar a ideia geral por trás dos métodos que utilizam o limiar e dos métodos que não o utilizam. 0 50 100 150 200 250 300 -0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 n A m pl itu de 0 50 100 150 200 250 300 -0.2 -0.15 -0.1 -0.05 0 0.05 0.1 0.15 n A m pl itu de 37 4.1 Redução de ruído em sinais de voz por métodos que utilizam limiares Um fator importante em processamento de sinais de voz é reduzir potencialmente o ruído, ao mesmo tempo em que se mantém a qualidade ou a inteligibilidade do sinal. Para isso, faz-se o uso das transformadas integrais. Existem métodos que utilizam a transformada de Fourier (VIEIRA FILHO, 1996) e outros que utilizam a transformada wavelet discreta (DWT) (DONOHO, 1995; DAE-SUNG et al., 2002; DUARTE, 2005; SOARES, 2009). Para Nievergelt (1999) e Morettin (1999), a vantagem da transformada wavelet está no fato de que muitos coeficientes são irrelevantes na reconstrução do sinal. Assim, uma atuação mais drástica nestes coeficientes, não afetaria uma reconstrução perfeita do sinal original. É interessante lembrar, que este fato propicia aplicações como compressões de sinais no domínio wavelet (DUARTE et al., 2003). As primeiras funções de limiar que surgiram foram as Hard thresholding e a Soft thresholding (ANTUNES, 2006). Apesar dessas funções ainda serem fortemente utilizadas na literatura, nasceram outras funções com a finalidade de se obter melhores resultados. Cita- se como exemplo a função Sigmoidal thresholding (DUARTE, 2005). Sendo � a representação do sinal �(�) no domínio wavelet, as equações (12), (13) e (15) contêm as funções de transferência para os métodos citados anteriormente. Hard thresholding. Este método elimina os coeficientes que estão abaixo do limiar. Apresentando grande eficiência no caso de compressão de sinais (SOARES et al., 2008): �k�� = � � , �B |�| > ' 0, �B |�| ≤ ' .� (12) Soft thresholding. Neste caso, assume-se que os componentes ruidosos são distribuídos igualmente em todos os coeficientes wavelets. Deste modo, todos os coeficientes acima do limiar são reduzidos (SOARES et al., 2008). �k�� = ����(�)(|�| − ') �B |�| > '0 �B |�| ≤ '� (13) Sigmoidal thresholding. Este método atenua os coeficientes que estão abaixo do limiar usando a função sigmoide apresentada na equação (14). Os coeficientes são atenuados por um fator dependente de seus próprios valores. Sigmoide (�) = HX"�� H�"�� , (14) �k�� = � � , �B |�| > '�qSigmoide (�)q, �B |�| ≤ '�. (15) 38 Existem vários métodos para se calcular o limiar, dentre eles se destaca o método VisuShrink proposto por Donoho e Johnstone (1994). Este limiar é comumente denominado limiar universal. Justifica-se pelo fato de ser válido para sinais gerais (BALAKRISHNAN; BORGES; PARCHMENT, 2010): ' = �x2 log(V) onde V é o comprimento de � e � = mediana (|�|)/0,6745, que representa a estimativa do ruído ou ainda uma aproximação do desvio padrão do ruído. Tanto o limiar hard como o soft introduzem descontinuidades no tempo e na frequência do sinal em processamento, o que pode ser observado como falhas no espectrograma do mesmo. Na prática, este fato é notado por um sussurro, um desconforto auditivo no momento de transição de um trecho considerado ruidoso para um trecho de voz (DUARTE, 2005). Alguns métodos que fazem o tratamento de um sinal levando em conta o limiar se mostraram eficientes, principalmente quando combinados com alguma outra metodologia (SOARES, 2009). Porém, estes apresentam problemas quando alguns coeficientes ruidosos possuem valores maiores ou iguais aos coeficientes de voz. Isto ocorre com frequência quando o ruído presente no sinal for o ruído colorido, que é o tipo de ruído geralmente presente em situações reais. Neste caso, o algoritmo pode confundir voz com ruído, eliminando coeficientes importantes e inserindo distorções na fala. O problema inverso acontece quando, após a contaminação, muitos coeficientes redundantes assumem valores acima do limiar. O que acarreta um excesso de ruído no sinal processado. Por fim, outro problema está relacionado à utilização de um único valor de limiar para todas as faixas de frequências do sinal (DUARTE, 2005). Uma forma de se evitar a degradação do sinal consiste na identificação dos trechos de voz e silêncio. Alguns métodos propostos usam medidas baseadas na distribuição de energia, em cada janela do sinal analisado, para a identificação destes trechos (DUARTE, VIEIRA FILHO; VILLARREAL, 2009; SHEIKHZADEH AND ABUTALEBI, 2001; SEOK AND BAE, 1997). Após a identificação, pode-se utilizar um segundo limiar para atuar em trechos considerados de voz. Duarte (2005) afirma que um bom algoritmo de redução de ruído baseado no limiar deve identificar trechos de silêncio/voz, assim como trechos voiced/unvoiced. Trechos considerados unvoiced são aqueles em que o som das letras podem se confundir com ruído. Dependendo do contexto, pode ser o caso das letras s, f e x. De um modo mais geral, quando 39 as cordas vocais vibram e produzem som, este é denominado voiced. Caso as cordas vocais não vibrem durante a produção do som, temos um segmento unvoiced (DELLER; PROAKIS; HANSEN, 1993; ATAL AND RABINER, 1976). Desta forma, o método de limiar deve ser aplicado de maneira diferente também para estas regiões. 4.2 Redução de ruído em sinais de voz por métodos não-limiares Como citado na seção anterior, métodos para redução de ruído em sinais de voz baseados em limiares, podem ser muito delicados. Eles podem facilmente introduzir distorções, ocasionando desconfortos ao ouvinte. Uma forma de sanar os problemas apresentados por estes métodos seria o uso de uma técnica que pudesse atuar no sinal, de acordo com seu próprio conteúdo ruidoso (SOARES et al., 2008). Neste sentido, o limiar já não se faz necessário. A principal ideia por trás dos métodos não-limiares é o uso de um único operador. Este tem por finalidade atuar de maneira equivalente em todo o sinal, de modo a reduzir o ruído sem a inserção de distorções. Para isso, é desejável que este operador seja contínuo, e ainda, que seu gráfico seja uma curva suave. Levando em conta este fato, alguns autores fazem o uso de um ou mais operadores que atuam de maneira análoga em todo o sinal. Aproveitam-se as características particulares de cada um, combinando-os de maneira a manter as principais características do sinal de voz (SOARES, 2009; QIANG AND WAN, 2003). Os métodos considerados não-limiares vêm se mostrando eficientes. Isto se deve principalmente ao fato de suas funções de transferências não apresentarem descontinuidades. Porém, como era de se esperar, apresentam alguns problemas. Analogamente aos métodos que usam limiares como, por exemplo, dificuldades no tratamento de regiões unvoiced. 4.2.1 Análise de um método não-limiar Como visto nas seções anteriores, apesar de eficientes, os métodos de redução de ruído baseados em wavelets podem apresentar alguns inconvenientes. Assim, pode-se dizer que a busca por métodos baseados em wavelets que não utilizem limiares é um dos objetivos dos pesquisadores da área de processamento de sinais. Soares et al. (2011) apresentam uma metodologia para redução de ruído, sem o uso de limiar, que proporciona resultados satisfatórios. Este método consiste na aplicação de três operadores parciais e independentes, com o objetivo de tornar o sinal ruidoso inteligível. O 40 filtro para a redução de ruído é constituído pela combinação polinomial de três operadores mais um ajuste sigmoidal. Este último é aplicado com o intuito de manter as amplitudes dos sinais, original e processado, no mesmo intervalo. A seguir é apresentada uma descrição detalhada deste método. Seja �[�] = {�I, … , �¢XH} um sinal ruidoso no domínio wavelet. Soares et al. (2011) propõem os seguintes operadores: � Operador Média Simples (OMS) �2 = |£M|�|£M¤Q|� , para 3 = 0, … V − 2, e �¢XH = �¢X� . (16) � Operador relação sinal/ruído a priori (SNRP) .2 = |£M|¥�|£M| , para 3 = 0, … , V − 2 e .¢XH = .¢X�. (17) � Operador relação sinal/ruído a posteriori (SNRPR) ¦2 = |£M|¥� |£TM| , para 3 = 0, … , V − 2 e ¦¢XH = ¦¢X�. (18) Nas equações (17) e (18), > é um valor compreendido no intervalo [0,1]. O vetor �72 representa a média do ruído presente nos correspondentes componentes do último trecho de silêncio do sinal em processamento. O operador SNRPR é aplicado apenas nas regiões de voz do sinal. A combinação polinomial dos operadores dados nas equações (16), (17) e (18) é feita segundo a equação (19). �2 = �2h + .2� + ¦2 (19) O objetivo da equação (19) é minimizar as distorções produzidas pelos operadores OMS e SNRP. Num primeiro momento, a redução de ruído se daria pela multiplicação dos coeficientes �2, pelos coeficientes �2 do sinal ruidoso. Porém, esta operação aumenta consideravelmente a amplitude do sinal processado, excedendo a amplitude do sinal original. Neste sentido, é feito um ajuste sigmoidal nos coeficientes �2: ℎ2 = §HX"P¨©MH�"P¨©M . HX"¨©MH�"¨©M §. (20) O parâmetro ! controla a inclinação das duas sigmoides envolvidas na equação (20). Para fortes níveis de contaminação, é necessário utilizar um valor pequeno para !, a fim de efetuar 41 uma maior redução de ruído. A equação (20) gera os coeficientes do filtro utilizado para a redução do ruído, e, normaliza a amplitude do sinal processado no intervalo [-1,1]. O processo de filtragem se faz através do produto entre os coeficientes ℎ2 do filtro - e os correspondentes coeficientes �2 do sinal ruidoso �[�], no domínio wavelet. Obtêm-se assim os coeficientes do sinal processado �9[�], no domínio wavelet, conforme a equação (21). �92 = �2. ℎ2 (21) O sinal processado resultante ��[�] é obtido através da IDWT aplicada nos coeficientes de �9[�]. O diagrama de blocos do método proposto por Soares et al. (2011) é mostrado na Figura 7. Figura 7: Diagrama do Método Proposto por Soares et al. (2011). Fonte: Adaptado de Soares (2009). Os testes realizados usando este método mostraram que o mesmo é mais eficiente quando o ruído em questão é o ruído branco. Vale ressaltar que, bons resultados também foram alcançados quando o ruído presente no sinal era o colorido. A grande vantagem deste método é o uso de uma função de transferência que não utiliza o limiar para reduzir o ruído. A função, sendo contínua, não introduz distorções nos trechos de voz do sinal, causando também uma redução uniforme do nível de ruído em todo o sinal (SOARES, 2009). O uso da função sigmoide faz com que o filtro construído para atuar na redução de ruído, não atinja uma amplitude maior do que 1. Este fato impede que a amplitude do sinal processado extrapole a amplitude do sinal original. 42 . . 5 METODOLOGIA PROPOSTA Em processamento de sinais de voz, a busca por métodos de redução de ruído que não utilizem limiares vem se tornando mais frequente. Deve-se isso à necessidade de sanar alguns inconvenientes gerados por métodos que utilizam limiar (ver seção 4.1). O atrativo em métodos não-limiares é a possibilidade de um tratamento equivalente para todas as faixas de frequência do sinal analisado, evitando desconfortos auditivos ao ouvinte. Soares et al. (2011) propôs um método que realiza uma redução de ruído uniforme em todo o sinal. Deve-se isto à obtenção de um filtro que atua no sinal levando em consideração o nível de ruído presente em cada coeficiente, e não em cada janela, como é o caso da maioria dos métodos que utilizam limiar. Com base nas observações feitas anteriormente, busca-se um método de redução de ruído em sinais de voz, no domínio wavelet, que possa sanar algumas das dificuldades citadas. O objetivo é a construção de um filtro que atue no sinal levando em consideração informações contidas em cada coeficiente ou em uma vizinhança do mesmo. Com isso, não se faz necessário o uso de um único valor (valor do limiar) como referência para processar todos os coeficientes de uma faixa de frequência do sinal. 43 5.1 Objetivos do método proposto A metodologia de redução de ruído proposta neste trabalho consiste na estimação do sinal de saída a partir de um sinal ruidoso, no domínio wavelet, sem o uso de limiar. O sinal é estimado por equações de diferenças finitas (SPERANDIO; MENDES; SILVA, 2003; DUARTE, 2010). Para a estimação do ruído é usado o operador SNRP proposto por Soares et al. (2011), que é aplicado em cada uma das equações de diferenças. Uma combinação polinomial é realizada de maneira a condensar todas as equações de diferenças em uma única função de transferência. Esta, por sua vez, sofrerá um ajuste sigmoidal, visando uma melhor adequação entre as amplitudes dos sinais original e processado. Porém, antes disto, propõe-se uma pré-filtragem, realizada por um operador denominado Dif. O filtro é obtido no último passo, que consiste em um ajuste sigmoidal. A Figura 8 apresenta o esquema do método proposto neste trabalho. Figura 8: Diagrama do método proposto. Fonte: Elaborado pelo próprio autor. De acordo com o diagrama da Figura 8, dado um sinal ruidoso �(�) no domínio do tempo, o método proposto é aplicado da seguinte forma: 44 1- Aplica-se a transformada wavelet discreta a �(�), com �(�) = �(�) + 7(�), sendo �(�) o sinal de voz limpo e 7(�) o ruído adicionado, para obter o sinal transformado �[�]. 2- Calculam-se as equações de diferenças a partir do sinal transformado �[�]. As restrições para o uso de cada equação e a justificativa para usá-las serão assuntos das seções subsequentes. 3- A partir das equações de diferenças, obtêm-se as curvas determinadas pelo operador SNRP. 4- Após a obtenção das curvas relacionadas às diferenças e ao operador SNRP, é realizada uma combinação polinomial das mesmas, aproveitando assim as informações inerentes a cada equação. 5- A curva obtida pela combinação polinomial recebe um tratamento específico nas altas frequências, realizado pelo operador Dif. As características deste operador, e a razão em utilizá-lo, serão explicadas nas próximas seções deste capítulo. 6- Um ajuste sigmoidal é realizado, assim como em Soares et al. (2011), para que os coeficientes da curva obtida no passo anterior permaneçam no intervalo [-1,1] e, desta forma, a amplitude do sinal original seja mantida. 7- Feito o ajuste sigmoidal, o filtro utilizado no processo de filtragem está concluído. A filtragem do ruído é feita através do produto dos coeficientes do filtro pelos respectivos coeficientes do sinal �(�), no domínio wavelet. 8- Por fim, após a filtragem, o sinal processado ��(�) é reconstruído usando a transformada wavelet discreta inversa. Na sequência, serão apresentados detalhadamente todos os processos descritos acima. Para isto será considerado o sinal de voz limpo �(�), no formado wav, que modela a seguinte frase: �(�): §"-B4�B ���«B� ��� ���3� �¬­¦ ℎ��4� �¦BB�. " � A partir do sinal de voz limpo �(�), com a contaminação com ruído colorido 7(�), obtêm-se o sinal ruidoso �(�) = �(�) + 7(�) (vide Figura 10). Ainda para a descrição dos processos propostos, serão considerados também: � Os sinais 8[�] e %[�], obtidos usando a transformada wavelet discreta de Daubechies (db10) a partir dos sinais �(�) e 7(�), respectivamente; 45 � O sinal ruidoso �[�], obtido após a contaminação da seguinte forma: �[�] = 8[�] + %[�]. Determinou-se o uso da função wavelet de Daubechies de ordem 10 (db10), levando em consideração os estudos realizados por Duarte (2005). O autor verificou, para diversas funções wavelets, alguns aspectos fundamentais para o processamento de um sinal de voz. Tais aspectos foram: nível de redução de ruído, distorção e tempo de processamento. Para medir o nível de distorção, foi usada a distância cepstral média. A função wavelet que se sobressaiu durante os ensaios foi a Daubechies de ordem 10. 5.2 O uso das equações de diferenças para estimar o sinal de saída A estimação do sinal de saída é feita através das equações de diferenças usadas na diferenciação numérica e resolução numérica de equações diferenciais. Além do uso das diferenças centradas e avançadas de primeira e segunda ordem, proposto por Duarte (2010), propõe-se o uso das diferenças de terceira e quarta ordem. Considere um sinal de voz no domínio wavelet �[�] = {�I, … , �zXH}. Os coeficientes obtidos pelas diferenças finitas centradas e avançadas são representados respectivamente por �2: e �2:. O índice ; representa a ordem das equações e o índice 3 representa uma posição arbitrária, no tempo discreto �, do sinal em processamento. Seguem abaixo as equações referentes a todas as diferenças finitas (SPERANDIO; MENDES; SILVA, 2003). � Diferenças centradas de primeira a quarta ordem: �2H = H� (�2�H − �2XH), (22) �2� = �2�H − 2�2 + �2XH, (23) �2h = H� (�2�� − 2�2�H + 2�2XH − �2X�), (24) �2® = �2�� − 4�2�H + 6�2 − 4�2XH + �2X�. (25) � Diferenças avançadas de primeira a quarta ordem: �2H = �2�H − �2, (26) �2� = �2 − 2�2�H + �2��, (27) �2h = −�2 + 3�2�H − 3�2�� + �2�h, (28) �2® = �2 − 4�2�H + 6�2�� − 4�2�h + �2�®, (29) Desta forma, obtêm-se, respectivamente, os vetores de mesmo comprimento de �: 46 �H[�] = {�IH, �HH, … , �zXHH }, ��[�] = {�I�, �H�, … , �zXH� }, �h[�] = {�Ih, �Hh, … , �zXHh }, �®[�] = {�I®, �H®, … , �zXH® }, ∈]0,1[. O operador �(=) faz a estimativa do ruído presente em cada coeficiente do vetor de diferenças =[�], característico dos métodos baseados na SNR a priori (COHEN, 2004). Sendo assim, o uso deste operador para o tratamento de sinais de voz não causa distorções nos trechos de voz (SOARES, 2009). Por fim, o sinal estimado é dado pela combinação polinomial da função dada na equação (30), quando aplicada às diferenças apresentadas na seção 5.2. Os detalhes desta operação serão tratados na próxima seção. 5.4 Combinação polinomial para se estimar o sinal de saída O processamento via combinação polinomial combina as curvas produzidas pela função �(=), quando aplicada a cada uma das diferenças. O objetivo é reduzir o ruído e evitar distorções no sinal. O processamento usado em trechos de silêncio difere do usado em trechos de voz. Sendo assim, faz-se necessário o uso de um detector silêncio/voz. Considere = como sendo o conjunto formado pelos vetores das diferenças centradas �: = °�2:q 0 ≤ 3 ≤ V − 1} e avançadas <: = °�2: q 0 ≤ 3 ≤ V − 1}, de ordem ;(1 ≤ ; ≤ 4) e comprimento V − 1. Considere também �[�] = {BI, … , B¢XH}, o conjunto imagem da função em questão. A combinação polinomial proposta no trabalho consiste na introdução da função �� ∶ = → �[�] definida por �� ³�2:´ = B2 e �� ³�2:´ = B2, para 3 = 0, … , V − 1 e 1 ≤ ; ≤ 4, cujos elementos B2 são obtidos de acordo com a equação (31). Tal função é responsável pela estimação do sinal de saída, que posteriormente, recebe o ajuste sigmoidal abordado na seção 5.6. Para entender como V e � se relacionam, considere um sinal ruidoso de comprimento V = 2z a ser processado: �[�] = \ ��� , ����H ∶ 0 ≤ � ≤ �µX�� d. Este sinal pode ser representado como segue: �[�] = {�I, �H, … , ���, ����H , … , ��µX�, ��µXH} = {�I, �H, … , ��� , ����H , … , �¢X�, �¢XH} , 51 considerando que � ∈ ℝ¢. Na prática, toma-se uma janela de comprimento V = 2z do sinal �[�] a ser processado, verifica-se se a janela está em uma região de silêncio ou de voz. Para fins didáticos, cria-se uma variável binária denominada decisão. Se a janela estiver numa região de silêncio, atribui-se à variável o valor 0 (zero). Caso a região seja de voz, atribui-se à mesma o valor 1 (um). Sendo assim, os coeficientes B2 do conjunto �[�] são obtidos da seguinte forma: B2 = ��(�2H) + �(�2H) + �(�2�) + �(�2�) se 4B�3�㬠= 0 �(�2H) + �(�2H) + �(�2�) + �(�2�) + �((�2h)�) + �((�2h)h) + �((�2®)h) + �((�2®)h) se 4B�3�㬠= 1.� (31) As potências aplicadas às diferenças de terceira e quarta ordem foram determinadas de modo empírico, com o objetivo de reduzir o ruído presente nos trechos de voz. Com isso, acrescentam-se às diferenças de primeira e segunda ordem apenas coeficientes realmente importantes ao processo de reconstrução. O objetivo é melhorar a qualidade da voz no sinal processado. É evidente que, com esta operação, cada coeficiente recebe uma atenuação que depende apenas de seu próprio valor. Os valores destes coeficientes, em geral, são menores que um. Assim, quanto menor o valor do coeficiente, maior será a atenuação. Em contrapartida, feita a combinação conforme a equação (31), a amplitude da função �� será maior que um, extrapolando a amplitude do sinal original após o processamento. A Figura 14 apresenta, em vermelho, uma representação do sinal de voz limpo �(�) e, em azul, uma representação do mesmo processado pela função �� . O processamento se faz pela multiplicação dos coeficientes da função �� , pelos respectivos coeficientes do sinal �[�], no domínio wavelet. Já a Figura 15 trás uma representação do sinal de voz processado ��(�), usando a função �� e a transformada wavelet inversa, a partir do sinal de voz limpo �(�), contaminado com ruído colorido. Analisando a Figura 15, verifica-se que há redução de ruído, porém, ressaltam-se os coeficientes referentes à voz. Este fato é essencial para não haver perda nas amplitudes intermediárias ou baixas do sinal no domínio do tempo, durante o processo de filtragem. Este fato será assunto das seções subsequentes. 52 Figura 14: Sinal processado ��(�) a partir do sinal original limpo �(�), usando a função �� e a transformada wavelet inversa. Fonte: Elaborado pelo próprio autor. Figura15: Sinal processado ��(�) a partir do sinal �(�) contaminado por ruído colorido, usando a função �� e a transformada wavelet inversa. Fonte: Elaborado pelo próprio autor. 0 0.5 1 1.5 2 2.5 x 10 4 -3 -2 -1 0 1 2 3 tempo A N sinal processado sinal original 0 0.5 1 1.5 2 2.5 x 10 4 -3 -2 -1 0 1 2 3 tempo A N 53 Uma desvantagem a se considerar neste processamento é o tratamento diferenciado para silêncio e voz. Este tipo de processamento pode gerar desconforto ao ouvinte, pois causa “estampidos” na audição do sinal (SOARES, 2009). O uso das potências nas diferenças de terceira e quarta ordem se justifica pelo fato de que, com isso, a maioria absoluta dos coeficientes ruidosos é eliminada. Desta forma, acrescentam-se ao processamento somente coeficientes relevantes, minimizando os efeitos indesejáveis. 5.5 O operador Dif Alguns métodos de redução de ruído que utilizam limiar, a fim de alcançar melhores resultados, diferenciam o tratamento para regiões consideradas unvoiced (DUARTE, 2005). Isto se deve ao fato de que estas regiões se confundem ao ruído, isto é, as chances das mesmas ficarem abaixo do limiar calculado é muito grande. Apesar do método proposto não utilizar nenhum tipo de limiar, destinou-se uma atenção também aos trechos considerados unvoiced. Neste sentido, propõe-se um operador que tem como função minimizar estas perdas, denominado Dif. Para entender o funcionamento deste operador, considera-se o esquema de um banco de filtros (ver Figura 16), onde o sinal no domínio wavelet pode ser dividido em diferentes faixas de frequência. Os sons unvoiced estão localizados em quase todo o espectro, reconhecidos com o aumento de energia em altas frequências quando comparados às regiões voiced (DUARTE, 2005). O operador proposto Dif realiza um tratamento específico nas altas frequências, tendo como objetivo eliminar ruído ao mesmo tempo em que evidencia as regiões voiced e unvoiced. Este processo pode ser encarado como uma pré-filtragem. Figura 16: Esquema de frequências de um banco de filtros. Fonte: Elaborado pelo próprio autor. 54 Em particular, divide-se o sinal de voz no domínio wavelet em três faixas diferentes e equivalentes: �, -� e -H. O operador Dif é aplicado sobre os coeficientes B2 obtidos do processo de combinação polinomial conforme a equação (32). No Apêndice D, é apresentada uma explicação mais detalhada sobre a razão da expressão do operador Dif. =3�(B2) = ¶·�̧ . (B2)h se B2 está contido em -� ou -H B2 , caso contrário. � (32) Em outras palavras, os coeficientes da primeira terça parte do espectro não serão alterados, pois eles já foram trabalhados pelos processos anteriores. Este operador propicia uma maior redução de ruído, minimizando as perdas de coeficientes relevantes. Na Figura 17 é mostrado o gráfico da função definida pela equação (32). Note que os coeficientes com amplitude abaixo de 0,5 receberão uma leve atenuação, enquanto que os coeficientes com amplitude superior receberão um ganho em amplitude. É evidente que este processamento causará um aumento demasiado na amplitude do sinal processado. No entanto, justifica-se seu uso pelo fato de evidenciar regiões unvoiced e voiced, ver Figura 18 (a) e 18 (b). Outro fato relevante, é que este operador atua de maneira equivalente em todas as janelas, evitando ‘estampidos’, incômodos ao ouvinte. Figura 17: Gráfico do operador Dif. Fonte: Elaborado pelo próprio autor 0 0.5 1 1.5 2 2.5 3 1 2 3 4 5 6 7 8 9 10 tempo A N 55 Figura 18: Sinal processado ��(�) a partir do sinal original limpo (�), usando o operador Dif e a transformada wavelet inversa (a); Zoom na região demarcada (b). (a) (b) Fonte: Elaborado pelo próprio autor. Analisando a Figura 18 (b), o primeiro trecho de voz é um trecho unvoiced. Note que esta região ficou bem evidenciada, quando comparada ao sinal original. Este fato é muito importante para garantir uma forte redução de ruído, aliada ao mínimo de distorção possível, durante o processo de filtragem. O Apêndice C destaca a contribuição do operador Dif no processamento proposto, nele consta uma análise da influência deste operador. 0 0.5 1 1.5 2 2.5 x 10 4 -8 -6 -4 -2 0 2 4 6 8 10 tempo A N sinal processado sinal original 3000 4000 5000 6000 7000 8000 9000 -5 -4 -3 -2 -1 0 1 2 3 4 5 tempo AN sinal processado sinal original 56 5.6 Obtenção do filtro de redução de ruído A fim de preservar a amplitude original do sinal, o filtro -[�] = {ℎI, ℎH, … , ℎzXH}, utilizado no processo de filtragem, é adquirido via ajuste sigmoidal dos coeficientes do sinal estimado. Os coeficientes de - são obtidos conforme a equação (33) (SOARES 2009; SOARES et al., 2011): ℎ2 = ¹HX"P¨ºMH�"P¨ºM . HX"¨ºMH�"¨ºM ¹. (33) O parâmetro ! controla a inclinação das duas sigmoides e é calculado conforme a seguinte equação (SOARES et al., 2011): ! = E. D. (34) sendo D o desvio padrão da janela em processamento e E um valor baseado na potência do ruído. O objetivo deste ajuste é combinar os processamentos propostos pelas equações de diferenças apresentadas na seção 5.2, mantendo a amplitude do sinal original. A equação (33) gera os coeficientes do filtro utilizado para a redução do ruído, e, normaliza a amplitude do sinal processado no intervalo [-1,1]. Na Figura 19, é mostrado o gráfico gerado pela combinação das duas funções sigmoides envolvidas na equação (33). Figura 19: Curva gerada pela combinação das duas funções sigmoides na equação. Fonte: Elaborada pelo próprio autor. -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 tempo AN 57 Para gerar a curva da Figura 19, admitiu-se ! =5. Vale ressaltar que, quando o ajuste sigmoidal é aplicado ao sinal de voz, a curva de atenuação não é tão suave como a apresentada na Figura 19. Deve-se isto ao fato de que um sinal de voz não possui características lineares como o vetor tempo utilizado para gerar esta curva. O processo de filtragem se faz através do produto entre os coeficientes ℎ2 do filtro -, construído a partir do método proposto, pelos correspondentes coeficientes �2 do sinal ruidoso �[�], no domínio wavelet. Obtém-se desse modo, o sinal processado �9[�] = {��I, ��H, … , ��zXH} de comprimento �. Cada coeficiente ��2 é obtido conforme a equação (35): ��2 = �2. ℎ2.