Separação Cega de Fontes e Análise de Componentes Independentes

This work is a study of a technique of Blind Source Separation called Independent Component Analysis (ICA). Some of the most important ICA methods will be presented: maximization of kurtosis, negentropy and likelihood and minimization of mutual information. These methods will be implemented and validated for synthetic signals within the software MATLAB. A test with real audio signals will also be carried out. Keywords—Blind Source Separation, Independent Component Analysis, Signal Processing. I. INTRODUÇÃO O problema de Separação Cega de Fontes pode ser descrito da seguinte forma: um vetor de sinais aleatórios, aqui denominamos fontes, s[n], é aplicado à entrada de um sistema de múltiplas entradas e saídas (MIMO), gerando, como saída desse sistema, um novo vetor, dito de misturas, x[n]. Desejamos conhecer o vetor de fontes s, entretanto, só conhecemos o vetor de misturas x. Portanto, o problema de Separação Cega de Fontes consiste em estimar o vetor de fontes s a partir do vetor de misturas x, sem um conhecimento prévio do sistema. Uma técnica que possibilita obter a separação das misturas é a Análise de Componentes Independentes (ICA, do inglês Independent Component Analysis). Para utilizarmos essa técnica, é necessário supor que todas as componentes do vetor s são independentes entre si. Além disso, é usual supor que as misturas são lineares e instantâneas, de tal forma que a relação entre os vetores s e x pode ser dada pela equação abaixo: x = As (1) . Dessa forma, os métodos de ICA buscarão encontrar uma matriz inversa de mistura W que estime o vetor de fontes s. Nesse artigo serão apresentados os métodos de maximização da curtose, negentropia e verossimilhança. Também será apresentado um algoritmo evolutivo de minimização da informação mútua. II. METODOLOGIA A partir da equação (1) dada acima, pode-se observar que o vetor de fontes estimadas y é dado pela equação abaixo: y = WVx = WVAs (2) Na equação acima, V é uma matriz de branqueamento. Essa matriz transforma o vetor x em um vetor branco z, facilitando os métodos de ICA, pois a matriz inversa de mistura, W, tornase ortogonal. A partir da equação (2) acima, podemos observar que, idealmente, cada componente do vetor y será uma combinação linear das componentes do vetor s. O que queremos é que apenas uma componente do vetor s seja capturada separadamente. Pelo Teorema Central do Limite, a soma de variáveis aleatórias independentes é sempre mais gaussiana do que elas isoladas [2]. Portanto, podemos recuperar as componentes independentes ao maximizar a não-gaussianidade do vetor y. Uma grandeza que indica o grau de gaussianidade de uma variável aleatória é a curtose, definida para sinais reais como: kurt(y) = E{y} − 3(E{y}) (3) Se essa grandeza for zero, a variável considerada é usualmente gaussiana, se for menor ou maior que zero, ela será, respectivamente, subgaussiana ou supergaussiana. Como estimaremos uma componente de cada vez, podemos usar medidas escalares de não-gaussianidade. Ao maximizar o módulo da curtose, maximizamos a nãogaussianidade da componente do vetor y considerada. Portanto, o algoritmo consistirá em encontrar cada linha w da matriz W, incrementando-a na direção do gradiente do módulo da equação (3) acima [3]: ∇kurt = 4sign(kurt)[E{z(wz)} − 3w‖w‖] (4) Δw ∝ sign(kurt)[E{z(wz)} − 3w] (5) w = w + Δw (6) w = w ‖w‖ ⁄ (7) Outra grandeza que maximiza a não-gaussianidade é a negentropia, definida como a diferença entre a entropia de uma variável gaussiana e a entropia da variável aleatória considerada, tendo ambas a mesma variância. No entanto, será necessário estimar essa grandeza: J(y) ∝ [E{G(y)} − E{G(ν)}] (8) Na equação acima, G(.) é uma função arbitrária par e ν é uma variável gaussiana de média nula e variância unitária. Marcelo R. Romano, Departamento de Engenharia de Computação e Automação Industrial. Romis Attux, Departamento de Engenharia de Computação e Automação Industrial. Faculdade de Engenharia Elétrica e de Computação, Universidade Estadual de Campinas, Campinas-SP, Brasil, E-mails: marcelorromano@gmail.com, attux@dca.fee. unicamp.br. Este trabalho de iniciação científica foi financiado pelo CNPq.