You are on page 1of 8

Separao de fontes de sinais de udio

Gustavo Leito
Programa de Ps-Graduao em Engenharia Eltica e Computao PPGEE
Processos Estocsticos
09 de Dezembro de 2009

Resumo
Este trabalho realiza um estudo para a
aplicao prtica de tcnicas de separao de
udio em gravaes onde envolva mais de uma
fonte sonora e mais de uma fonte de captura
simultaneamente. As tcnicas analisadas foram
a separao cega utilizando o mtodo de anlise
de componentes independentes (ICA) e a
separao no cega atravs de algoritmo
gentico.

Abstract
This work makes a study for the practical
application of separation techniques in audio
recording which involve more than one sound
source and more than one source captures
simultaneously. The techniques analyzed were
blind source separation using independent
component analysis (ICA) and the separation
"not blind" through genetic algorithm.

1. Introduo
Para se entender melhor
analisaremos a Figura 1.

problema,

mas tambm uma frao do sinal emitido por


s2. Analogamente, o sinal captado pelo
microfone s2 tambm ser uma mistura dos
dois sinais das fontes s1 e s2.
O problema mostrado acima pode ser modelado
idealmente da seguinte forma:
  a   a



  a
 a



Sendo a um coeficiente que pondera amistura
os sinais (por exemplo, distncia do microfone,
tempo de propagao do som, etc.). Assume-se
que tais coeficientes so desconhecidos, pois
no possvel determinar seus valores sem
conhecer a estrutura fsica exata do ambiente. A
fim de se facilitar a notao, as equaes (1) e
(2) podem ser reescritas a forma matricial
como:
  
Deseja-se, a partir dos sinais capturados x1 e x2,
obter os sinais originados pelas fontes s1 e s2.
Se a matriz de mistura A fosse conhecida, o
problema poderia ser resolvido simplesmente
calculando-se a sua inversa e obtendo
novamente os sinais originais da seguinte
forma:
   
Como a matriz A no conhecida necessita-se
de um algoritmo que estime esta matriz a fim de
se obter o sinal de cada fonte.

Figura 1 Esquemtico do problema.

Como se pode observar pela Figura 1, existe


duas fontes sonoras e um microfone
posicionado em frente a cada uma delas. O
microfone em frente a fonte s1 ir capturar no
somente o sinal emitido pela prpria fonte s1,

Logo, o trabalho resume-se a encontrar a matriz


estimada de  aqui denotada por W para se
estimar o sinal original de cada fonte:
  
Para a realizao deste trabalho foram
analisadas duas tcnicas: a separao cega
atravs
da
anlise
de
componentes

independentes (ICA) e a separao no-cega


atravs de um algoritmo gentico.
O propsito do trabalho avaliar se alguma
dessas tcnicas suficientemente boa para a
separao de sinais de udios em um ambiente
real.

2.
Anlise
de
Indepentes (ICA)

componentes

A primeira abordagem utilizada neste


trabalho foi atravs da anlise de componentes
independentes (ICA). A ICA um poderoso
mtodo utilizado principalmente para o
tratamento de problemas de separao cega de
sinais de fontes independentes, tambm
conhecido como Blind Source Separation
(BSS).
Uma das maneiras de se obter a matriz W
desejada calcular a matriz que maximiza a
no-gaussianidade do vetor  . Esta tcnica est
relacionada com o teorema do limite central.
Por este teorema, a distribuio estatstica de
uma mistura de duas ou mais variveis
aleatrias mais gaussiana do que a
distribuio de cada componente individual [2]
[5]. Portanto, ao maximizar a nogaussianidade dos componentes, estamos na
verdade obtendo sinais estatisticamente o mais
independente quanto possvel, se assemelhando
do sinal das fontes originais.
Desde quando foi proposto, diversas formas de
se estimar o modelo ICA j foram apresentadas.
Entre as alternativas existentes, pode-se citar a
abordagem FastICA proposta por Hyvrinen [1]
em que a convergncia do algoritmo ocorre em
tempo significativamente menor que as
abordagens tradicionais antes aplicadas e que,
portanto, torna muito mais vivel a sua
aplicao em diversos tipos de problemas mais
complexos.
Neste trabalho foi utilizado o algoritmo fastICA
por negentropia o qual ser melhor explicado a
seguir.
2.1 ICA por negentropia

A entropia um conceito fundamental


da Teoria da Informao e avalia o grau de
informao que pode ser obtida atravs da
observao de uma varivel. Neste sentido,
quanto mais imprevisvel for a varivel
observada, maior ser sua entropia. Se uma
varivel possui uma tendncia, ou seja, se h
uma grande probabilidade de um evento
especfico ocorrer, o ganho informacional no
to grande em cada observao, pois j se
espera que este evento altamente provvel
ocorra.
Uma varivel gaussiana possui a maior entropia
entre variveis de mesma varincia [2]. Neste
sentido, a entropia pode ser ento, utilizada
como uma medida de no-gaussianidade da
seguinte forma:
     
Desta forma obtm-se uma medida que
sempre positiva e mede a diferena de Entropia
existente entre a varivel observada e uma
varivel gaussiana com os mesmos parmetros.
Esta medida recebe o nome de negentropia, e
nada mais do que uma verso normalizada da
Entropia e que pode ser utilizada pelo algoritmo
do modelo ICA para encontrar os Componentes
Independentes
baseando-se
na
nogaussianidade da distribuio.
O clculo da entropia, por conseguinte da
negentropia, uma medida que exige muito
tempo computacional. Devido a isso,
geralmente so utilizadas aproximaes para se
estimar a negentropia. Uma boa aproximao
exaustivamente utilizada na literatura dada
por:
'

    !"# $  !"# %$&


(

Na equao acima  uma constante, % uma


varivel gaussiana com mdia zero e varicia
unitria,  a varivel a ser calculada com
varincia unitria e mdia zero, e # uma
funo no-quadrtica. Para o problema em
questo foi utilizado a seguinte funo noquadrtica:
# )  log cosh)

2.2 Pr-processamento
Antes de aplicar o algoritmo ICA
necessrio realizar um pr-processamento nos
dados de entrada. Isso se deve ao fato de
facilitar a convergncia do algoritmo e servir de
normalizao para o clculo da negentropia.
O pr-processamento constitudo de duas
grandes operaes: a centralizao e o
branqueamento. A Figura 2 mostra as etapas do
pr-processamento do sinal a serem realizadas
antes da anlise de componentes independentes.

67  89%:  !"55 ; $  <


Como 5  40 1 podemos reescrever a equao
acima da seguinte forma:
!"55 ; $  !"40 1 40 1 ; $  4!"0 1 0 1; $4 ;  <
A matriz de covarincia das observaes de
0 1 , designada por 6=1 , simtrica, pois os seus
vetores so ortogonais entre si e os valores
prprios so reais [4], assim pode-se escrever:
6=1  !"0 1 0 1; $  !>! ; ,
onde ! uma matriz ortogonal cujas colunas
so os vetores prprios normalizados de
!?0 0 ; @ e D = diag(d1,...,dn) matriz diagonal
com os valores prprios de 6= . O
branqueamento realizado atravs da seguinte
transformao linear invertvel no ortogonal:


Figura 2 Etapas do Pr-processamento.

Centralizao
Consiste na remoo do nvel DC do sinal, ou
seja, torn-lo com mdia nula. Para isso, devese subtrair de cada amostra o valor mdio do
sinal como um todo.
1

0  0  !203
A imposio de mdia nula no afeta a matriz
de mistura. Aps a estimao da matriz de
mistura A com os dados centrados, repe-se o
valor mdio aos sinais separados.
Branqueamento
Aps a centralizao do sinal necessrio
realizar o branqueamento do sinal. O
branqueamento tem o objetivo de tornar o sinal
com suas componentes descorrelacionadas e
sua varincia unitria.
Para realizar o branqueamento dos dados
aplica-se uma transformao linear invertvel
4, de forma que as observaes 5  40 1
tenham matriz de covarincia identidade, isto
, sejam incorrelacionadas com varincia
unitria, ou seja:

4  > 
! ;
Contudo, 4 no a nica matriz de
branqueamento; qualquer matriz A4 em que U
uma matriz ortogonal conduz ao mesmo
resultado.
Desta forma, o branqueamento reduz o nmero
de parmetros a estimar, reduzindo o espao de
pesquisa s matrizes ortogonais. Em vez de
estimar os B
parmetros (elementos) de uma
matriz de mistura genrica B C B, necessrio
DD
parmetros, dado que este o
estimar

nmero de graus de liberdade de uma matriz


ortogonal. O branqueamento uma forma
adequada de reduzir a complexidade do
problema.
2.2 FastICA
Aps o pr-processamento os dados so
encaminhados para o operador que ir realizar a
anlise de componentes independentes, neste
caso o FastICA.
FastICA uma abordagem proposta por Hyvri
Nen[1,2] utilizada para se estimar o modelo
ICA. Entre as vantagens deste mtodo, se

comparado ao algoritmo gradiente, pode-se


citar:

quantidade de problemas para o qual estes se


aplicam seja bastante abrangente.

No h necessidade de escolha de parmetros


para a execuo do algoritmo, tal como a taxa
de aprendizado do gradiente para atualizao da
matriz. Desta forma o modelo se torna mais
confivel, pois no depende de uma boa escolha
de valores por parte do usurio.

Uma implementao do algoritmo gentico


comea com uma populao (geralmente
randmica) de cromossomos. Estas estruturas
so ento avaliadas para gerar oportunidades
reprodutivas de forma que, cromossomos que
representam uma soluo "melhor" tenham
maiores chances de se reproduzirem do que os
que representam uma soluo "pior". A
definio de uma soluo melhor ou pior
mensurada atravs do clculo da funo que se
deseja maximizar ou minimizar, chamada de
funo
de
aptido.
Selecionado
os
cromossomos a serem reproduzidos so
realizadas operaes de cross-over e de
mutao. A operao de cross-over realiza a
combinao de dois cromossomos gerando,
geralmente, dois novos indviduos a partir da
troca de informaes entre os cromossomos
pais. A mutao por sua vez insere um carater
aleatrio operao de reproduo objetivando
com que o algoritmo no convirja para um
mnimo local.

consideravelmente mais veloz que a


abordagem por gradiente (convergncia de 10 a
100 vezes mais rpida [1]).
Para tanto, os componentes so estimados
utilizando-se um algoritmo de ponto-fixo [2],
capaz de encontrar com maior eficincia o
ponto de maximizao dos valores da funo
aplicada para a estimativa do algoritmo.
Os passos da execuo do algoritmo FastICA
so descritos a seguir:
1.Inicializa-se aleatoriamente uma matriz ;
2. DE  !"0 F # ; F 0$  !"#G  ; F
0$ F ;
3.   DE /||DE||;
4. Repetir o passo 2 at que haja convergncia.

As etapas de um tpico algoritmo gentico so


mostradas na Figura 3.

Onde # uma funo no-quadrtica e #G sua


derivada, a saber:
#)  1/L F M9N 89OL)
#G )  LBOL)
Onde L uma constante positiva tal que
1 P L P 2. Neste trabalho fixou-se L  1;

3. Algoritmo gentico
Os algoritmos genticos so uma famlia de
modelos
computacionais
inspirados
na
evoluo. Incorporam uma soluo potencial
para um problema especfico numa estrutura
semelhante a de um cromossomo e aplicam
operadores de seleo e "cross-over" a essas
estruturas de forma a preservar informaes
crticas relativas soluo do problema.
Normalmentes os algoritmos genticos so
vistos como otimizadores de funes, embora a

Figura 3 Etapas de um Algoritmo Gentico.

No presente trabalho o algoritmo gentico foi


utilizado com o intuito de procurar a matriz de
mistura em um ambiente real atravs da
maximizao de uma funo baseada na
transformada de Fourier dos sinais fontes
previamente fornecidos separadamente para o

sistema numa etapa que aqui chamaremos de


calibrao.
As etapas do algoritmo gentico implementado
sero descritas a seguir.

populao para a reproduo e o restante dos


cromossomos eram descartados. A escolha
baseava-se na preservao dos melhores
indivduos segundo o clculo de aptido
previamente realizado.

Incio da Populao

Reproduo

Esta etapa consiste na gerao aleatria de um


conjunto soluo, chamado aqui de populao.

Consiste na etapa onde os indivduos


selecionados na etapa de seleo geraro novos
indivduos a partir de uma combinao dos
indivduos pais.

Para o problema em questo os melhores


resultados foram obtidos com uma populao
inicial de 3000 cromossomos.
Clculo de Aptido
O clculo da aptido consiste em fornecer uma
maior nota a matriz de mistura que gere o sinal
estimado  que mais se aproxime do sinal de
calibrao previamente fornecido.
Os sinais de calibrao utilizados foram sinais
senoidais com de freqncias bem distintas. Por
isso, o clculo da funo de aptido foi
realizado a partir da semelhana das
transformadas de Fourier do sinal de calibrao
e do sinal estimado  . Abaixo segue a funo de
aptido utilizada:
B  R
S TT
,
Onde R corresponde a isima freqncia do
sinal e TT a sua magnitude normalizada.
Tal clculo visa dar baixas notas para sinais
com freqncias fundamentais ligeiramente
diferentes dos sinais de calibrao e notas altas
para sinais com transformada de Fourier
bastante semelhantes.
O problema se resume, ento, a encontrar uma
matriz de mistura que minimize o erro mdio
quadrtico entre a funo de aptido dos sinais
estimados e dos sinais de calibrao.
Seleo
Consiste na etapa de selecionar os
cromossomos para a etapa de reproduo. No
presente trabalho, escolheu-se 50% da

No presente trabalho a reproduo foi realizada


pela permutao de linhas selecionadas
aleatoriamente da matriz de mistura dos
cromossomos em questo, gerando dois novos
indivduos para cada par de progenitores. Dessa
forma, a quantidade de cromossomos na
populao mantm-se constante durante todo o
processo.
Mutao
A operao de mutao bastante importante
para a convergncia do algoritmo gentico. Esta
operao tem a finalidade de manter a
diversidade da populao e evitar a
convergncia para um mnimo local.
Para este trabalho inseriu-se um componente
aleatrio na matriz de mistura gerada pela
permutao durante a reproduo. A taxa de
mutao que se obteve os melhores resultados
foi em torno de 20%. Ou seja, em 20% das
reprodues pelo menos um componente
aleatrio era inserido na matriz.

4. Metodologia
Para a realizao dos testes foram
utilizadas duas abordagens. Na primeira, dois
sinais senoidais um de 50hz e outro de 1100hz
foram gerados e posteriormente combinados. A
mistura destes sinais de udio foi realizada de
forma computacional a partir de uma matriz de
mistura gerada aleatoriamente. Em seguida os
sinais foram submetidos a separao via
FastICA e via algoritmo gentico.
Na segunda abordagem, os mesmos sinais
foram emitidos por dois monitores de referncia

e capturados por dois microfones. Cada monitor


foi responsvel por emitir um determinado sinal
senoidal: 50hz e 1100hz. Neste
este caso,
caso a mistura
acontece de maneira real devido s
particularidades do ambiente e equipamentos
utilizados.
No caso dos testes realizados com o algoritmo
gentico, previamente foi feita uma calibrao.
Esta calibrao consiste no fornecimento dos
sinais a serem misturados previamente a parir
da reproduo atravs dos monitores de
referncia separadamente para quee possa ser
calculada a funo de aptido desses sinais
reais. O objetivo desta abordagem verificar se
existe uma matriz W,, inversa da matriz de
mistura, que reestabelea o sinal original em um
ambiente real. Ou seja, se os sinais podem ser
recuperados por uma operao linear. A Figura
4 mostra o ambiente de teste utilizado.

Os resultados podem ser observados pela


anlise das Figura 6 e 7 para o FastICA e da
Figura 10 e 11 para o algoritmo gentico.

FastICA

Figura 5 Sinais misturados artificialmente.

Figura 6 Resultado da separao pelo FastICA.

Figura 4 Ambiente de teste

5. Resultados
Sero apresentados dois tipos de resultados: os
das misturas realizadas computacionalmente e
das misturas reais atravs da captura dos sinais
senoidais atravs de microfones.

5.1 Misturas Computacionais


Nesta abordagem os sinais senoidais foram
misturados computacionalmente a partir de uma
matriz de mistura gerada aleatoriamente. Feito
isso, os sinais foram submetido ao FastICA e ao
algoritmo gentico.

Figura 7 FFT do resultado da separao pelo


FastICA.

Gentico
5.2 Misturas Reais
Nesta abordagem os sinais senoidais foram
emitidos por dois monitores de referencia. A
frente dos monitores dois microfones adjacentes
e idnticos captavam os sinais emitidos. Feito
isso, os sinais foram submetido ao FastICA e ao
algoritmo gentico.

Figura 8 Sinais de calibrao.

Os resultados
sultados podem ser observados pela
anlise das Figuras 13 e 14 para o FastICA e
das Figuras 16 e 17 para o algoritmo gentico.

FastICA

Figura 9 Sinais misturados artificialmente.

Figura 10 Resultado da separao pelo Algoritmo


gentico.

Figura 12 Sinais misturados naturalmente.

Figura 13 Sinais separados via FastICA.

Figura 14 FFT Sinais separados via FastICA.


Figura 11 FFT do resultado da separao pelo
Algoritmo gentico.

Gentico

forma to completa como para misturas


naturais.
A dificuldade da separao plena nos casos
reais nos leva a suspeita de que essas misturas
no so perfeitamente lineares. Ou seja, no
existe uma matriz nica que represente a
mistura dos sinais observados.

Referncias
Figura 15 Sinais misturados naturalmente.
naturalmente

[1] Aapo Hyvrinen, A Fast Fixed--Point Algorithm


for Independent Component Analysis, Neural
Computation 9 (1997), 14831492.
[2] Aapo Hyvrinen, Juha Karhunen,
arhunen, and Erkki Oja,
Independent
dent
Component
Analysis,Wiley
interscience Publication, 2001.
[3] A. J. Bell and T. J. Sejnowski, An information
maximization approach to blind separation and blind
deconvolution,
onvolution, Neural Computation 7 (1995), 1129
1159.
[4] G. Strangg and K. Borre. Linear Algebra,
Geodesy, and GPS. Wellesley-Cambridge
Cambridge Press,
1997.

Figura 16 Sinais separados via algotitmo


gentico.

Figura 17 FFT Sinais separados via


Algoritmos Genticos.

5.3 Discursses
Como pode ser observado pela anlise dos
resultados, tanto o FastICA quanto o algoritmo
gentico se demonstraram eficientes para a
separao de sinais de udios cuja misturas
foram realizadas artificialmente.
Para misturas naturais, ou seja, aplicao real,
no foi observada a separao plena dos sinais.
Houve sim uma separao, porm no se deu de

[5] Papoulis, A. (1993). Probability, Random


Variables, and Stochastic Processes (3 ed.). McGraw
Hill.