formador de feixes adaptativo para rastreio de...
Post on 30-Aug-2020
2 Views
Preview:
TRANSCRIPT
i
FORMADOR DE FEIXES ADAPTATIVO PARA
RASTREIO DE FONTES SONORAS MÓVEIS E FIXAS
Vinicius Allemand Mancebo Pinto
Projeto de Graduação apresentado ao Curso de
Engenharia Eletrônica e de Computação da Escola
Politécnica, Universidade Federal do Rio de
Janeiro, como parte dos requisitos necessários à
obtenção do título de Engenheiro.
Orientadora: Mariane Rembold Petraglia
Rio de Janeiro
Fevereiro de 2017
iv
UNIVERSIDADE FEDERAL DO RIO DE JANEIRO
Escola Politécnica – Departamento de Eletrônica e de Computação
Centro de Tecnologia, bloco H, sala H-217, Cidade Universitária
Rio de Janeiro – RJ CEP 21949-900
Este exemplar é de propriedade da Universidade Federal do Rio de Janeiro, que
poderá incluí-lo em base de dados, armazenar em computador, microfilmar ou adotar
qualquer forma de arquivamento.
É permitida a menção, reprodução parcial ou integral e a transmissão entre
bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que esteja ou
venha a ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem
finalidade comercial e que seja feita a referência bibliográfica completa.
Os conceitos expressos neste trabalho são de responsabilidade do(s) autor(es).
v
DEDICATÓRIA
Dedico este trabalho à minha família, principalmente meu pai e minha mãe.
Durante toda a minha vida pude observar o valor que eles dão aos estudos e o quanto se
esforçaram para que eu pudesse usufruir de diversas comodidades que eles não tiveram
chances. Devo tudo o que sou à eles e este trabalho é uma pequena retribuição de tudo o
que eles fazem por mim
vi
AGRADECIMENTO
Gostaria de agradecer à minha família que sempre me motivou e propiciou um
ambiente favorável ao meu desempenho acadêmico seja com palavras e orientações
sempre bem feitas e que foram de grande valor durante a faculdade.
À professora Mariane, que prontamente aceitou o desafio de me orientar na
execução deste projeto, mesmo com curto tempo disponível e que sempre dedicou seu
tempo e atenção nos momentos de reuniões sobre este projeto.
Aos colegas de faculdade, em especial, Marcelo Castro, Lucas Cavazzani, Marcelo
Hryniewicz, Bruno Andrade, Felipe de Menezes e Felipe de Leo, com quem tive o prazer
de estudar junto durante estes 6 anos e me proporcionaram oportunidades incríveis de
aprendizado, além de serem suporte nos momentos difíceis da vida acadêmica. O
aprendizado com eles foi muito além de um curso de bacharelado em Engenharia
Eletrônica e de Computação.
À todos os professores desta Universidade, que se dedicam a proporcionar aos
alunos experiências relevantes de ensino e são referência em suas áreas de pesquisa. A
Universidade é referência no que faz, mas deve-se muito à estes professores, que muitas
vezes não tem o devido reconhecimento.
A todo o povo brasileiro que, indiretamente e muitas vezes, sem essa noção,
sustenta uma faculdade pública e, em função disso, me proporcionou a oportunidade de
não pagar por um curso de excelência.
vi
i
RESUMO
Este trabalho visa apresentar um formador de feixes adaptativo que pode ser usado
para rastrear fontes sonoras tanto móveis quanto fixas. Além disso, é feita uma análise de
desempenho de algoritmos de estimação da direção de chegada de fontes sonoras bem
como uma comparação entre eles. O formador de feixes utiliza um destes algoritmos na
detecção de fontes móveis.
Entre as aplicações práticas deste sistema, podemos citar o uso em aparelhos
hands-free como em ligações por bluetooth em carros e teleconferências por telefones
móveis. Nestes dispositivos a potência do sinal de chegada normalmente não é alta. Com
isso, sistemas capazes de melhorar a qualidade do sinal e processá-lo de maneira cada vez
mais eficiente tornam-se importantes e cada vez mais desejados.
Para fins práticos, utilizamos um conjunto de oito microfones e um sinal de voz
gravado com fonte móvel e um outro conjunto de dois microfones com sinais de fontes
estáticas e móveis. Comparamos a eficiência dos algoritmo de estimação do ângulo de
chegada em cada situação e executamos o formador de feixes com cada algoritmo para a
detecção de chegada nos casos de fonte móvel.
Palavras-Chave: formador de feixes, filtros adaptativos, processamento de sinal, sinais
de áudio, detecção de direção de chegada de sinais de áudio, atraso temporal, correlação
cruzada com transformada de fase, algoritmos adaptativos
vi
ii
ABSTRACT
This work presents an adaptative beamformer which can be used to track speech
sources, both fixed and moving. Besides, a performance analysis of direction of arrival
(DOA) estimation algorithms is made, as well as a comparison among them. The
beamformer uses one of these algorithms on the tracking of moving sources.
Among the practical applications of this system, we can mention its use in hands-
free devices, such as in bluetooth calls in cars and teleconferencing via mobile phones. In
these devices, the signal power is usually not high. Thus, systems capable of improving
the quality of the signal and processing it more efficiently become important and
increasingly desired.
For practical purposes, we use a set of eight microphones and a speech signal
recorded from a moving source, and another set of two microphones with signals from
static and moving sources. We compare the efficiency of the angle of arrival algorithms
in each scenario and execute the beamforming with each algorithm to detect the arrival
angle in the moving source cases.
Key-words: beamformer, adaptative filters, signal processing, audio signals, direction of
arrival estimation, temporal delay, cross correlation with phase transform, adaptive
algorithms.
ix
SIGLAS
UFRJ – Universidade Federal do Rio de Janeiro
DOA – Direção de chegada (Direction of arrival)
FFT – Transformada rápida de Fourrier (Fast Fourrier Transform)
LMS – Método dos Mínimos quadrados (Least-mean squares)
FLMS – Método dos Mínimos Quadrados Rápido (Fast Least-Mean Squares)
AEVD – Decomposição em Autovalores (Eigenvalue Decomposition)
GCC – Correlação Cruzada Generalizada (Generalizaed Cross- Correlation)
PHAT – Transformada de fase (Phase Transform)
SCOT – Transformada de Coerência Suavizada (Smooth Coherence Transform)
x
Sumário
1 Introdução 1
1.1 - Tema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 - Delimitação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 - Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.4 - Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.5 - Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.6 - Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Métodos de detecção de direção de chegada 4
2.1 - Métodos baseados em Correlação Cruzada
Generalizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
2.2 - Método baseado em Diferença de Tempo
Interaural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.3 - Métodos baseados em filtros
adaptativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.4 - Formador de feixes adaptativo com ratreio de fonte móvel no
domínio da frequência . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
3 Sinais e Sistemas 21
4 Simulações e Resultados Obtidos 25
4.1 - Métodos baseados em Correlação Cruzada
Generalizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
4.1.1 – Algoritmo com Transformada de Coerência Suavizada
(SCOT)
25
xi
4.1.2 – Algoritmo com Transformada de Fase (PHAT) . . . . . . . . . 29
4.2 - Método por diferenças de tempo interaurais . . . . . . . . . . . . . 32
4.3 – Método baseado em filtros adaptativos . . . . . . . . . . . . . . . . . . 35
4.3.1 – Algoritmo com Decomposição em Autovalores (AEVD) 35
4.3.2 – Algoritmo com Mínimos Quadrados Rápido (FLSM) . . . 39
4.4 – Formador de Feixes . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . 42
5 Conclusões 46
6 Referências Bibliográficas 47
xi
i
Lista de Figuras
2.1 – Disposição dos microfones para localização de fonte . . . . . . . . . . . . . . . . . . 5
2.2 – Erro máximo em função do azimute estimado . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 – Sistema de detecção de atraso no domínio da frequência . . . . . . . . . . . . . . . 10
2.4 – Exemplo de histograma com fonte de ruído branco estacionário . . . . . . . . 11
2.5 – Estimação de tempo de atraso utilizando filtro FIR adaptativo . . . . . . . . . . . 12
2.6 - Diagrama de blocos do algoritmo para estimar respostas ao impulso . . . . . . 14
2.7 - Estrutura básica do formador de feixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.8 - Banco de filtros formador de feixes com sistema de localização de fonte . . . 21
3.1 – Banda de frequência de um canal de voz em telecomunicações . . . . . . . . . . 23
3.2 - Posicionamento do conjunto de microfones do sinal móvel . . . . . . . . . . . . . 23
4.1 - Estimação de azimute sinal sem ruído, fonte fixa a 30º, SCOT . . . . . . . . . . . 26
4.2 - Estimação de azimute sinal com ruído de SNR 55dB, fonte fixa a 30º, . . . . .
SCOT
27
4.3 - Estimação de azimute sinal com ruído de SNR 40dB, fonte fixa a 30º, . .
SCOT
27
4.4 - Estimação de azimute sinal móvel sem ruído, SCOT . . . . . . . . . . . . . . . . . . 28
4.5 - Estimação de azimute sinal móvel com ruído SNR 55 dB, SCOT . . . . . . . . . 28
4.6 - Estimação de azimute sinal móvel com ruído SNR 40 dB, SCOT . . . . . . . . . 29
4.7 - Estimação de azimute sinal fixo sem ruído, PHAT . . . . . . . . . . . . . . . . . . . . 30
4.8 - Estimação de azimute sinal fixo com ruído SNR 55 dB, PHAT . . . . . . . . . . 30
4.9 - Estimação de azimute sinal fixo com ruído SNR 40 dB, PHAT . . . . . . . . . . 30
4.10 - Estimação de azimute sinal móvel sem ruído, PHAT . . . . . . . . . . . . . . . . . 31
4.11 -Estimação de azimute sinal móvel com ruído SNR 55 dB, PHAT . . . . . . . . 31
4.12 - Estimação de azimute sinal móvel com ruído SNR 40 dB, PHAT . . . . . . . 32
4.13 - Estimação de azimute sinal fixo sem ruído, ITD . . . . . . . . . . . . . . . . . . . . . 33
xi
ii
4.14 - Estimação de azimute sinal fixo com ruído SNR 55 dB, ITD . . . . . . . . . . . 33
4.15 - Estimação de azimute sinal fixo com ruído SNR 40 dB, ITD . . . . . . . . . . . 34
4.16 - Estimação de azimute sinal móvel sem ruído, ITD . . . . .. . . . . . . . . . . . . . . 35
4.17 - Estimação de azimute sinal móvel com ruído SNR 55 dB, ITD . . . . . . . . . 35
4.18 - Estimação de azimute sinal móvel com ruído SNR 40 dB, ITD . . . . . . . . . 36
4.19 - Estimação de azimute sinal fixo sem ruído, AEVD . . . . . . . . . . . . . . . . . . 37
4.20 - Estimação de azimute sinal fixo com ruído SNR 55 dB, AEVD . . . . . . . . . 37
4.21 - Estimação de azimute sinal fixo com ruído SNR 40 dB, AEVD . . . . . . . . . 38
4.22 - Estimação de azimute sinal móvel sem ruído, AEVD . . . . . . . . . . . . . . . . . 39
4.23 - Estimação de azimute sinal móvel com ruído SNR 55 dB, AEVD . . . . . . . 39
4.24 - Estimação de azimute sinal móvel com ruído SNR 40 dB, AEVD . . . . . . . 39
4.25 - Estimação de azimute sinal fixo sem ruído, FLMS . . . . . . . . . . . . . . . . . . . 40
4.26 - Estimação de azimute sinal fixo com ruído SNR 55 dB, FLMS . . . . . . . . . 41
4.27 - Estimação de azimute sinal fixo com ruído SNR 40 dB, FLMS . . . . . . . . . 41
4.28 - Estimação de azimute sinal móvel sem ruído, FLMS . . . . . . . . . . . . . . . . . 42
4.29 - Estimação de azimute sinal móvel com ruído SNR 55 dB, FLMS . . . . . . . 42
4.30 - Estimação de azimute sinal móvel com ruído SNR 40 dB, FLMS . . . . . . . 43
4.31 - Estimação de azimute sinal móvel sem ruído, formador de feixes . . . . . . . . 44
4.32 - Estimação de azimute sinal móvel com ruído SNR 55 dB, formador de
feixes
44
4.33 - Estimação de azimute sinal móvel com ruído SNR 44 dB, formador de
feixes
44
4.34 - Estimação de azimute sinal móvel sem ruído, formador de feixes com
SCOT
45
4.35 - Estimação de azimute sinal móvel sem ruído, formador de feixes com
direção fixa
46
4.36 - Estimação de azimute sinal móvel sem ruído, formador de feixes com
DOA
46
xi
v
Lista de Tabelas
1 – Sinal de voz utilizado com fonte fixa 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2 – Sinal de voz utilizado com fonte fixa 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3 – Sinal de voz utilizado com fonte móvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4 – Comparativo entre erros médios quadráticos SCOT – 30º fixo . . . . . . . . . . . . 26
5 - Comparativo entre erros médios quadráticos PHAT – 30º fixo . . . . . . . . . . . . 29
6 - Comparativo entre erros médios quadráticos ITD – 30º fixo . . . . . . . . . . . . . . 32
7 - Comparativo entre erros médios quadráticos AEVD – 30º fixo . . . . . . . . . . . . 36
8 - Comparativo entre erros médios quadráticos FLMS – 30º fixo . . . . . . . . . . . . 40
9 – Ordenação qualitativa dos métodos de estimativa de DOA . . . . . . . . . . . . . . . 47
1
Capítulo 1
Introdução
1.1 – Tema
O tema deste trabalho é implementar um sistema capaz de estimar direções de
chegada de sinais de áudio e reduzir interferências vindas de outras direções (filtragem
espacial). Foram estudados os algoritmos de correlação cruzada com transformada de
fase, formador de feixes com filtros adaptativos e filtros comparadores utilizando
diferenças entre tempo interaurais. As eficiências dos algoritmos foram comparadas para
fontes estáticas e móveis com diferentes razões sinal-ruído.
O formador de feixes (beamformer), que realiza a filtragem espacial, utiliza os
algoritmos de detecção de direção de chegada para determinar o sinal de interesse para
uma fonte móvel. Portanto, os algoritmos de detecção de direção de chegada, combinados
ao formador de feixes, foram comparados de forma a obtermos o melhor formador de
feixes.
1.2 – Delimitação
Nosso objeto de estudo é um formador de feixes que seja capaz de ter em sua saída
o sinal vindo apenas da direção da fonte principal, estimada por um dos algoritmos de
detecção de direção de chegada implementados, sendo capaz de reduzir ou eliminar
completamente ruídos provenientes de reverberações no ambiente, entre outros. A
escolha do algoritmo ótimo depende de vários fatores e da aplicação que daremos ao
sistema. Foram realizados testes e variações dos parâmetros dos algoritmos de forma a
determinar uma configuração otimizada para o sistema.
2
1.3 – Justificativa
É notável o crescimento cada vez mais rápido de tecnologias no ramo das
telecomunicações. Este crescimento tem atraído o interesse de muitos engenheiros e
pesquisadores, dada a quantidade enorme de aplicações para uma determinada
ferramenta. Com este interesse crescente e a redução dos custos de produção de materiais
eletrônicos, o desenvolvimento de sistemas de processamento de informações é uma área
que tem ganhado destaque no ramo da eletrônica.
Dispositivos de comunicações móveis estão cada vez mais presentes em nossas
vidas, tomando grande parte do nosso tempo. Com isso, por muitas vezes, é desejável
realizar uma ligação enquanto se está fazendo outra tarefa com as mãos, ou simplesmente
evitar o incômodo de se manter uma das mãos ocupadas para utilizar o celular. Isto motiva
os estudos nas áreas de comunicações de mãos livres na busca de soluções práticas e
eficientes.
Processar informações cada vez mais rapidamente e utilizando menor área de
circuito é um desafio que enfrentamos diariamente. Por isso, a escolha adequada de
algoritmos para o processamento é muito importante. Com o algoritmo adequado, temos
eficiência de processamento e memória, o que leva a uma área de circuito menor.
A escolha do algoritmo adequado deve considerar a qualidade dos sensores
utilizados, reverberações do ambiente em que se pretende utilizar o sistema e atenuações
do sinal do meio em que os sensores se encontram.
Este trabalho é importante, pois busca analisar e comparar como os diferentes
algoritmos se comportam em diversas condições do meio e propor um sistema que tenha
o melhor desempenho, contribuindo para uma melhor comunicação via sistemas móveis.
1.4 – Objetivos
O objetivo geral do trabalho é propor um sistema capaz de ter em sua saída apenas
o sinal da direção detectada pelo algoritmo utilizado a partir dos sinais obtidos através
dos sensores.
Os objetivos específicos do trabalho são: (1) comparar algoritmos de detecção de
chegada de sinais de fala, (2) comparar os subsistemas compostos pelo formador de feixes
3
acoplado com os algoritmos de detecção de chegada e (3) estimar com precisão a direção
de chegada dos sinais fixos e móveis capturados pelos microfones.
1.5 – Metodologia
Com o objetivo de implementarmos o formador de feixes, obtivemos sinais de
áudio gravados em uma sala, alguns com a fonte de sinal fixa e outros com a fonte móvel.
A maior parte dos sinais foi gravada com dois microfones compondo o conjunto de
sensores. Além destes, foi obtido um sinal gravado por oito microfones, dispostos de
maneira ligeiramente diferente do caso de dois sensores. Processamos estes sinais
utilizando três métodos de estimação de direção de chegada, realizamos alterações nos
parâmetros de cada algoritmo e fizemos uma comparação entre todos os métodos e sinais.
Em seguida, implementamos o formador de feixes, em Matlab, e utilizamos os
algoritmos de correlação cruzada generalizada como um subsistema do formador de
feixes, de modo que este o utilize para detectar a direção de chegada dos sinais de entrada
e otimize seu processamento.
Avaliamos a saída do formador de feixes e como ela se relaciona com o sinal de
entrada original, através de correlações e outras estatísticas, sendo comparadas as
diferentes configurações do formador de feixes possíveis.
Os resultados foram avaliados utilizando Matlab e Microsoft Excel.
1.6 – Descrição
No Capítulo 2 são apresentados todos os métodos de detecção de direção de
chegada abordados pelo trabalho, incluindo a modelagem matemática e uma descrição da
implementação de cada método.
São apresnatdos no Capítulo 3 um breve resumo sobre sinais de áudio e voz e
detalhados os sinais utilizados neste trabalho.
O Capítulo 4 contém a descrição dos experimentos realizados, incluindo o sinal
de voz, os algoritmos e os parâmetros utilizados em cada um deles.
4
Os resultados são exibidos no Capítulo 5, através de gráficos e tabelas, com o
objetivo de apresentar de maneira clara as diferenças e características do formador de
feixes e dos algoritmos avaliados.
No Capítulo 6 é apresentada uma conclusão sobre os resultados obtidos e são
propostas algumas ideias de trabalhos futuros e alterações à abordagem do problema aqui
analisado.
5
Capítulo 2
Métodos de Detecção de Direção de
Chegada
Aqui serão apresentados os métodos de detecção de direção de chegada avaliados
e a fundamentação teórica do formador de feixes adaptativo.
Se pudermos detectar o ângulo de chegada do sinal (azimute, no plano xy de um
sistema de coordenadas cartesianas), seremos capazes de ajustar a resposta do formador
de feixes a partir de um conjunto de microfones unidimensional.
A configuração básica dos microfones é exibida abaixo na Figura 2.1.
Figura 2.1 – Disposição dos microfones para localização de fonte (azimute 𝜙 da direção de chegada, 𝜆
representa o comprimento de onda)
Se assumimos condições de campo distante (distância da fonte >= 15 vezes a
distância entre os sensores) e propagação de onda plana, a estimação do azimute pode ser
facilmente realizada medindo-se a Diferença de Tempo de Atraso (do inglês, Time Delay
Difference, TDD) entre os dois sinais captados pelos sensores. Se denominarmos a
distância entre os microfones de ‖𝑟2⃗⃗ ⃗ − 𝑟1⃗⃗⃗ ‖, velocidade de propagação do som de 𝑣𝑠 e o
DTA de ∆𝑡, temos
Φ = arccos𝑣𝑠 Δ𝑡
𝑑(2.1)
6
Devido à relação não linear em função do arccos, o sistema não é acurado para
azimutes próximos à 0 e 180. Além disso, como o processamento é digital, ocorre
quantização da estimação da diferença de atraso de tempo. Se estimarmos o azimute com
acurácia de ± 𝑇
2 (intervalo de amostragem T = 1/ fs), podemos esperar um comportamento
do erro como descrito na figura abaixo:
Figura 2.2 – Erro máximo em função do azimute estimado.
As curvas do gráfico obedecem à relação :
𝛿Φ𝑚𝑎𝑥(Φ) ≈ min (𝛿Φ0,𝛽
|sinΦ|) (2.2)
Onde β = 𝑣𝑠
2𝑑 𝑓𝑠 < 1 e δ𝛷0 = arccos (1 – β). Por isso, devemos usar superamostragem
ou um conjunto multidimensional (um conjunto quadrático com 4 microfones, por
exemplo) para reduzir os erros próximos à 0 e 180. A figura acima exibe apenas os erros
devido à quantização. Além deles, devemos considerar os erros da estimação da diferença
de tempo de atraso.
De acordo com a equação (2.2), podemos reduzir o erro aumentando a distância
entre os microfones. Porém, esta solução é inviável em aplicações práticas como cabines
7
de carros. Outros problemas são as pausas no discurso, segmentos com conteúdo
frequencial diferente e problemas por ruídos e reverberação.
Nas próximas seções serão apresentados algoritmos que possuem bom
desempenho contra esses problemas. Primeiro serão apresentados os dois métodos que
utilizam correlação cruzada generalizada, um utilizando transformada de fase (do inglês,
Phase Transform) e o outro transformada de coerência suavizada (do inglês, Smoothed
Coherence Transform). Estes métodos são implementados a partir de transformadas
rápidas de Fourier (do inglês, Fast Fourier Transform) e são os métodos mais clássicos
de estimação de direção de chegada. Em seguida, apresentamos um método baseado em
diferenças de tempo interaurais. Este método oferece grande precisão na estimação do
azimute, mas a um alto custo computacional.
Os dois últimos métodos utilizam filtros adaptativos. O primeiro utiliza um
algoritmo adaptativo de mínimos quadrados normalizados (do inglês, Least-Mean
Squares). O segundo faz decomposição em autovalores adaptativa para encontrar as
diferenças de tempo de atraso.
Finalmente apresentamos os formadores de feixes com detecção de direção de
chegada utilizando os dois métodos de correlação cruzada.
2.1 – Métodos baseados em Correlação Cruzada Generalizada
Continuando a assumir propagação de onda ideal e um conjunto de dois
microfones, os sinais nos microfones podem ser descritos como:
𝒙𝟏(𝑛) = 𝒔(𝑛) + 𝑣1(𝑛) (2.3)
𝒙𝟐(𝑛) = 𝑠𝑎(𝑛𝑇 − 𝜏0) + 𝑣2(𝑛) (2.4)
Onde denotamos,
𝑠𝜏0(𝑛) = 𝑠𝑎(𝑛𝑇 − 𝜏0) (2.5)
E T é o período de amostragem e 𝜏0 é o atraso entre os sinais, 𝑣 indica sinais
fontes de ruído.
Em geral, 𝜏0 não é um múltiplo inteiro do período de amostragem T. Assim, o
sinal do sensor 2 não é apenas uma versão atrasada do sinal no sensor 1. Porém, usando
a propriedade de reconstrução de um sinal analógico de banda limitada, podemos obter
8
𝑠𝜏0(𝑛) = 𝑠𝑎(𝑛𝑇 − 𝜏0) = ∑ 𝑠(𝑘)
∞
𝑘=−∞
ℎ𝜏0(𝑛 − 𝑘) (2.6)
onde ℎ𝜏0(𝑛) = sin 𝜋(𝑛− 𝜏0/𝑇)
𝜋(𝑛− 𝜏0/𝑇) .
Logo, a representação em tempo discreto da versão atrasada do sinal é uma versão
interpolada do sinal não atrasado. Se determinarmos atrasos no sinal no domínio do
tempo, temos que usar uma frequência de amostragem suficientemente alta ou uma
interpolação de sinal. Como alternativa, podemos obter atrasos de sinal no domínio da
frequência pelo espectro de fase. Assumindo ruído com média zero e descorrelacionado,
o espectro de potência cruzado é dado por
𝑆𝑥1𝑥2(Ω) = 𝐸 {𝑋1(𝑒𝑗Ω)𝑋2
∗(𝑒𝑗Ω)} = 𝑆𝑠𝑠(Ω)𝑒𝑗Ω𝜏0𝑇 (2.7)
onde E{ . } representa valor esperado e * representa complexo conjugado.
Computar os atrasos da equação 2.7 requer algoritmos complexos. Uma
alternativa a estes métodos é estimar o atraso através da correlação cruzada generalizada,
definida como
𝑅𝑥1𝑥2(𝑛) = 1
2𝜋∫𝜓12(𝑒
𝑗Ω)𝑆𝑥1𝑥2(Ω)𝑒𝑗Ω𝑛 𝑑Ω
𝜋
−𝜋
(2.8)
Atrasos não inteiros, 𝜏0/𝑇 podem ser aproximados por
𝜏0𝑇 ≈ 𝑛0 = argmax
𝑛𝑅𝑥1𝑥2(𝑛) (2.9)
Para aumentar a acurácia da estimação de atraso, devemos aplicar uma
interpolação à 𝑅𝑥1𝑥2(𝑛) antes da detecção do máximo.
Entre os benefícios de se usar a função peso 𝜓12(𝑒𝑗Ω) diferente de 1 é o de criar
um pico dominante e reduzir picos espúrios que possam ser causados pela reverberação
e fontes de sinal coloridas em 𝑅𝑥1𝑥2(𝑛). Um pico bem definido na função de correlação
cruzada generalizada requer um espectro de magnitude de potência cruzada reto. Como
resultado, a função peso deve agir como um filtro pré-branqueador. Isso leva ao algoritmo
SCOT com a função peso abaixo:
𝜓12(𝑒𝑗Ω) = 𝜓𝑆(𝑒
𝑗Ω) = 1
√𝑆𝑥1𝑥1(Ω)𝑆𝑥2𝑥2(Ω)(2.10)
Podemos ainda obter o algoritmo PHAT usando a função peso como
9
𝜓12(𝑒𝑗Ω) = 𝜓𝑃(𝑒
𝑗Ω) = 1
|𝑆𝑥1𝑥2(Ω)|(2.11)
Nas condições ideais (ruídos com média zero e descorrelacionados) a função peso
gera um Correlação Cruzada Generalizada ideal, ou seja,
𝑅𝑥1𝑥2(𝑛) = 1
2𝜋∫𝑒𝑗Ω
𝜏0𝑇 𝑒𝑗Ωn𝑑Ω =
𝜋
−𝜋
sin 𝜋 (𝑛 +𝜏0𝑇 )
𝜋 (𝑛 +𝜏0𝑇 )
(2.12)
A função peso PHAT possui a vantagem computacional de que é necessário
apenas o cálculo do espectro de potência cruzado. O algoritmo PHAT-GCC é ótimo entre
a classes de algoritmos GCC (de Generalized Cross Correlation, correlação cruzada
generalizada) e pode ser estendido para mais de 1 par de microfones, o que aumenta a
precisão da posição da fonte, especialmente em ambientes maiores.
Sinais de voz requerem uma estimação do espectro de potência em tempos curtos.
Logo, podemos substituir o operador de valor esperado por um de média temporal na
equação 2.7. O espectro de potência pode ser estimado a partir de amostras do sinal
“janeladas” e com sobreposição (overlap). Usamos uma função peso exponencial das
amostras passadas resultando na seguinte estimativa do espectro cruzado de potência:
�̂�𝑥1𝑥2(m, k) = 𝛼�̂�𝑥1𝑥2(m − 1, k) + (1 − 𝛼)𝑋1(𝑚, 𝑘)𝑋2∗(𝑚, 𝑘) (2.13)
onde 𝛼 está entre 0.7 e 0.8. e m é o índice do frame, k é o índice da frequência discreta.
Para o janelamento, podemos usar Hann ou Hamming. Neste trabalho
escolhemos a Hann.
Encontrar o máximo da função correlação cruzada para determinar a diferença de
tempo de atraso deve ser feita com alguns cuidados, uma vez que as diferenças de tempo
são positivas ou negativas dependendo do azimute. Logo, índices N – n devem ser usados
ao invés de -n de acordo com a periodicidade da DFT.
Não é necessário fazer a busca sobre todo o intervalo da DFT pois o atraso é
limitado pela distância entre os microfones
10
Para resolver os atrasos fracionários precisamos interpolar a estimativa da
correlação cruzada antes de encontrar a localização do máximo. Podemos fazer isso na
frequência aumentando o comprimento da IDFT (por exemplo, em 4 vezes) com a
introdução de amostras nulas (zero-padding). Também podemos fazer a interpolação no
domínio do tempo já que o comprimento relevante da GCC é menor.
Os máximos da função de correlação cruzada são comparados com um limiar para
avaliar movimento da fonte.
2.2 – Método baseado em Diferença de Tempo Interaural
Neste método é criado um conjunto de todos os atrasos relevantes entre os dois
sinais de microfones cujo azimute precisamos estimar para uma dada resolução.
Procuramos nesse conjunto o valor ótimo do atraso, que resulta na melhor coincidência
dos dois sinais. Esse processo de casamento é feito no domínio da frequência de modo a
obter os atrasos fracionários num modo mais fácil.
Dividimos o range do azimute em um número ímpar I de setores igualmente
espaçados. Usando a geometria do conjunto de sensores, cada setor corresponde a uma
diferença de atraso de tempo, dada por
𝜏𝑖 = 𝑑
2𝑣𝑠sin (
𝑖−1
𝐼−1𝜋 −
𝜋
2) , i = 1,2,… , I. (2.14)
Por exemplo, precisamos de um conjunto de I = 73 valores para obter uma
resolução de azimute de 2.5º.
11
Figura 2.3. Sistema de detecção de atraso no domínio da frequência.
Para encontrarmos o atraso ótimo para cada índice de frequência k usamos o
sistema mostrado na figura 2.3.
O índice do atraso ótimo é dado por
𝑖𝑜𝑝𝑡(𝑚, 𝑘) = argmin𝑖∆𝑖(𝑚, 𝑘), 𝑘 = 0,1, . .
𝑁
2(2.15)
onde ∆𝑖(𝑚, 𝑘) = |𝑝𝑘(𝑖)𝑋1(𝑚, 𝑘) − 𝑝𝑘(𝐼 − 𝑖 + 1)𝑋2(𝑚, 𝑘)|2, 𝑖 = 1,2,… , 𝐼
As DFTs são multiplicadas por um fator de fase e comparadas em pares.
Tendo os índices de atraso ótimo, podemos obter os atrasos em si usando a Eq.
(2.14). Para obter a diferença de tempo de atraso e, consequentemente, o azimute do sinal,
construímos um histograma 𝑃𝑘(𝜏𝑖 ,𝑚) contando os valores dos atrasos 𝜏𝑖 para cada ponto
de frequência em alguns frames consecutivos. Os valores do atraso convergirão para o
valor real do atraso correspondendo ao azimute da fonte de sinal.
O histograma é montado conforme a seguir:
𝑃𝑘(𝜏𝑖, 𝑚) = 𝛼 𝑃𝑘(𝜏𝑖 ,𝑚 − 1) + 𝛿 (𝑖 − 𝑖𝑜𝑝𝑡(𝑚, 𝑘)) (2.16)
onde i = 1,2, ... , I, k = 0, 1, ... 𝑁
2 , m = 0,1,2,..., e 𝛿 é um impulso unitário. O fator de
esquecimento 𝛼 deve ser escolhido entre 0.85 e 0.95.
12
Figura 2.4 – Exemplo de histograma com fonte de ruído branco estacionário, limitado entre 300 e 6400
Hz, emitindo sinal de um azimute de 60º.
Para reduzir a ambiguidade de fase, somamos os dados do histograma em todos
os índices de frequência k para cada azimute (ou tempo de atraso). O atraso ótimo é dado
por
𝜏𝑜𝑝𝑡(𝑚) = argmax∑ 𝑃𝑘(𝜏𝑖, 𝑚)𝑁
2
𝑘=0(2.17)
para cada frame m
Apesar da presença da ambiguidade de fase, o máximo da Eq. (2.17) é bem
definido. Porém, o custo computacional para calculá-lo é alto.
2.3 – Métodos baseados em Filtros Adaptativos
Para uma abordagem mais realista do problema de detecção de fonte, sem as
aproximações de propagação de onda ideal, os atrasos do sinal podem ser encontrados a
partir das respostas ao impulso entre a fonte e o microfone. Dois sistemas são
apresentados nesta seção. O primeiro modela o atraso entre os dois microfones. O
segundo estima a resposta ao impulso por decomposição de autovalores adaptativa.
A Figura 2.5 abaixo mostra a primeira técnica de filtragem adaptativa:
13
Figura 2.5 – Estimação de tempo de atraso utilizando filtro FIR adaptativo.
O vetor de entrada do filtro FIR 𝑥2(𝑛) e o vetor de coeficientes w(n) são definidos
por:
𝒙𝟐(𝑛) = [𝑥2(𝑛) 𝑥2(𝑛 − 1)… 𝑥2(𝑛 − 𝐿 + 1)]𝑇 (2.18)
𝒘(𝑛) = [𝑤𝑜(𝑛) 𝑥1(𝑛) … 𝑥𝐿−1(𝑛)]𝑇 (2.19)
O sinal de erro é dado então por :
𝒆(𝑛) = 𝑥1(𝑛 − ∆) − 𝒘𝑻(𝑛)𝑥2(𝑛) (2.20)
onde ∆ = 𝐿−1
2.
Pode-se usar o método dos mínimos quadrados normalizado (NLMS, de
Normalizaed Least Mean Square) para atualizar o vetor de pesos, resultando na
equação:
𝒘(𝑛 + 1) = 𝒘(𝑛) + 𝜇𝑁𝐿𝑀𝑆
‖𝑥2(𝑛)‖2 𝒆(𝑛)𝒙𝟐(𝑛) (2.21)
com ‖𝑥2(𝑛)‖2 = 𝑥2
𝑇(𝑛)𝑥2(𝑛).
Para implementar o LMS adaptativo no domínio da frequência, amostras são
agrupadas em frames e os coeficientes são mantidos constantes até que o próximo frame
seja processado. A atualização dos coeficientes do filtro no domínio da frequência a cada
índice de frame m é descrito pelas equações abaixo:
14
𝑋2(𝑚, 𝑘) = ∑ 𝑥2(𝑚𝐿 + 𝑛)𝑒−𝑗2𝜋𝑁𝑛𝑘
𝑁−1
𝑛=0
, 𝑘 = 0, 1,… ,𝑁 − 1 (2.22)
𝑦(𝑚, 𝑛) = 1
𝑁∑𝑊(𝑚, 𝑘)𝑋2(𝑚, 𝑘)𝑒
𝑗2𝜋𝑁𝑛𝑘
𝑁−1
𝑘=0
, n = 0, 1,… , N – 1 (2.23)
�̃�(𝑚, 𝑛) = {0 𝑛 = 0,1, , 𝐿 − 1
𝑥1(𝑚𝐿 + 𝑛 − ∆) − 𝑦(𝑚, 𝑛) 𝑛 = 𝐿, 𝐿 + 1, … , 𝑁 − 1(2.24)
𝐸(𝑚, 𝑘) = ∑ �̃�(𝑚, 𝑛)
𝑁−1
𝑛=0
𝑒−𝑗2𝜋𝑁𝑛𝑘, 𝑘 = 0,1, … , 𝑁 − 1 (2.25)
𝑆𝑥2𝑥2(𝑚, 𝑘) = 𝛼𝑆𝑥2𝑥2(𝑚 − 1, 𝑘) + (1 − 𝛼)|𝑋2(𝑚, 𝑘)|2 (2.26)
𝑊(𝑚 + 1, 𝑘) = 𝑊(𝑚, 𝑘) + 𝜇
𝑆𝑥2𝑥2(𝑚, 𝑘) + 휀𝑋2∗(𝑚, 𝑘)𝐸(𝑚, 𝑘),
𝑘 = 0,1 , … , 𝑁 − 1 (2.27)
O comprimento do frame é N = 2L, com um tamanho do overlap igual ao tamanho
L do filtro adaptativo.
A convergência do algoritmo é praticamente independente do sinal do espectro,
pois o tamanho do passo de atualização do peso é normalizado pela estimativa da potência
espectral em cada ponto na frequência.
As estimativas do atraso são computadas a cada M’ (M = M’L) frames detectando
a localização dos picos nos coeficientes do filtro adaptativo, obtidos por:
𝑤(𝑚′, 𝑛) = 1
𝑁∑𝑊(𝑚′, 𝑘)𝑒𝑗
2𝜋𝑁𝑛𝑘,
𝑁−1
𝑘=0
n = 0,1,… , N − 1 (2.28)
Devido ao método de Overlap and Save para calcular a convolução, os valores
válidos para procurarmos os picos são os últimos L valores de w(m’,n). Podemos reduzir
mais ainda a procura já que os picos são limitados à faixa de [[∆ − 𝑁𝑑, ∆ + 𝑁𝑑], onde
𝑁𝑑 = [𝑑
𝑣𝑠𝑓𝑠] é o atraso máximo entre os sinais dos microfones.
Existe um outro algoritmo que possui melhor performance em ambientes com
reverberação forte, como proposto em [7]. Em princípio, as respostas ao impulso entre a
fonte e o microfone são estimadas através de decomposição por autovalores. Para estimar
as respostas ao impulso, assumirmos que as respostas ao impulso podem ser aproximadas
por filtros com resposta ao impulso finita de comprimento L.
Equação (2.29) é a base do algoritmo adaptativo para estimar as respostas ao
impulso.
15
(𝑥1 ∗ ℎ2)(𝑛) = (𝑠 ∗ ℎ1 ∗ ℎ2)(𝑛) = (𝑥2 ∗ ℎ1)(𝑛) (2.29)
Figura 2.6 – Diagrama de blocos do algoritmo para estimar respostas ao impulso
Como as respostas ao impulso são aproximadas por filtros de tamanho L, todos os
dados podem ser agrupados em vetores L x 1
𝒙𝒊(𝑛) = [𝑥𝑖(𝑛) 𝑥𝑖(𝑛 − 1 ) … 𝑥𝑖(𝑛 − 𝐿 + 1)]𝑇 , 𝑖 = 1,2 (2.30)
𝒉𝒊 = [ℎ𝑖(0) ℎ𝑖(1)… ℎ𝑖(𝐿 − 1)]𝑇 (2.31)
Podemos então reescrever a equação (2.29) como
𝑥1𝑇(𝑛)ℎ2 = 𝑥2
𝑇(𝑛)ℎ1 (2.32)
Definindo 𝒙(𝒏) = [𝑥1𝑇(𝑛) 𝑥2
𝑇(𝑛)]𝑇 e 𝒖 = [ℎ2𝑇(𝑛) − ℎ1
𝑇(𝑛)]𝑇, podemos
reescrever a equação (2.33) como
𝑥𝑇(𝑛)𝑢 = 𝑥1𝑇(𝑛)ℎ2 − 𝑥2
𝑇(𝑛)ℎ1 = 0 (2.33)
Multiplicando à esquerda por x(n) e tomando valores esperados obtemos,
𝑅𝑥𝑥(𝑛)𝑢 = 0 (2.34)
𝑅𝑥𝑥(𝑛) é a matriz de covariância dos sinais dos dois microfones. A Eq. (2.34) nos
mostra que 𝒖 é um autovetor correspondente ao autovalor 0. Assim, podemos estimar as
duas respostas ao impulso determinando este autovetor.
Caso haja sinais de ruído, 𝒖 pode ser estimado minimizando 𝒖𝑇𝑅𝑥𝑥(𝑛)𝒖 com a
restrição 𝒖𝑇𝒖 = 1. Assim, obtemos 𝒖 computando o autovetor normalizado de 𝑅𝑥𝑥(𝑛)
correspondente ao menor autovalor.
16
Apesar da matriz 𝑅𝑥𝑥(𝑛) ser grande, precisamos apenas de algumas iterações no
algoritmo adaptativo para determinar o atraso entre os sinais dos microfones. Não é
necessário estimar a forma real das respostas ao impulso.
De acordo com a equação (2.33) e a Figura 2.6, o sinal de erro é dado por
𝑒(𝑛) = 𝑢𝑇(𝑛)𝑥(𝑛) (2.35)
E deve ser nulo em condições ideais. A função custo é dada por
𝐽(𝑛) = 1
2𝐸{𝑒2(𝑛)} =
1
2𝑢𝑇𝑅𝑥𝑥(𝑛)𝑢 (2.36)
E pode ser minimizada com um algoritmo usando gradiente
𝑢(𝑛 + 1) = 𝑢(𝑛) − 𝜇𝐿𝑀𝑆𝑒(𝑛)𝑥(𝑛) (2.37)
A restrição 𝑢𝑇𝑢 = 1 pode ser levada em conta com a normalização
𝑣(𝑛) = 𝑢(𝑛) − 𝜇𝐿𝑀𝑆𝑒(𝑛)𝑥(𝑛) (2.38)
𝑢(𝑛 + 1) = 𝑣(𝑛)
√𝑣𝑇(𝑛)𝑣(𝑛)(2.39)
Como só precisamos do atraso entre os dois microfones, se inicializarmos os
elementos 𝒖𝒊(𝑛) do vetor 𝒖(𝑛) em 𝑛 = 0 por
𝑢𝑖(0) =
{
0 𝑠𝑒 0 ≤ 𝑖 ≤ ⌊
𝐿
2⌋ − 1
1 𝑠𝑒 𝑖 = ⌊𝐿
2⌋
0 𝑠𝑒 ⌊𝐿
2⌋ + 1 ≤ 𝑖 ≤ 2𝐿 − 1
(2.40)
Então um pico negativo será calculado em 𝒖(𝑛) durante o algoritmo. Este pico
corresponde ao caminho direto na resposta ao impulso do sinal do primeiro microfone. O
pico positivo continuará na posição inicial 𝑖 = ⌊𝐿
2⌋. A diferença entre os índices destes
dois picos determina o atraso entre os sinais dos microfones. Como a posição do pico
positivo é fixa, devemos apenas procurar a posição do pico negativo, que se encontra em
⌊𝐿
2⌋ + 1 ≤ 𝑖 ≤ 2𝐿 − 1. Numa implementação prática, interpolaremos 𝒖(𝑛) antes de
procurar os picos. Além disso, para os casos de fontes móveis, é necessário reiniciar o
algoritmo para permitir o rastreio da fonte. Para isso fazemos 𝑢𝑖(𝑛𝐾) = 𝑢𝑖(0) para
algum período K, de modo a remover todos os picos negativos. O período K determina a
velocidade do rastreio e é definido como 1000 amostras, tipicamente. Assim, o algoritmo
tem tempo suficiente para convergir.
17
Este algoritmo adaptativo pode ser facilmente implementado no domínio do
tempo. Mas há uma eficiência significativamente maior quando ele é implementado no
domínio da frequência.
As equações de implementação do algoritmo no domínio da frequência
encontram-se descritas abaixo:
𝑋1(𝑚, 𝑘) = ∑ 𝑥1(𝑚𝐿 + 𝑛)𝑒−𝑗
2𝜋
𝑁𝑛𝑘 , 𝑘 = 0,1, … ,𝑁 − 1𝑁−1
𝑛=0 (2.41)
𝑋2(𝑚, 𝑘) = ∑ 𝑥2(𝑚𝐿 + 𝑛)𝑒−𝑗
2𝜋
𝑁𝑛𝑘 , 𝑘 = 0,1,… ,𝑁 − 1𝑁−1
𝑛=0 (2.42)
𝑒(𝑚, 𝑘) = 1
𝑁∑ [𝑈1(𝑚, 𝑘)𝑋1(𝑚, 𝑘) 𝑈2(𝑚, 𝑘)𝑋2(𝑚, 𝑘)]𝑒
𝑗2𝜋𝑁𝑛𝑘,
𝑛 = 0,1,…𝑁 − 1
𝑁−1
𝑘=0
(2.43)
�̃�(𝑚, 𝑛) = {0 𝑛 = 0,1, , 𝐿 − 1
𝑒(𝑚, 𝑛) 𝑛 = 𝐿, 𝐿 + 1, … ,𝑁 − 1(2.44)
𝐸(𝑚, 𝑘) = ∑ �̃�(𝑚, 𝑛)
𝑁−1
𝑛=0
𝑒−𝑗2𝜋𝑁𝑛𝑘, 𝑘 = 0,1,… , 𝑁 − 1 (2.45)
𝑆𝑥1𝑥1(𝑚, 𝑘) = 𝛼𝑆𝑥1𝑥1(𝑚 − 1, 𝑘) + (1 − 𝛼)|𝑋1(𝑚, 𝑘)|2, 𝑘 = 0,1,… , 𝑁 − 1 (2.46)
𝑆𝑥2𝑥2(𝑚, 𝑘) = 𝛼𝑆𝑥2𝑥2(𝑚 − 1, 𝑘) + (1 − 𝛼)|𝑋2(𝑚, 𝑘)|2, 𝑘 = 0,1,… ,𝑁 − 1 (2.47)
𝑈1(𝑚 + 1, 𝑘) = 𝑈1(𝑚, 𝑘) − 𝜇
𝑆𝑥1𝑥1(𝑚, 𝑘) + 휀𝑋1∗(𝑚, 𝑘)𝐸(𝑚, 𝑘), 𝑘 = 0,1,… , 𝑁 − 1 (2.48)
𝑈2(𝑚 + 1, 𝑘) = 𝑈2(𝑚, 𝑘) − 𝜇
𝑆𝑥2𝑥2(𝑚, 𝑘) + 휀𝑋2∗(𝑚, 𝑘)𝐸(𝑚, 𝑘), 𝑘 = 0,1,… , 𝑁 − 1 (2.49)
Assim como no algoritmo de LMS rápido, o comprimento da DFT é de 2L, com
resposta ao impulso de tamanho L. Vetor 𝒖 é dividido em 2 subvetores de tamanho L,
𝒖 = [𝑢1𝑇 𝑢2
𝑇]𝑇. As atualizações neste vetor são feitas no domínio da frequência. As
estimativas do atraso são feitas a cada M´ frames (ou a cada M =M´L amostras)
determinando o pico negativo no vetor 𝒖𝟐. Os elementos de 𝒖𝟐 são obtidos por IDFT
𝑢2(𝑚´, 𝑛) = 1
𝑁∑𝑈2(𝑚´, 𝑘)𝑒
𝑗2𝜋𝑁𝑛𝑘
𝑁−1
𝑘=0
, 𝑛 = 0, 1, … ,𝑁 − 1 (2.50)
2.4 – Formador de Feixes Adaptativo com Rastreio de Fonte no domínio
da frequência
O formador de feixes automaticamente ajusta o lóbulo central do padrão do
conjunto de sensores para uma fonte e suprime sons de todas as outras direções. Este
18
formador de feixes adaptativo é baseado no algoritmo LMS com restrições de Frost [11].
Porém, é implementado no domínio da frequência.
As principais vantagens desta abordagem são a possibilidade de uso de um banco
de filtros eficiente do tipo FFT overlap-add multi-entradas, evitar filtros de atraso
fracionário variável e a inclusão de mais restrições, como nulos no vetor padrão. Além
disto, o banco de filtros FFT formador de feixes pode ser facilmente combinado com um
pós-filtro adaptativo para melhoria de sinais de fala. A estrutura básica do formador está
mostrada na Figura 2.7.
Figura 2.7 - Estrutura básica do formador de feixes.
A equação é a fórmula de atualização do vetor de pesos 𝒘(𝑘).
Neste filtro cada espectro da FFT é modificado por um peso de valor complexo
numa base frame a frame. O vetor de pesos 𝒘𝒌(𝑚) é atualizado de acordo com o
algoritmos de LMS com restrições a cada índice de frequência k e índice de frame m. O
algoritmo de localização usa FFTs já disponíveis dos dois microfones mais afastados do
conjunto.
Omitiremos o índice m do frame a partir daqui para ter maior clareza no
desenvolvimento.
O problema de otimização do formador de feixes é definido como um problema
de minimização da função custo quadrática sob restrições lineares, como mostrado
abaixo:
𝑤𝑘 = 𝑎𝑟𝑔min𝑤𝑘
𝑤𝑘𝐻𝑆𝑥𝑘𝑥𝑘𝑤𝑘 , 𝐶𝑘
𝐻𝑤𝑘 = 𝑓 (2.51)
sobrescrito H representa a operação de transposto hermitiano.
A minimização da forma quadrática vem da minimização desejada da potência de
𝑌𝑘 dada por
𝐸{𝑌𝑘2} = 𝑤𝑘
𝐻𝐸{𝑥𝑘𝑥𝑘𝐻}𝑤𝑘 = 𝑤𝑘
𝐻𝑆𝑥𝑘𝑥𝑘𝑤𝑘 (2.52)
19
com
𝑤𝑘 = [𝑤1,𝑘 𝑤2,𝑘 … 𝑤𝑁,𝑘]𝑇, 𝑥𝑘 = [𝑋1,𝑘 𝑋2,𝑘 … 𝑋𝑁,𝑘]
𝑇(2.53)
A matriz 𝑆𝑥𝑘𝑥𝑘 é uma matriz de correção espectral no índice de frequência k. Ela
depende da geometria do conjunto e do campo sonoro e será estimada pelo algoritmo
adaptativo. A minimização de 𝐸{𝑌𝑘2} deve ser feita com algumas restrições. Por exemplo,
não queremos atenuar os sinais que vêm da direção de interesse e queremos atenuar ou
suprimir sinais de outras direções impondo nulos no padrão do array. Estas condições
foram incluídas na matriz 𝑪𝒌 da Eq. (2.52). A forma desta matriz, em condições de campo
distante e assumindo propagação de ondas planas é composta pelos vetores de direção,
dados por
𝑑𝑘(Φ) = [𝑒𝑗Ω𝑘τ1(Φ) 𝑒𝑗Ω𝑘τ2(Φ) … 𝑒𝑗Ω𝑘τ𝑁(Φ)]
𝑇(2.54)
Com Ω𝑘 = 2𝜋𝑓𝑠𝑘
𝑁𝑓 (fs é a frequência de amostragem e as FFTs possuem
comprimento 𝑁𝑓 .
Para problemas com campo próximo basta apenas utilizar vetores de direção
diferentes.
Supondo que a direção do falante tenha azimute Φ𝑑 e que queremos nulos no
padrão do array no azimute Φ𝑠. Então 𝑑𝑘(Φ𝑑)𝐻𝑤𝑘 = 1 é a resposta do formador de
feixes nesta direção e 𝑑𝑘(Φ𝑠)𝐻𝑤𝑘 = 0 é a resposta na direção que queremos suprimir.
Logo a matriz 𝑪𝒌 é dada por 𝑪𝒌 = [𝑑𝑘(Φ𝑑) 𝑑𝑘(Φ𝑠)] e o vetor f deve ser 𝒇 = [1 0] 𝑇.
Para evitar um conjunto de equações com mais equações do que variáveis, o número de
restrições deve ser menor que o número N de microfones. Na prática, apenas algumas
restrições devem ser usadas para um formador de feixes com bom padrão e lóbulo
principal bem definido e lóbulos laterais pequenos.
O problema de otimização da equação (2.51) pode ser resolvido com
multiplicadores de Lagrange definindo a função custo como
𝐿(𝑤𝑘, 𝜆) = 1
2𝑤𝑘𝐻𝑆𝑥𝑘𝑥𝑘𝑤𝑘 + 𝜆
𝐻(𝐶𝑘𝐻𝑤𝑘 − 𝒇) (2.55)
A estimativa do gradiente desta função custo gera
∇𝑤𝑘𝐿(𝑤𝑘 , 𝜆) = 𝑆𝑥𝑘𝑥𝑘𝑤𝑘 + 𝐶𝑘𝜆 (2.56)
Utilizando o gradiente, uma solução iterativa para o problema de otimização frame a
frame é dada por
𝑤𝑘(𝑚 + 1) = 𝑤𝑘(𝑚) − 𝜇𝐿𝑀𝑆∇𝑤𝑘𝐿(𝑤𝑘, 𝜆) (2.57)
20
O multiplicador de Lagrange pode ser obtido a partir das equações (2.56) e (2.57)
combinados com as restrições 𝐶𝑘𝐻𝑤𝑘(𝑚 + 1) = 𝒇, resultando em
𝜆 = 1
𝜇𝐿𝑀𝑆(𝐶𝑘
𝐻𝐶𝑘)−1𝐶𝑘
𝐻𝑤𝑘(𝑚) − (𝐶𝑘𝐻𝐶𝑘)
−1𝐶𝑘𝐻 𝑆𝑥𝑘𝑥𝑘𝑤𝑘(𝑚) −
1
𝜇𝐿𝑀𝑆(𝐶𝑘
𝐻𝐶𝑘)−1𝒇 (2.58)
Usando esta relação, obtém-se
𝑤𝑘(𝑚 + 1) = 𝑃𝑘[𝑤𝑘(𝑚) − 𝜇𝐿𝑀𝑆𝑆𝑥𝑘𝑥𝑘𝑤𝑘(𝑚)] + 𝑤𝑐𝑘 (2.59)
Onde 𝑃𝑘 é a matriz N x N definida com
𝑃𝑘 = 𝐼 − 𝐶𝑘(𝐶𝑘𝐻𝐶𝑘)
−1𝐶𝑘𝐻 (2.60)
E o vetor 𝒘𝒄𝒌 é dado por
𝑤𝑐𝑘 = 𝐶𝑘(𝐶𝑘𝐻𝐶𝑘)
−1𝑓 (2.61)
Chegamos no algoritmo LMS com restrições substituindo a correlação espacial
desconhecida pela estimativa básica �̃�𝑥𝑘𝑥𝑘 = 𝑥𝑘𝑥𝑘𝐻 e aplicando 𝑌𝑘(𝑚) = 𝑤𝑘
𝐻(𝑚)𝑥𝑘(𝑚)
temos:
𝑤𝑘(𝑚 + 1) = 𝑃𝑘[𝑤𝑘(𝑚) − 𝜇𝐿𝑀𝑆𝑥𝑘(𝑚)𝑌𝑘𝐻(𝑚)] + 𝑤𝑐𝑘 (2.62)
Apesar de o algoritmo poder ser implementado sem grandes dificuldades, a forma
básica dada pela equação (2.62) suprime o sinal desejado em ambientes reais. A restrição
𝑑𝑘(Φ𝑑)𝐻𝒘𝒌 = 1 dificilmente pode ser satisfeita em situações práticas, devido à
atenuação dos microfones, erros de posicionamento, e erros da estimativa da direção
desejada. Se modelarmos os erros como ruídos brancos descorrelacionados na entrada
dos microfones, pode-se observar que as variâncias dos erros são amplificadas por 𝒘𝒌𝑯𝒘𝒌.
Logo, limitando 𝒘𝒌𝑯𝒘𝒌 = ‖𝑤𝑘‖
2 podemos reduzir estes erros. Uma discussão mais
profunda sobre isto pode ser encontrada em [8].
Podemos incluir o vetor de pesos convenientemente no algoritmo se o dividirmos
em 𝒘𝒌(𝑚) = 𝒗𝒌(𝑚) + 𝒘𝒄𝒌 e reconhecer 𝑃𝑘𝑤𝑐𝑘 = 0. Tendo um limite superior 𝐵𝑘, a
norma restringida pode ser expressa por
‖𝑤𝑘(𝑚)‖2 = ‖𝑣𝑘(𝑚)‖
2 + ‖𝑤𝑐𝑘‖2 ≤ 𝐵𝑘 (2.63)
A norma da componente 𝒗𝒌(𝑚) de 𝒘𝒌(𝑚) deve obedecer
‖𝑣𝑘(𝑚)‖ ≤ √𝐵𝑘 − ‖𝑤𝑐𝑘‖2 = 𝑏𝑘 (2.64)
O parâmetro 𝑏𝑘 não depende do índice do frame m e pode ser pré-computado para cada
índice de frequência k. Portanto o algoritmo final adaptativo pode ser resumido como:
21
Inicialização :
𝑤𝑐𝑘 = 𝐶𝑘(𝐶𝑘𝐻𝐶𝑘)
−1𝒇 (2.65)
𝑃𝑘 = 𝐼 − 𝐶𝑘(𝐶𝑘𝐻𝐶𝑘)
−1𝐶𝑘𝐻 (2.66)
𝑏𝑘 = √𝐵𝑘 − ‖𝑤𝑐𝑘‖2 (2.67)
Para cada frame m:
�̃�𝑘(𝑚 + 1) = 𝑃𝑘[𝑣𝑘(𝑚) − 𝜇𝐿𝑀𝑆𝑥𝑘(𝑚)𝑌𝑘∗(𝑚)] (2.68)
𝑣𝑘(𝑚 + 1) = {
�̃�𝑘(𝑚 + 1) 𝑠𝑒 ‖�̃�𝑘(𝑚 + 1)‖ ≤ 𝑏𝑘
𝑏𝑘�̃�𝑘(𝑚 + 1)
‖�̃�𝑘(𝑚 + 1)‖ 𝑠𝑒 ‖�̃�𝑘(𝑚 + 1)‖ ≥ 𝑏𝑘
(2.69)
𝑤𝑘(𝑚 + 1) = 𝑣𝑘(𝑚 + 1) + 𝑤𝑐𝑘 , k = 0, 1,… ,Nf (2.70)
A grande quantidade de memória necessária para armazenar Pk e o vetor 𝒘𝒄𝒌 é
reduzida em função de, para casos como o de array de borda (com azimute de 90º), todos
estes vetores e matrizes serem nulos. Podemos também economizar memória em casos
de simetria com relação à localização de nulos específicos no padrão do array. Se não há
nulo especificado, a inversão da matriz na Eq. (2.61) se reduz a uma divisão escalar já
que a matriz de restrições é igual ao vetor de direções.
O tamanho do passo deve ser selecionado, como mostrado em [11] a partir de
0 < 𝜇𝐿𝑀𝑆 < 2
3𝐸{𝑤𝑘𝐻𝑤𝑘}
(2.71)
Contudo, uma normalização apropriada do passo melhor a convergência do
algoritmo. Com esta modificação, a velocidade de convergência passa a ser independente
da magnitude do sinal de entrada. Com isso, a atualização no vetor de pesos é dada por
�̃�𝑘(𝑚 + 1) = 𝑃𝑘 [𝑣𝑘(𝑚) − 𝜇
‖𝑥𝑘‖2 + 휀𝑥𝑘(𝑚)𝑌𝑘
∗(𝑚)] (2.72)
Tipicamente, é utilizado para o novo tamanho do passo um valor entre 0.001 e 0.02.
Outro parâmetro importante é o limite superior Bk. Para Bk > 10 temos um
formador de feixes superdiretivo. Bk deve ser dependente da frequência para termos uma
resposta em frequência plana do formador de feixes na direção desejada. Baseado em [9]
vimos que o conjunto de limites abaixo possui bom desempenho numa frequência de
amostragem de 16KHz.
22
10 log10 𝐵𝑘 =
{
10 𝑑𝐵 0 < 𝑓 < 250 𝐻𝑧8 𝑑𝐵 250𝐻𝑧 < 𝑓 < 450 𝐻𝑧2 𝑑𝐵 450 𝐻𝑧, < 𝑓 < 700 𝐻𝑧−2 𝑑𝐵 700 𝐻𝑧 < 𝑓 < 1000 𝐻𝑧−4 𝑑𝐵 1000 𝐻𝑧 < 𝑓 < 2000 𝐻𝑧−6 𝑑𝐵 2000 𝐻𝑧 < 𝑓 < 4000 𝐻𝑧−7.5 𝑑𝐵 4000 𝐻𝑧 < 𝑓 < 8000 𝐻𝑧
(2.73)
O formador de feixes pode ser combinado com um subsistema de localização de
fonte como mostrado na figura abaixo:
Figura 2.8. Banco de filtros formador de feixes com sistema de localização de fonte.
Com isso podemos focar o padrão do lóbulo principal de uma fonte móvel
recalculando os parâmetros Pk, 𝒘𝒄𝒌 e 𝑏𝑘 . Deve-se notar que os pesos do filtro adaptativo
não precisam ser recalculados a cada nova estimativa do azimute.
23
Capítulo 3
Sinais e Sistemas
Neste capítulo será apresentado um breve resumo de sinais de voz, abordando
aspectos relacionados ao trabalho e serão descritos os sistemas necessários para a
realização dos testes.
Sinais de voz são sinais utilizados pelos seres humanos para comunicação. São
produzidos nas cordas vocais e chegam ao ouvinte na forma de onda de pressão. Essa
onda é percebida pelo sistema auditivo do ouvinte, que, de maneira extremamente
eficiente, o separa de ruídos externos e sinais que não são de interesse naquele momento.
Nosso sistema auditivo é muito eficiente em fazer essa separação de estímulos externos
de interesse e processar apenas os sinais desejados naquele momento, suprimindo os
demais.
Entre as características dos sinais de fala, é importante destacar a banda de
frequência que eles normalmente ocupam e sua não-estacionariedade.
Os sinais de voz ocupam a faixa de 100 Hz a 8 kHz do espectro de frequências,
porém a energia do sinal se concentra nas frequências mais baixas. Apesar disso,
considera-se como banda fundamental a faixa de 700 Hz a 3 kHz, de modo que os sinais
possuam boa inteligibilidade.
No ramo das telecomunicações, é essencial utilizar o mínimo de banda possível
porém com a preocupação de se deixar o sinal inteligível no receptor. Assim, é atribuída
a faixa de 300 Hz a 3400 Hz, ocupando uma faixa de 3.1 kHz de largura de banda. Tendo
em vista que é necessário uma pequena banda de frequência para se evitar interferências
entre os diferentes canais (chamada banda de guarda), aceita-se que os sinais possuem
largura de banda de 4 kHz. Na Figura 3.1, temos uma ilustração da banda ocupada por
sinais de voz no ramo das telecomunicações.
24
Figura 3.1 – banda de frequência de um canal de voz em telecomunicações
Sinais de voz são ditos não estacionários, já que algumas de suas características
como média, autocorrelação e variância se modificam em função do tempo. Podemos
facilmente mudar características na nossa voz e isso leva a essa propriedade. Além disso,
também é possível que alteremos potência e frequência durante falas, o que faz o sinal de
voz ser considerado não-branco, ou seja, possui diferentes potências em seu espectro.
Como o objetivo do trabalho é analisar algoritmos que possam ser implementados
em telecomunicações, consideramos apenas as faixas dos sinais que estão na banda
ocupada por sinais de voz em telecomunicações (de 300 a 3400 Hz).
Neste trabalho utilizamos sinais de voz onde a fonte era móvel e outros onde a
fonte permanecia parada durante toda a gravação. O sinal de voz com a fonte móvel foi
gravado com um conjunto de oito microfones conforme descrito na Figura 3.2.
Figura 3.2. Posicionamento do conjunto de microfones do sinal móvel
As distâncias entre os microfones estão medidas em centímetros.
No sinal de fonte móvel a fonte começa a emitir com azimute de 90º, se desloca
até 0o e em seguida percorre toda a sala até ter azimute de 180º.
Cada microfone gerou um sinal, amostrado a 16 kHz, o que é quatro vezes maior
que a largura de banda do sinal. Com isso garantimos que a taxa de Nyquist é respeitada
e podemos reconstituir o sinal sem perda de informações.
25
Para os sinais com fonte fixa, foi utilizado um conjunto de dois microfones
separados de 4 cm. Foram gravados quatro sinais, dois em cada microfone, dois com uma
voz masculina falando com um azimute de 30º e outros dois com uma voz feminina
falando com azimute a 150º. Estes sinais foram gravados a uma taxa de 44.1 kHz. Para
mantermos a coerência nas simulações, todos estes foram reamostrados para uma taxa de
16 kHz. Também foram feitas combinações dos sinais dos diferentes microfones da fonte
móvel com os sinais com fonte fixa. A disposição dos microfones utilizados para a
gravação dos sinais com fonte fixa segue a Figura 2.1. Este conjunto é denominado
Conjunto Linear Uniforme.
Nas Tabelas 1 a 3 são descritos os sinais gravados e utilizados neste trabalho.
Tipo da Fonte Fixa
Sinal de Voz Felipe_30_d5_1 e Felipe_30_d5_2
Azimute 30 Tabela 1. Sinal de voz utilizado com fonte fixa 1
Tipo da Fonte Fixa
Sinal de Voz Camila_150_d5_1 e Felipe_150_d5_2
Azimute 150 Tabela 2. Sinal de voz utilizado com fonte fixa 2
Tipo da Fonte Móvel
Sinal de Voz X_e_16
Azimute 90 => 0 => 180 Tabela 3. Sinal de voz utilizado com fonte móvel
É importante ressaltar que os sinais de fonte fixa foram gravados com voz
masculina para azimute de 30o e com voz feminina para azimute de 150o. Como sinais de
voz possuem muitas características que variam de uma pessoa para a outra, ter sinais fixos
com potência, frequência e velocidade de fala diferentes é importante. Todos os sinais
foram gravados no formato “.wav”.
26
Capítulo 4
Simulações e Resultados Obtidos
Neste capítulo apresentaremos as diversas simulações dos sistemas analisados
bem como serão feitos comentários acerca de desempenho e comparações com valores
esperados teóricos.
Como estamos analisando sinais de voz, serão comuns pausas no discurso. Nestes
momentos, todos os algoritmos mantêm a estimação de azimute constante até que o sinal
gravado volte a ter componentes não nulas.
A análise terá como pontos focais o erro quadrático médio da estimação da direção
nos casos com fonte fixa, a influência da frequência de amostragem na redução do erro
quadrático médio e a robustez a ruído, onde foi inserido um ruído branco gaussiano, com
parâmetro Razão Sinal-Ruído (SNR, do inglês Signal to Noise Ratio) de 55 dB e de 40
dB da função awgn, utilizada no MATLAB para adicionar o ruído aos sinais. Estes valores
foram escolhidos de modo que um apresente um ruído que distorça levemente o sinal e o
outro que consiga interferir mais severamente na performance da maioria dos algoritmos.
Para cada algoritmo, serão exibidas três figuras para cada um dos sinais descritos
nas Tabelas 1,2 e 3. A primeira figura sempre será apenas o sinal captado pelo conjunto
de microfones. A segunda com um ruído branco gaussiano adicionado com parâmetro de
SNR de 55 dB e a última com o mesmo ruído porém com SNR de 40 dB.
4.1 – Métodos de Correlação Cruzada Generalizada
4.1.1 – Algoritmo com Transformada de Coerência Suavizada (SCOT)
O primeiro método avaliado foi o de Transformada de Coerência Suavizada
(SCOT), que utiliza correlação cruzada generalizada para estimar o atraso entre os
sinais dos microfones e assim, obter a estimativa do azimute.
27
A Tabela 4 mostra a os erros quadráticos médios para cada uma das simulações.
Características Sinal Erro Médio Quadrático Sinal sem Ruído 631,598
Sinal com SNR 55 dB 566,292
Sinal com SNR 40 dB 3.178,812 Tabela 4. Comparativo entre erros médios quadráticos SCOT- 30º fixo
As Figuras 4.1 a 4.3 mostram que o desempenho do algoritmo não é muito
eficiente, como podemos observar pelos erros médios quadráticos altos. O ruído branco
teve pequena influência no primeiro cenário em que foi inserido, tendo apenas feito a
estimativa a partir do ângulo de 90º. Já no segundo cenário o algoritmo teve grandes
dificuldades de estimar a direção de chegada. Ao ouvir o sinal com o ruído adicionado do
terceiro cenário, é notável a grande dificuldade de se perceber o sinal original. Os motivos
para uma performance tão ruim podem incluir o procedimento de gravação do sinal, e a
precisão do registro da localização da fonte no momento da gravação. Como o sinal foi
gravado a 44.1 kHz, foi necessário reamostrá-lo para 16 kHz. Para avaliarmos o efeito
dessa reamostragem, o algoritmo foi reexecutado. Porém a variação do erro médio
quadrático foi insignificante. Com isso, podemos concluir que para este algoritmo, a
reamostragem não afeta a performance.
Figura 4.1. Estimação de azimute sinal sem ruído, fonte fixa a 30º, SCOT
28
Figura 4.2. Estimação de azimute sinal com ruído de SNR 55dB, fonte fixa a 30º, SCOT
Figura 4.3. Estimação de azimute sinal com ruído de SNR 40dB, fonte fixa a 30º, SCOT
Resultados semelhantes foram obtidos utilizando o sinal descrito na tabela 2.
Como os dois sinais são parecidos e ambos de fontes móveis será exibido aqui apenas os
resultados para um dos sinais.
29
Seguindo o mesmo procedimento de exibição dos resultados, são mostrado nas
Figuras 3.4 a 3.6 os desempenhos do algoritmo no rastreio do sinal móvel descrito na
Tabela 3, sem ruído e com os dois tipos de ruídos utilizados no sinal anterior.
Figura 4.4. Estimação de azimute sinal móvel sem ruído, SCOT
Figura 4.5. Estimação de azimute sinal móvel com ruído SNR 55 dB com SCOT
30
Figura 4.6. Estimação de azimute sinal móvel com ruído SNR 40 dB, SCOT
Novamente o ruído teve pouca influência no segundo cenário, porém dificultou
grandemente a estimativa no último caso. Porém percebe-se que o desempenho do
algoritmo é satisfatório no rastreio do sinal, exceto para o último caso. Isto pode indicar
que a eficiência baixa no sinal fixo se deve às características do próprio sinal, visto que
estes foram gravados com microfones diferentes, em lugares e distâncias diferentes.
4.1.2 – Algoritmo com Transformada de Fase (PHAT)
Aqui seguremos o mesmo procedimento do caso anterior. Mostraremos a resposta
do algoritmo de transformada de fase com os mesmos sinais do caso acima nos mesmos
cenários.
A Tabela 5 mostra a os erros quadráticos médios para cada uma das simulações.
Características Sinal Erro Médio Quadrático Sinal sem Ruído 633,944
Sinal com SNR 55 dB 540,971
Sinal com SNR 40 dB 693,278 Tabela 5. Comparativo entre erros médios quadráticos PHAT- 30º fixo
As Figuras 4.7 a 4.9 mostram as estimativas do ângulo de chagada nos três
cenários (sem ruído, SNR de 55 dB e SNR de 40 dB, respectivamente).
31
Figura 4.7. Estimação de azimute sinal fixo sem ruído, PHAT
Figura 4.8. Estimação de azimute sinal fixo com ruído SNR 55 dB, PHAT
Figura 4.9. Estimação de azimute sinal fixo com ruído SNR 40 dB, PHAT
32
Pela Tabela 5 e pelas Figuras 4.7 a 4.9, podemos observar que o algoritmo com
PHAT possui desempenho bem próximo ao SCOT para os casos sem ruído. Porém, na
presença de ruído, sua performance é significativamente melhor, mesmo no último
cenário em que a presença de ruído é grande.
Assim como anteriormente, são exibidos nas Figuras 4.10 a 4.12 os resultados do
algoritmo PHAT para o caso com fonte móvel, nos mesmos três cenários.
Figura 4.10. Estimação de azimute sinal móvel sem ruído, PHAT
Figura 4.11. Estimação de azimute sinal móvel com ruído SNR 55 dB, PHAT
33
Figura 4.12. Estimação de azimute sinal móvel com ruído SNR 40 dB, PHAT
Novamente, comparando as figuras da resposta do sistema que utiliza PHAT e do
sistema que utiliza SCOT, vemos que no caso sem ruído ambos possuem desempenhos
equivalentes. Porém em ambientes ruidosos e mais próximos de situações práticas, o
método com transformada de fase possui desempenho muito superior.
4.2 – Método de Diferenças de Tempo Interaurais
Analisaremos agora o método por diferenças de tempo interaurais. Este método
demora consideravelmente mais tempo para ser executado, em relação aos demais. Da
mesma forma como foi feita nos casos anteriores, serão mostrados os resultados para
uma fonte fixa a 30º e uma fonte móvel.
É mostrado na tabela 6 os valores dos erros quadráticos médios calculados para
este algoritmo:
Características Sinal Erro Médio Quadrático Sinal sem Ruído 571,371
Sinal com SNR 55 dB 729,130 Sinal com SNR 40 dB 3305,734
Tabela 6. Comparativo entre erros médios quadráticos ITD- 30º fixo
34
Figura 4.13. Estimação de azimute sinal fixo sem ruído, ITD
Figura 4.14. Estimação de azimute sinal fixo com ruído SNR 55 dB, ITD
35
Figura 4.15. Estimação de azimute sinal fixo com ruído SNR 40 dB, ITD
É notável que este algoritmo apresenta maior variação na estimação da direção de
chegada na figura 4.13. Também percebe-se que este é muito suscetível à ruído, como
fica claro na figura 4.14, onde foi impossível estimar a direção de chegada do sinal. Seus
valores calculados de erros médios quadráticos são os maiores entre os algoritmos
avaliados, indicando que este é o algoritmo com menor eficiência.
Nas figuras 4.16 a 4.18, mostramos o desempenho deste algoritmo no rastreio da
fonte móvel:
36
Figura 4.16. Estimação de azimute sinal móvel sem ruído, ITD
Figura 4.17. Estimação de azimute sinal móvel com ruído SNR 55 dB, ITD
37
Figura 4.18. Estimação de azimute sinal móvel com ruído SNR 40 dB, ITD
Pela análise das figuras, podemos concluir que o desempenho deste algoritmo
também não é bom comparado aos outros. Na presença de ruído, foi o algoritmo com a
pior performance entre os analisados. Por ter a pior performance tanto com fonte móvel
quanto com fonte fixa, este método é o menos eficiente dos analisados aqui.
4.3 – Método baseados em Filtros Adaptativos
4.3.1 – Algoritmo com Decomposição em Autovalores (AEVD)
Dando continuidade ao procedimento definido na seção 4.1, mostramos abaixo
os resultados das simulações com método de decomposição em autovalores com o sinal
de fonte fixa a 30º e o sinal móvel, nos cenários com e sem ruído.
A tabela a seguir mostra os erros médios quadráticos calculados para este algoritmo:
Características Sinal Erro Médio Quadrático Sinal sem Ruído 467,899
Sinal com SNR 55 dB 214,256 Sinal com SNR 40 dB 278,929
Tabela 7. Comparativo entre erros médios quadráticos AEVD- 30º fixo
38
As Figuras 4.19 a 4.21 apresentam as estimativas dos ângulos de chegada.
Figura 4.19. Estimação de azimute sinal fixo sem ruído, AEVD
Figura 4.20. Estimação de azimute sinal fixo com ruído SNR 55 dB, AEVD
39
Figura 4.21. Estimação de azimute sinal fixo com ruído SNR 40 dB, AEVD
Baseado nas análises já realizadas, é seguro dizer que o algoritmo de
decomposição por autovalores possui o melhor desempenho dos algoritmos analisados
até aqui. Mesmo na presença de ruído, o valor do erro médio quadrático calculado é
razoavelmente menor comparado aos calculados nos algoritmos de correlação cruzada
generalizada. Vale ressaltar que este é um método que utiliza filtros adaptativos,
diferentemente dos métodos de correlação cruzada e do método de diferença de tempo
interaural.
Dando sequência à análise, são exibidas nas Figuras 4.22 a 4.24 as estimativas dos
ângulos de chegadas resultantes deste algoritmo no rastreio à fonte móvel.
40
Figura 4.22. Estimação de azimute sinal móvel sem ruído, AEVD
Figura 4.23. Estimação de azimute sinal móvel com ruído SNR 55 dB, AEVD
Figura 4.24. Estimação de azimute sinal móvel com ruído SNR 40 dB, AEVD
41
Apesar de ter excelente desempenho no caso da fonte móvel, este algoritmo não
foi capaz de estimar a direção de chegada no ambiente mais ruidoso. No ambiente
intermediário, o ruído afetou pouco a performance.
4.3.2 – Método com Mínimos Quadrados Rápido (FLMS)
O próximo algoritmo a ser analisado é o de mínimos quadrados rápido (FLMS).
Será seguido o mesmo procedimento dos casos anteriores:
A tabela abaixo mostra os respectivos erros médios quadráticos calculados para
este algoritmo:
Características Sinal Erro Médio Quadrático Sinal sem Ruído 226,331
Sinal com SNR 55 dB 262,004 Sinal com SNR 40 dB 433,633
Tabela 8. Comparativo entre erros médios quadráticos FLMS- 30º fixo
As figuras 4.25 a 4.27 exibem os resultados obtidos para este algoritmo.
Figura 4.25. Estimação de azimute sinal fixo sem ruído, FLMS
42
Figura 4.26. Estimação de azimute sinal fixo com ruído SNR 55 dB, FLMS
Figura 4.27. Estimação de azimute sinal fixo com ruído SNR 40 dB, FLMS
Novamente, vemos que o desempenho de um algoritmo com filtros adaptativos é
bem superior ao método com correlação cruzada, para o caso de fonte móvel, mesmo em
ambiente ruidoso. Entre os métodos adaptativos, este apresenta desempenho melhor
comparado ao método por decomposição em autovalores.
43
No caso de fonte móvel, temos os seguintes resultados, exibidos nas figuras 4.28 a 4.30.
Figura 4.28. Estimação de azimute sinal móvel sem ruído, FLMS
Figura 4.29. Estimação de azimute sinal móvel com ruído SNR 55 dB, FLMS
44
Figura 4.30. Estimação de azimute sinal móvel com ruído SNR 40 dB, FLMS
Pelas figuras 4.28 a 4.30 e comparando com os demais sistemas analisados,
vemos que a performance do método de mínimos quadrados é bastante satisfatória
também no caso móvel. Apesar do método PHAT ser menos suscetível a ruídos, o
desempenho com fontes fixas deste método mais do que compensa as diferenças para o
caso móvel. Com isto, é seguro dizer que, com os dados analisados, este é o método
mais eficiente até agora.
4.4 –Formador de Feixes
Inicialmente, faremos as mesmas análises para o formador de feixes que foi feita
com os outros algoritmos. A principal diferença dos resultados exibidos aqui será a
informação de potência do sinal, que também será exibida com o objetivo de
analisarmos a eficiência na redução do ruído vindo de direções diferentes da direção de
chegada estimada pelo algoritmo PHAT.
45
Figura 4.31. Estimação de azimute sinal móvel sem ruído, formador de feixes
Figura 4.32. Estimação de azimute sinal móvel com ruído SNR 55 dB, formador de feixes
Figura 4.33. Estimação de azimute sinal móvel com ruído SNR 40 dB, formador de feixes
46
Assim como no algoritmo com transformada de fase, podemos observar que o
formador de feixes é pouco sensível ao ruído, o que é bastante desejável em situações
práticas. Podemos perceber também a atenuação imposta por ele, principalmente em
azimutes que estão a mais de 30º do azimute estimado pelo algoritmo.
Na tentativa de avaliar como o formador de feixes funcionaria acoplado ao outro
método de correlação cruzada, o adaptamos de modo a obter a estimativa de azimute
através do algoritmo SCOT. O resultado é exibido na Figura 4.34
Figura 4.34. Estimação de azimute sinal móvel sem ruído, formador de feixes com SCOT
Pode-se notar que o azimute estimado é impreciso em alguns momentos, o que
compromete o sinal de saída em função da atenuação imposta pelo formador. Foi
observado que o sistema acoplado com o algoritmo de transformada de fase possui
desempenho relativamente melhor.
Além destes testes, foi avaliada a atenuação do formador de feixes numa
combinação do sinal móvel com o sinal fixo. Sabendo o azimute da fonte fixa e fixando
o azimute do formador de feixes neste ângulo, observamos a atenuação nas outras
direções de chegada. Este resultado é exibido na figura 4.35
47
Figura 4.35. Estimação de azimute sinal móvel sem ruído, formador de feixes com direção fixa
Como podemos observar, para o formador de feixes, se uma direção de chegada
é definida como parâmetro, independente do sinal de entrada ele atenuará as outras
direções num mesmo padrão. Pode-se perceber isto já que a fonte se move mas não há
alteração do padrão de atenuação exibido na figura.
Para o caso em que permitimos ao formador estimar a direção de chegada da soma
dos dois sinais, é exibido o resultado na figura 4.36:
Figura 4.36. Estimação de azimute sinal móvel sem ruído, formador de feixes com DOA
Pode-se notar que a soma dos sinais afete significativamente a estimativa do
azimute, o que causa uma atenuação significativamente menor nas outras direções, como
pode ser observado principalmente no primeiro terço da figura.
48
Capítulo 5
Conclusões
Baseado nos resultados obtidos e analisados no capítulo anterior, foi possível
classificar os algoritmos de estimação de direção de chegada. O algoritmo de diferenças
interaurais (ITD) demonstrou a pior performance entre os avaliados tanto para fontes
móveis quanto para fontes estáticas. Os métodos de correlação cruzada generalizada
exibiram resultados melhores, principalmente o que faz uso de transformada de fase.
Destaca-se a performance deste em ambientes ruidosos, que é significativamente melhor
que o outro método de correlação cruzada generalizada. Quanto aos métodos que utilizam
filtros adaptativos, pode-se notar que seu desempenho, principalmente para fontes não-
móveis foi bastante superior aos outros. Merece destaque o algoritmo de mínimos
quadrados rápido (FLMS) o qual obteve os melhores resultados entre todos os analisados
aqui. O algoritmo de decomposição em autovalores obteve melhor resultado que o de
transformada de fase para fontes fixas, porém em ambientes ruidosos e com fonte móvel,
o desempenho deste método de correlação cruzada foi significativamente melhor. Com
isto, podemos montar a tabela qualitativa abaixo, com um ranking dos algoritmos
estudados.
1º Mínimos Quadrados (FLMS)
2º Correlação Cruzada com Transformada de Fase (GCC – PHAT)
3º Decomposição em Autovalores (AEVD)
4º Correlação Cruzada com Transformada de Coerência Suavizada (GCC –
SCOT)
5º Diferenças de Tempo Interaurais (ITD)
Tabela 9. Ordenação qualitativa dos métodos de estimativa de DOA
Quanto ao formador de feixes, pode-se observar que seu desempenho é superior
quando acoplado ao sistema de estimação de direção de chegada com transformada de
fase em comparação ao caso em que o sistema está acoplado ao outro método de
correlação cruzada. Pode-se avaliar a supressão da potência do sinal nas direções
diferentes da estimada e esta foi considerada suficiente.
49
Referências Bibliográficas
[1] HÄNSLER, E., SCHIMIDT, G., Topics in acoustic echo and Noise Control:
Selected Methods for the cancellation of acoustical echoes, the reduction of
background noise and speech processing . Holanda, Springer, 2006.
[2] AARTS, M., PRIES, H., DOFF, A., Two sensors beamforming algorithm for
Android Smartphones, Bachelor Conclusion Project, Delft University of
Technology, Julho 2012.
[3] PETRAGLIA, F., Estimativa de direção de chegada de sinais de voz utilizando
métodos diversos, Bachelor Conclusion Project, Universidade Federal do Rio de
Janeiro, Março 2015.
[4] CLARK, F., Cancelamento de eco acústico e separação cega de fontes aplicados à
telefonia Viva-voz, Bachelor Conclusion Project, Universidade Federal do Rio de
Janeiro, Dezembro 2010.
[5] POZUELO, R., Determinação de direção de chegada de sinais de áudio com
sistemas Kinect, Bachelor Conclusion Project, Universidade Federal do Rio de
Janeiro, Julho 2012.
[6] VEEN, B. V., BUCKLEY, K. M., “Beamforming Techniques for Spatial Filtering,”
CRC Digital, Signal Processing Handbook, 1999.
[7] BENESTY, J., “Adaptive eigenvalue decomposition algorithm for passive
acoustic source localization”, J. Acoust. Soc. Am., 107(1), 384–391, 2000.
[8] COX, H., ZESKING R, OWEN, M.: “Robust adaptive beamforming”,
IEEE Trans. Acoustic. Speech Signal Process., ASSP-35(10), 1365–1376,
1987.
[9] STÖBICH, G. : Entwurf und Simulation eines adaptiven, zweidimensionalen
Mikrofonarrays, Vienna, Austria: Diploma Thesis, Vienna University of
Technology, 2001 (in German).
[10] LATHI, B., Sinais e Sistemas Lineares, Bookman, 2016.
[11] O. L. Frost, III: An algorithm for linearly constrained adaptive array
processing, Proc. IEEE, 60(8), 926–935, 1972.
50
Apêndice A
Tabelas com as estatísticas de todos os algoritmos nos 3 cenários analisados
Algoritmo DOA
Parâmetros Phi
Original
Sem Ruído
Sinais Microfones
Mínimo Máximo Média Mediana Moda Desvio Padrão
Range Erro médio Quadrático
Erro Médio
Generalized Cross
Correlation (SCOT)
Felipe 30 48.39 57.91 54.32 57.91 57.91 4.614 9.52 631,598 25,132
Camila 150 105.4 113.5 113.2 113.5 113.5 1.259 8.076 1.349,985 36,742
Fonte Móvel
90 => 0 => 180
15.56 164.4 79.98 90 90.81 37.25 148.9 -
Generalized Cross
Correlation (PHAT)
Felipe 30 48.39 90 55.32 57.91 57.91 4.27 41.61 633,944 25,178
Camila 150 105.4 113.5 113 113.5 113.5 1.226 8.076 1.349,126 36,730
Fonte Móvel
90 => 0 => 180
15.56 164.4 79.98 90 90.81 37.25 148.9
Adaptative Eigenvalue
Decomposition
Felipe 30 37.17 105.4 44.1 37.17 37.17 11.71 68.24 467,899 21,631
Camila 150 66.52 113.5 104.5 105.4 105.4 5.417 46.96 2.100,953 45,836
Fonte Móvel
90 => 0 => 180
12.18 161.7 78.81 89.19 90 37.46 149.5 -
Fast Least Mean Squares
Felipe 30 37.17 113.5 42.69 37.17 37.17 8.094 76.31 226,331 15,044
Camila 150 82.37 113.5 105 105.4 105.4 2.557 31.11 2.028,982 45,044
Fonte Móvel
90 => 0 => 180
12.18 161.7 78.44 89.19 90 37.4 149.5 -
Interaural Time
Difference
Felipe 30 45 87.5 53.53 55 55 4.188 42.5 571,371 23,903
Camila 150 87.5 115 106.3 107.5 107.5 3.892 27.5 1.933,654 43,973
Fonte Móvel
90 => 0 => 180
12.5 160 77.07 87.5 87.5 36.53 147.5 -
51
Algoritmo DOA
Parâmetros Phi
Original
Ruído Branco com SNR 55 dB
Sinais Microfones
Mínimo Máximo Média Mediana Moda Desvio Padrão
Range Erro médio Quadrático
Erro Médio
Generalized Cross
Correlation (SCOT)
Felipe 30 48.39 90 53.23 48.39 48.39 5.165 41.61 566,292 23,797
Camila 150 90 122.1 112.6 113.5 113.5 2.609 32.09 1.407,731 37,520
Fonte Móvel
90 => 0 => 180
15.56 155 79.59 90 90.81 35.64 139.5 -
Generalized Cross
Correlation (PHAT)
Felipe 30 37.17 90 52.71 48.39 48.39 5.043 52.83 540,971 23,259
Camila 150 90 122.1 112 113.5 113.5 3.366 32.09 1.458,562 38,191
Fonte Móvel
90 => 0 => 180
12.18 164.4 79.78 90 90.81 36.97 152.3 -
Adaptative Eigenvalue
Decomposition
Felipe 30 21.61 74.6 41.97 37.17 37.17 8.437 52.98 214,256 14,637
Camila 150 90 113.5 103.5 105.4 105.4 3.661 23.48 2.177,676 46,666
Fonte Móvel
90 => 0 => 180
65.74 134 85.51 89.19 65.74 20.53 68.22 -
Fast Least Mean Squares
Felipe 30 21.61 90 43.23 48.39 48.39 6.681 68.39 262,004 16,187
Camila 150 90 113.5 104.8 105.4 105.4 2.602 23.48 2.053,813 45,319
Fonte Móvel
90 => 0 => 180
12.18 161.7 78.46 89.19 90 37.2 149.5 -
Interaural Time
Difference
Felipe 30 45 87.5 55.92 55 55 7.558 42.5 729,130 27,002
Camila 150 87.5 112.5 102.3 105 105 5.95 25 2.315,598 48,121
Fonte Móvel
90 => 0 => 180
12.5 152.5 77.63 87.5 87.5 33.82 140 -
52
Algoritmo DOA
Parâmetros Phi
Original
Ruido Branco com SNR 40 dB
Sinais Microfones
Mínimo Máximo Média Mediana Moda Desvio Padrão
Range Erro médio Quadrático
Erro Médio
Generalized Cross
Correlation (SCOT)
Felipe 30 48.39 90 84.63 90 90 13.94 41.61 3.178,812 56,381
Camila 150 90 113.5 112.5 113.5 113.5 4.684 23.48 1.427,730 37,785 Fonte Móvel
90 => 0 => 180
49.33 107.3 81.4 90 58.39 18.57 57.97 -
Generalized Cross
Correlation (PHAT)
Felipe 30 37.17 90 54.48 48.39 48.39 9.708 52.83 693,278 26,330
Camila 150 90 122.1 110.9 113.5 113.5 5.384 32.09 1.559,724 39,493 Fonte Móvel
90 => 0 => 180
12.18 155 79.55 90 90.81 35.6 142.9 -
Adaptative Eigenvalue
Decomposition
Felipe 30 21.61 90 41.31 37.17 37.17 12.31 68.39 278,929 16,701
Camila 150 97.63 113.5 102.2 105.4 97.63 4.77 15.85 2.305,917 48,020 Fonte Móvel
90 => 0 => 180
90 90 90 90 90 0 0 -
Fast Least Mean Squares
Felipe 30 37.17 90 48.54 48.39 48.39 13.3 52.83 433,633 20,824
Camila 150 90 113.5 103 105.4 105.4 4.267 23.48 2.222,744 47,146 Fonte Móvel
90 => 0 => 180
49.33 153.2 84.52 89.19 57.43 26.27 103.9 -
Interaural Time
Difference
Felipe 30 87.5 87.5 87.5 87.5 87.5 0 0 3.305,734 57,496
Camila 150 85 107.5 98.94 102.5 107.5 8324 22.5 2.681,176 51,780 Fonte Móvel
90 => 0 => 180
85 95 90.12 90 90 2467 10 -
top related