Escolar Documentos
Profissional Documentos
Cultura Documentos
FLORIANPOLIS
2004
Dissertao submetida
Universidade Federal de Santa Catarina
como parte dos requisitos para a
obteno do grau de Mestre em Engenharia Eltrica.
AGRADECIMENTOS
Ao meu orientador, Prof. Rui Seara, e ao meu co-orientador, Prof. Orlando J. Tobias,
por todos os ensinamentos, confiana, apoio e excelente relacionamento.
Aos membros da banca examinadora, por todas as crticas e sugestes que resultaram
em aperfeioamentos no trabalho final.
Aos meus pais, por todo amor, incentivo e por tudo o que me ensinaram e continuam
ensinando.
Ao meu irmo, pela amizade e companheirismo.
Fran, por todo amor, carinho e compreenso.
A todos colegas do LINSE e da UFSC, em especial ao Elton Fonto.
CAPES, pelo apoio financeiro.
Resumo da Dissertao apresentada UFSC como parte dos requisitos necessrios para
obteno do grau de Mestre em Engenharia Eltrica.
iii
SUMRIO
1
Introduo _________________________________________________________ 1
1.1
1.2
1.2.1
1.2.2
1.2.3
Algoritmo LMS_______________________________________________________________ 5
1.3
1.4
Organizao da Dissertao________________________________________________ 7
2.2
2.3
2.4
Consideraes __________________________________________________________ 11
3.2
3.3
3.4
3.5
3.6
3.7
Simulaes _____________________________________________________________ 21
3.8
Consideraes __________________________________________________________ 28
4.2
4.3
Simulaes _____________________________________________________________ 33
4.4
Consideraes __________________________________________________________ 40
pelo Algoritmo LMS e sua Aplicao a Filtros Interpolados e com Atraso __________ 41
iv
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.7.1
5.7.2
5.7.3
5.7.4
5.8
Simulaes _____________________________________________________________ 50
5.9
Consideraes __________________________________________________________ 63
6.2
Contribuies __________________________________________________________ 65
6.3
LISTA DE FIGURAS
marcadores) simulao (mdia de 100 realizaes); (linha slida) modelo dado por
(3.12). _____________________________________________________________ 24
Figura 3.6. Exemplo 3.2. Evoluo de (n) , com = 0, 2 max . (Linha slida) simulao
(mdia de 100 realizaes); (Linha pontilhada) modelo dado por (3.35) e (3.44). __ 24
Figura 3.7. Exemplo 3.3. Evoluo de E[h V (n)] , com = 0,5 max . (Linha pontilhada com
marcadores) simulao (mdia de 100 realizaes); (Linha slida) modelo dado por
(3.12). _____________________________________________________________ 25
Figura 3.8. Exemplo 3.3. Evoluo de (n) , com = 0,5 max . (Linha slida)
simulao(mdia de 100 realizaes); (Linha pontilhada) modelo dado por (3.35) e
(3.44). _____________________________________________________________ 26
Figura 3.9. Exemplo 3.4. Evoluo de E[h V (n)] , com = 0, 25 max . (Linha pontilhada com
marcadores) simulao(mdia de 100 realizaes); (Linha slida) modelo dado por
(3.12). _____________________________________________________________ 27
vi
Figura 3.10. Exemplo 3.4. Evoluo de (n) , com = 0, 25 max . (Linha slida) simulao
(mdia de 100 realizaes); (Linha pontilhada) modelo dado por (3.35) e (3.44). __ 27
Figura 4.1 Diagrama de blocos do filtro Volterra adaptativo interpolado. ___________ 31
Figura 4.2 Diagrama de blocos de um filtro Volterra adaptativo parcialmente interpolado
de segunda ordem. ___________________________________________________ 32
Figura 4.3. Exemplo 4.1. Evoluo do erro quadrtico mdio (mdia de 200 realizaes). 36
Figura 4.4. Exemplo 4.1. Evoluo do erro quadrtico mdio (mdia de 200 realizaes). 37
Figura 4.5. Exemplo 4.2. Evoluo do erro quadrtico mdio (mdia de 200 realizaes). 37
Figura 4.6. Exemplo 4.2. Evoluo do erro quadrtico mdio (mdia de 200 realizaes). 38
Figura 4.7. Exemplo 4.3. Evoluo do erro quadrtico mdio (mdia de 200 realizaes).
(a) Comparao com o filtro Volterra interpolado. (b) Comparao com o filtro
Volterra parcialmente interpolado. _______________________________________ 39
Figura 5.1 Diagrama de blocos do filtro Volterra adaptativo interpolado. ___________ 47
Figura 5.2 Diagrama de blocos do filtro Volterra adaptativo com atraso aplicado a um
problema de estimao de sinal. _________________________________________ 49
Figura 5.3. Exemplo 5.1. Evoluo de E[h V (n)] com = 0,5 max . (Linha slida)
simulao (mdia de 100 realizaes); (Linha pontilhada com marcadores) modelo
dado por (5.22). _____________________________________________________ 52
Figura 5.4. Exemplo 5.1. Simulao (mdia de 100 realizaes) usando = 0,5 max . (Linha
slida) E[x V (n)xTV (n)]E[h V (n)] ; (Linha pontilhada) E[x V (n)x TV (n)h V (n)] ._______ 52
Figura 5.5. Exemplo 5.1. Evoluo de E[h V (n)] com = 0, 25 max . (Linha slida)
simulao (mdia de 100 realizaes); (Linha pontilhada com marcadores) modelo
dado por (5.22). _____________________________________________________ 53
Figura 5.6. Exemplo 5.1. Simulao (mdia de 100 realizaes) usando = 0, 25 max .
(Linha slida) E[x V (n)x TV (n)]E[h V (n)] ; (Linha pontilhada) E[x V (n)xTV (n)h V (n)] . _ 53
Figura 5.7. Exemplo 5.1. Evoluo de E[h V (n)] com = 0, 05 max . (Linha slida)
simulao (mdia de 100 realizaes); (Linha pontilhada com marcadores) modelo
dado por (5.22). _____________________________________________________ 54
vii
Figura 5.8. Exemplo 5.1. Simulao (mdia de 100 realizaes) usando = 0, 05 max .
(Linha slida) E[x V (n)x TV (n)]E[h V (n)] ; (Linha pontilhada) E[x V (n)xTV (n)h V (n)] . _ 54
Figura 5.9. Exemplo 5.1. Evoluo de (n) com = 0,5 max . (Linha preta) simulao
(mdia de 500 realizaes); (Linha branca) modelo dado por (5.27) e (5.31). _____ 55
Figura 5.10. Exemplo 5.1. Evoluo de (n) com = 0, 25 max . (Linha preta)
simulao(mdia de 500 realizaes); (Linha branca) modelo dado por (5.27) e (5.31).
__________________________________________________________________ 55
Figura 5.11. Exemplo 5.1. Evoluo de (n) com = 0, 05 max . (Linha preta) simulao
(mdia de 500 realizaes); (Linha branca) modelo dado por (5.27) e (5.31). _____ 56
Figura 5.12. Exemplo 5.2. Evoluo de E[h V (n)] com = 0,125 max . (Linha slida)
simulao (mdia de 100 realizaes); (Linha pontilhada com marcadores) modelo
dado por (5.22). _____________________________________________________ 57
Figura 5.13. Exemplo 5.2. Evoluo de (n) com = 0,125 max . (Linha preta) simulao
(mdia de 500 realizaes); (Linha branca) modelo dado por (5.27) e (5.31). _____ 57
Figura 5.14. Exemplo 5.3. Evoluo de E[h V (n)] com = 0, 2 max e sinal branco de
entrada. (Linha slida) simulao (mdia de 100 realizaes); (Linha pontilhada com
marcadores) modelo dado por (5.22)._____________________________________ 59
Figura 5.15. Exemplo 5.3. Evoluo de (n) com = 0, 2 max e sinal branco de entrada.
(Linha preta) simulao (mdia de 500 realizaes); (Linha branca) modelo dado por
(5.27) e (5.31). ______________________________________________________ 59
Figura 5.16. Exemplo 5.3. Evoluo de E[h V (n)] com = 0,1 max e sinal branco de
entrada. (Linha slida) simulao (mdia de 100 realizaes); (Linha pontilhada com
marcadores) modelo dado por (5.22)._____________________________________ 60
Figura 5.17. Exemplo 5.3. Evoluo de (n) com = 0,1 max e sinal branco de entrada.
(Linha preta) simulao (mdia de 500 realizaes); (Linha branca) modelo dado por
(5.27) e (5.31). ______________________________________________________ 60
Figura 5.18. Exemplo 5.3. Evoluo de E[h V (n)] , com = 0,1 max e sinal colorido de
entrada. (Linha slida) simulao (mdia de 100 realizaes); (Linha pontilhada com
marcadores) modelo dado por (5.22)._____________________________________ 61
viii
Figura 5.19. Exemplo 5.3. Evoluo de (n) com = 0,1 max e sinal colorido de entrada.
(Linha preta) simulao (mdia de 500 realizaes); (Linha branca) modelo dado por
(5.27) e (5.31). ______________________________________________________ 61
Figura 5.20. Exemplo 5.4. Evoluo de E[h V (n)] com = 0,1 max . (Linha slida)
simulao (mdia de 100 realizaes); (Linha pontilhada com marcadores) modelo
dado por (5.22). _____________________________________________________ 62
Figura 5.21. Exemplo 5.4. Evoluo de (n) com = 0,1 max . (Linha preta) simulao
(mdia de 500 realizaes); (Linha branca) modelo dado por (5.27) e (5.31). _____ 63
ix
LISTA DE TABELAS
Tabela 4.1 Complexidade: Filtro Volterra adaptativo comparado com sua verso
interpolada _________________________________________________________ 31
Tabela 4.2 Nmero de coeficientes para as diferentes estruturas com L = 2 _________ 33
CAPTULO
1
Introduo
Captulo 1 Introduo
A Figura 1.1 mostra um diagrama tpico de filtragem adaptativa. Nesse caso, o filtro
empregado para estimar o sinal desejado a partir de um sinal de entrada, assumindo que
existe alguma correlao entre eles. O processo de adaptao ou de obteno dos
parmetros (coeficientes) do filtro, geralmente realizado atravs da otimizao de uma
funo de desempenho ou funo custo previamente definida. Para esse caso, o que se
pretende que o sinal de sada seja o mais prximo possvel do sinal desejado, com
relao a algum dado critrio.
d(n) sinal
desejado
x(n)
sinal de entrada
y(n)
Filtro
Adaptativo
sinal de sada
e(n)
sinal de erro
(1.1)
Captulo 1 Introduo
onde x(n) e y (n) caracterizam a entrada e a sada do filtro, respectivamente; e wi (n) , para
i = 0,1, , N 1 , representa os coeficientes do filtro correspondente. Essa relao pode
ainda ser escrita na forma vetorial, resultando em
y ( n) = w T ( n) x( n) ,
com
wN 1 (n)]T
(1.2)
x(n N + 1)]T .
Existem ainda filtros lineares adaptativos recursivos, ou com resposta ao impulso infinita
(IIR), porm devido s dificuldades envolvidas em seu processo de adaptao, sua
aplicao em filtragem adaptativa bastante restrita [5].
(1.3)
O filtro de Wiener utiliza o erro quadrtico mdio = E[e 2 (n)] como a funo custo a ser
minimizada [5]. Tal funo escolhida por sua simplicidade matemtica e ainda por
apresentar um nico mnimo global sob algumas condies, como por exemplo, para o caso
em que filtros FIR lineares so considerados. Assim, elevando-se (1.3) ao quadrado e
tomando-se seu valor esperado, obtm-se
(1.4)
= E[d 2 (n)] 2w T p + w T Rw .
(1.5)
Captulo 1 Introduo
Para se obter o valor de w que minimize a correspondente funo custo, faz-se o seu
gradiente em relao aos coeficientes igual a zero, isto = 0 . Assim,
= 2Rw 2p = 0 .
(1.6)
Denotando-se o vetor de coeficientes que minimiza a funo custo por w o , a partir de (1.6)
possvel obter a equao de Wiener-Hopf, dada por
Rw o = p .
(1.7)
w o = R 1p ,
(1.8)
w (n + 1) = w (n) n ,
(1.9)
w (n + 1) = (I 2R )w (n) + 2p .
(1.10)
Captulo 1 Introduo
(1.11)
w1
,
wN 1
(1.12)
(1.13)
(1.14)
(1.15)
w (n + 1) = w (n) + 2e(n)x(n) .
(1.16)
Captulo 1 Introduo
Como pode ser observado, a mais inconteste caracterstica do algoritmo LMS sua
simplicidade. Para a sua implementao so requeridas N + 1 multiplicaes para calcular a
sada do filtro e obter 2e(n) , e ainda outras N multiplicaes para obter 2e(n)x(n) ,
resultando em um total de 2 N + 1 multiplicaes por amostra, somadas s 2N adies
tambm necessrias. Alm disso, esse algoritmo tambm relativamente robusto, o que
significa dizer que pequenas incertezas do modelo e perturbaes com pouca energia
resultam apenas em pequenos erros de estimao. Por outro lado, a principal desvantagem
do algoritmo LMS sua convergncia lenta quando o sinal de entrada fortemente
autocorrelacionado [5], o que pode algumas vezes prejudicar sua aplicao.
1.3 Filtros Adaptativos No-Lineares
Captulo 1 Introduo
CAPTULO
2
Filtro Volterra
Um filtro Volterra causal discreto pode ser considerado como um filtro linear
acrescido de blocos no-lineares. Essa caracterstica fica evidenciada a partir de sua relao
de entrada e sada [8], dada por
y ( n) =
h (m ) x(n m )
1
m1 = 0
N
h (m , m ) x(n m ) x(n m ) +
m1 = 0 m2 = m1
N
m1 = 0
mP = mP 1
hP (m1 ,
, mP ) x(n m1 )
(2.1)
x(n mP ),
y ( n) = y p ( n) ,
(2.2)
p =1
N 1 N 1
m1 = 0 m2 = m1
N 1
m p = m p 1
hp (m1 , m2 , , m p ) x(n mk ) .
(2.3)
k =1
A sada de cada um dos blocos do filtro Volterra pode ser escrita na forma vetorial.
Essa abordagem bem conhecida para o bloco de primeira ordem (teoria de filtros
lineares), resultando em
y1 (n) = h1T x1 (n) ,
(2.4)
x(n) x(n N + 1) x 2 (n 1)
h2 (0, N 1) h2 (1,1)
x 2 (n N + 1)]T , (2.5)
h2 ( N 1, N 1)]T ,
(2.6)
(2.7)
A mesma operao pode ser realizada para os outros blocos no-lineares do filtro Volterra,
resultando na seguinte relao, agora para um bloco de ordem p qualquer,
y p (n) = h Tp x p (n) .
(2.8)
(2.9)
h V = [h1T h T2 h TP ]T ,
(2.10)
10
y (n) = h TV x V (n) .
(2.11)
h1
y(n)
+
+
x(n)
hV
y(n)
h2
+
+
hP
11
( N + p 1)!
.
( N 1)! p !
(2.12)
DV ( N , P) = D p ( N ) ,
(2.13)
p =1
o que resulta em
DV ( N , P) =
( N + P )!
1 .
N !P!
(2.14)
2.4 Consideraes
CAPTULO
3
d(n)
x(n)
hV
y(n)
e(n)
13
(3.1)
(3.2)
Em (3.2) o vetor h V foi retirado do operador esperana por no se tratar aqui de uma
varivel estatstica. Como realizado na Seo 1.2.1, para se obter o vetor timo de
coeficientes que minimize o erro quadrtico mdio, faz-se o gradiente da funo custo em
relao aos coeficientes igual a zero, obtendo-se
= 2 E[d (n)x V (n)] + 2 E[x V (n)xTV (n)]h V = 0 .
(3.3)
Definindo-se a matriz R VV = E[x V (n)x TV (n)] e o vetor p V = E[d (n)x V (n)] , possvel
reescrever (3.3) como
2p V + 2R VV h V = 0 ,
(3.4)
que resulta em uma expresso semelhante de Wiener-Hopf para o filtro Volterra, dada por
R VV h Vo = p V ,
(3.5)
h Vo = R -1VV p V .
(3.6)
Esta soluo semelhante quela obtida para filtros lineares mostrada na Seo 1.2.1. No
entanto, importante ressaltar uma principal diferena existente em tal representao. O
vetor de entrada x V (n) , como pode ser observado em (2.9), distinto daquele para o caso
do filtro linear.
3.2 Comportamento Mdio dos Pesos
(3.7)
14
d(n)+z(n)
x(n)
hV(n)
y(n)
e(n)
(3.8)
Para obter o momento de primeira ordem dos coeficientes do filtro, substitui-se em (3.7) o
valor instantneo do erro dado por (3.8). A seguir, tomando-se o valor esperado, obtm-se
E[h V (n + 1)] = E[h V (n)] + 2E[d (n)x V (n)]
+2E[ z (n)x V (n)] 2E[x V (n)h TV (n)x V (n)].
(3.9)
Como demonstrado em [5], podemos assumir que a correlao entre vetores de entrada
mais importante do que a correlao entre o vetor de coeficientes e o vetor de entrada. Essa
aproximao, conhecida como hiptese da independncia (independence assumption), parte
do pressuposto que as amostras atuais dos sinais observados x(n), d (n) so independentes
de suas amostras anteriores x(n 1) , d (n 1) , x(n 2) , d (n 2) . Dessa forma, possvel
argumentar que h V (n) depende apenas das amostras anteriores, podendo ser considerado
independente de x V (n) (amostra atual). Atravs de uma anlise mais minuciosa nota-se que
em muitos casos prticos a hiptese de independncia questionvel. Porm, a experincia
com o algoritmo LMS tem demonstrado que as predies realizadas usando tal
considerao se encaixam nos resultados de simulao do algoritmo LMS, principalmente
quando pequenos valores de so utilizados (condio de adaptao lenta). Ento,
admitindo-se essa fraca dependncia entre x V (n) e h V (n) possvel escrever
E[x V (n)h TV (n)x V (n)] E[x V (n)xTV (n)]E[h V (n)] .
(3.10)
15
Assumindo-se, ainda, o sinal de rudo com mdia zero e descorrelacionado dos demais
sinais do sistema, substitui-se (3.10) em (3.9) para obter
E[h V (n + 1)] = E[h V (n)] + 2E[d (n)x V (n)] 2E[x V (n)x TV (n)]E[h V (n)] .
(3.11)
Usando-se agora R VV = E[x V (n)x TV (n)] e p V = E[d (n)x V (n)] em (3.11), podemos obter a
expresso que descreve o comportamento mdio dos pesos de um filtro Volterra adaptado
pelo algoritmo LMS. Assim,
E[h V (n + 1)] = (I 2R VV ) E[h V (n)] + 2p V ,
(3.12)
Definindo o vetor de erro dos pesos como a diferena entre o vetor de pesos e o
vetor timo de pesos, temos
v (n) = h V (n) h Vo .
(3.13)
(3.14)
(3.15)
(3.16)
A partir do vetor de entrada do filtro Volterra de ordem P , dado por (2.9), pode-se escrever
R VV da seguinte forma:
R VV
R11
R
= 21
R P1
R12
R 22
R P2
R1 P
R 2 P
,
R PP
(3.17)
16
onde
R p1 p2 = R Tp2 p1 = E[x p1 (n)x Tp2 (n)] .
(3.18)
E[ x(n 1) x(n)]
E[ x( n 1) x(n 1)]
R11 =
Para um sinal de entrada branco Gaussiano com varincia 2x e mdia zero, a matriz R11
dada por
2x
0
R11 =
2
x
0
.
2x
(3.20)
Analisando a expresso do comportamento mdio dos pesos, podemos observar que, para
filtros lineares com sinal de entrada branco, o comportamento de cada um dos pesos
independente do comportamento dos demais pesos. Isso pode ser constatado escrevendo-se
o comportamento mdio do i -simo peso do filtro a partir de (3.12) e (3.20). Assim,
E[hi (n + 1)] = (1 2 2x ) E[hi (n)] + 2E[d (n) x(n i + 1)] .
(3.21)
Para um filtro Volterra de segunda ordem, ainda devem ser consideradas as matrizes R12 e
R12 = RT21 = 0
e
(3.22)
0
R 22 = 2
x
0
2x
2x
2x
2x
2x
2x
2x
0
.
2x
3 2x
0
2
x
17
(3.23)
R VV
2x
0
0
0
=0
0
0
2x
32x
2x
2
x
2
x
0
0
0
0
0
0
0
2x
0
0
0
0
2x
3 2x
2x
2x
2x
0
0
2x
0 .
0
2x
3 2x
(3.24)
Portanto, podemos verificar que existem elementos tambm fora da diagonal principal da
matriz de autocorrelao do sinal de entrada, mesmo considerando-se um sinal de entrada
branco Gaussiano. Isso implica um comportamento no independente dos pesos, existindo,
assim, um acoplamento entre eles. Outra conseqncia desse fato um espalhamento maior
dos autovalores desta matriz, degradando sobremaneira a velocidade de convergncia do
algoritmo LMS [5]. Ainda, podemos observar que, como a matriz R12 nula, existe um
desacoplamento total entre o bloco de primeira e o de segunda ordem. Assim, podemos
encontrar limites de estabilidade independentes, levando escolha de diferentes passos de
adaptao para cada bloco, uma vez que tais parmetros dependem da matriz de
autocorrelao do sinal de entrada [5].
Analisando-se filtros Volterra de ordens superiores, podemos observar que a
condio de independncia entre blocos de diferentes ordens, para sinal branco Gaussiano
18
32x
R13 = 0
0
0
2x
0
0
2x
0
2
x
0 2x
0 0
0
0
32x
0
0
0
2x
2
x
0 ,
3 2x
R 23 = R T32 = 0 ,
(3.25)
(3.26)
e
15 2x
0
0
2
3 x
0
R 33 = 2
3 x
0
0
0
32x
32x
3 2x
3 2x
2x
3 2x
2x
0
3 2x
0
2x
0
2x
0
15 2x
0
32x
0
2x
0
2
x
2
x
0
32x
0
2x
0
3 2x
0
3 2x
0
32x
0
32x
0
32x
0
0
3 2x
0
0
,
0
0
3 2x
0
15 2x
(3.27)
o que resulta em um acoplamento entre os blocos de primeira e terceira ordens em tal filtro.
3.5 Erro Quadrtico Mdio
(3.28)
(3.29)
(3.30)
19
(3.31)
De [5], tem-se o princpio da ortogonalidade que estabelece que o erro de estimao timo
descorrelacionado do sinal de entrada, ou seja, E[x V (n)eo (n)] = 0 . Uma breve
demonstrao desse princpio apresentada no Apndice A. Usando-se tal princpio em
conjunto com a hiptese da independncia, dada por (3.10) e vlida tambm para o vetor de
erro dos pesos, tem-se
E[eo (n) v T (n)x V (n)] = E[ v T (n)]E[eo (n)x V (n)] = 0 .
(3.32)
(3.33)
= E[ v T (n)R VV v (n)].
Dado que E[ v T (n)R VV v(n)] dimensionalmente um escalar, o resultado de (3.33) pode ser
reescrito por
E[ v T (n)R VV v (n)] = tr { E[ v T (n)R VV v (n)]}
= E {tr[ v T (n)R VV v (n)]}
= E {tr[ v T (n) v (n)R VV ]}
(3.34)
= tr { E[ v T ( n) v( n)]R VV } ,
onde tr{}
representa o operador trao da matriz. Denotando-se agora o erro quadrtico
mdio por (n) = E[e 2 (n)] , o seu valor mnimo por min = E[eo2 (n)] , e definindo-se a matriz
de autocorrelao do vetor de erro dos pesos por K (n) = E[ v(n) v T (n)] , a expresso para a
curva de aprendizagem reescrita como
(n) = min + tr {K (n)R VV } .
(3.35)
20
(3.36)
(3.37)
(3.38)
(3.39)
(3.40)
(3.41)
(3.42)
(3.43)
21
Com isso, obtm-se uma aproximao para expresso recursiva do momento de segunda
ordem, dada por
K (n + 1) = K (n) 2(K (n)R VV + R VV K (n)).
(3.44)
Exemplo 3.1: Neste exemplo, um filtro Volterra de segunda ordem e tamanho de memria
igual a 7 usado para identificar uma planta com a seguinte relao entrada/sada:
d (n) = x(n) + 0,5 x(n 1) + 0,1x(n 2) 0, 2 x(n 3) 0,3x(n 4)
0,1x(n 5) + 0, 08 x(n 6) + 0, 7 x 2 (n) + 0,3 x(n) x(n 1)
0,1x(n) x(n 3) + 0, 05 x(n) x(n 6) + 0,5 x 2 (n 1)
+ 0, 2 x(n 1) x(n 2) 0, 2 x(n 1) x(n 5) 0,35 x 2 (n 2)
0, 05 x(n 2) x( n 4) + 0, 02 x( n 2) x(n 5) 0, 2 x 2 (n 3)
+ 0, 05 x(n 3) x(n 5) + 0,1x 2 (n 4) + 0, 05 x(n 4) x(n 5)
+ 0, 02 x(n 4) x(n 6) 0,1x 2 (n 5) + 0, 05 x 2 (n 6) .
22
0.8
E[hV (n)]
0.6
0.4
0.2
-0.2
-0.4
750
iterao
1500
Figura 3.3. Exemplo 3.1. Evoluo de E[h V (n)] com = 0,5 max . (Linha
pontilhada com marcadores) simulao (mdia de 100 realizaes); (Linha
slida) modelo dado por (3.12).
23
10
10
-1
(n)
10
-2
10
-3
10
-4
10
500
1000
1500
2000
2500 3000
iterao
3500
4000
4500
5000
Figura 3.4. Exemplo 3.1. Evoluo de (n) com = 0,5 max . (Linha slida)
simulao (mdia de 100 realizaes); (Linha pontilhada) modelo dado por
(3.35) e (3.44).
Exemplo 3.2: O mesmo filtro do Exemplo 3.1 considerado, modificando-se apenas o valor
do passo de adaptao para 0, 2 max . A Figura 3.5 mostra os resultados de maneira similar
aos da Figura 3.3, enquanto a Figura 3.6 ilustra o comportamento do erro quadrtico mdio
seguindo o mesmo padro da Figura 3.4. Neste exemplo, podemos constatar a excelente
preciso da modelagem desenvolvida, o que pode ser verificado atravs da similaridade
entre as curvas obtidas para uma condio de adaptao lenta.
0.8
E[hV (n)]
0.6
0.4
0.2
-0.2
-0.4
1500
iterao
3000
Figura 3.5. Exemplo 3.2. Evoluo de E[h V (n)] , com = 0, 2 max . (Linha
pontilhada com marcadores) simulao (mdia de 100 realizaes); (linha
slida) modelo dado por (3.12).
2
10
10
(n)
10
-1
10
-2
10
-3
10
-4
10
2500
iterao
5000
Figura 3.6. Exemplo 3.2. Evoluo de (n) , com = 0, 2 max . (Linha slida)
simulao (mdia de 100 realizaes); (Linha pontilhada) modelo dado por
(3.35) e (3.44).
24
25
Exemplo 3.3: Novamente, o filtro do Exemplo 3.1 considerado. Agora, o sinal de entrada
unitria e = 0,5 . O passo de adaptao 0,5 max com max = 0, 0015 . Os resultados do
comportamento mdio dos coeficientes so mostrados na Figura 3.7, enquanto a curva de
aprendizagem ilustrada na Figura 3.8. Novamente, timos resultados so obtidos,
comprovando tanto a validade das expresses analticas desenvolvidas quanto as
aproximaes consideradas.
1.2
1
0.8
E[hV (n)]
0.6
0.4
0.2
0
-0.2
-0.4
1000
2000
3000
4000
5000 6000
iterao
7000
8000
9000 10000
Figura 3.7. Exemplo 3.3. Evoluo de E[h V (n)] , com = 0,5 max . (Linha
pontilhada com marcadores) simulao (mdia de 100 realizaes); (Linha
slida) modelo dado por (3.12).
26
10
10
(n)
10
-1
10
-2
10
-3
10
-4
10
9000
iterao
18000
Figura 3.8. Exemplo 3.3. Evoluo de (n) , com = 0,5 max . (Linha slida)
simulao(mdia de 100 realizaes); (Linha pontilhada) modelo dado por
(3.35) e (3.44).
Exemplo 3.4: Neste exemplo, uma planta Volterra de terceira ordem e tamanho de memria
0.6
E[hV (n)]
0.4
0.2
-0.2
-0.4
0
25000
iterao
50000
Figura 3.9. Exemplo 3.4. Evoluo de E[h V (n)] , com = 0, 25 max . (Linha
pontilhada com marcadores) simulao (mdia de 100 realizaes); (Linha
slida) modelo dado por (3.12).
1
10
10
-1
(n)
10
-2
10
-3
10
-4
10
25000
iterao
50000
Figura 3.10. Exemplo 3.4. Evoluo de (n) , com = 0, 25 max . (Linha slida)
simulao (mdia de 100 realizaes); (Linha pontilhada) modelo dado por
(3.35) e (3.44).
27
28
3.8 Consideraes
Neste Captulo, uma anlise estatstica do filtro Volterra adaptado pelo algoritmo
LMS foi apresentada. O modelo pseudolinear da operao de filtragem Volterra
explorado, permitindo a derivao de expresses analticas para o seu comportamento.
Atravs dos resultados de simulao, foi possvel comprovar a validade da modelagem
analtica proposta. O resultado obtido neste captulo deu origem a uma publicao [23].
CAPTULO
4
30
x[ n ( N s 1) L]}
(4.1)
N 1
Ns =
+1,
L
(4.2)
h1[( N s 1) L]}T .
(4.3)
xi (n) = i j x(n j ) .
(4.4)
j =0
O sinal a ser estimado d (n) somado a um rudo de medio z (n) de mdia zero e
descorrelacionado dos demais sinais do sistema. Os sinais y (n) e e(n) representam o sinal
de sada do filtro esparso e o sinal de erro, respectivamente. Assim, o vetor de entrada de
primeira ordem para o filtro Volterra interpolado fica dado por
x1i ( n ) = { xi ( n ) xi ( n L) xi ( n 2 L)
xi [ n ( N s 1) L]}T . .
(4.5)
x ( n)
xi(n)
hVi
y ( n) _
31
d(n)+z(n)
+
e(n)
(4.6)
P
2
2
2
3
3
3
L
2
2
2
2
2
4
Ns
DV ( N , P)
DV ( N s , P )
2
5
13
8
15
8
9
65
350
815
5455
5455
5
20
104
164
815
164
Reduo (%)
44,44%
69,23%
70,29%
79,88%
85,06%
96,99%
32
respectivamente, com y1 (n) e y2 (n) representando seus sinais de sada. Os demais sinais
da Figura 4.2 so equivalentes aos da Figura 4.1.
d(n)+z(n)
x ( n)
h1
y ( n) _ +
y1(n) +
e(n)
+
I
xi(n)
h2i
y 2( n )
(4.7)
33
Ordem
3
10
25
50
10
25
2
2
2
2
3
3
Volterra
9
65
350
1325
285
3275
Nmero de coeficientes
Interpolado
Parc. Interpolado
5
6
20
25
104
116
350
375
55
60
559
571
y2 ( n ) =
k =0 m=0
(4.8)
onde y2 (n) o sinal de sada do bloco de segunda ordem; x( n) denota o sinal de entrada;
h2 (m, m + k ) representa os coeficientes de segunda ordem; e N o tamanho de memria
do filtro. Em (4.8) tem-se ainda o fator K que determina a quantidade de coeficientes do
34
Exemplo 4.1: Para este exemplo, a planta um filtro linear com resposta ao impulso dada
por
seguido
por
uma
no-linearidade sem memria, de tal forma que o sinal desejado obtido atravs de
d (n) = yf (n) + 0,3 yf2 (n) , onde yf (n) a sada do filtro linear. O sinal de entrada branco e
Gaussiano, com varincia unitria. A escolha do passo de adaptao feita levando-se em
considerao um limite superior, denotado aqui por max , dado por [5]
max =
1
,
3tr[R ]
(4.9)
35
Exemplo 4.2: Para este exemplo, a planta usada semelhante do exemplo anterior, com
diferena apenas na parte linear, que possui uma resposta ao impulso dada por
[0, 4 0, 2 0,1 0,15 -0, 05 -0,1 0 0, 2 0,3 0,25 0, 02]T . possvel notar que tal planta
possui baixo grau de similaridade entre as amostras, afetando sobremaneira o desempenho
de uma abordagem interpolada. A no-linearidade sem memria e o sinal de entrada so os
mesmos do Exemplo 4.1. O nmero de coeficientes e os valores do passo de adaptao so
tambm idnticos aos do Exemplo 4.1, exceto para os filtros Volterra simplificados que
apresentam: 0, 2 max com max = 0, 005 para o filtro Volterra simplificado com K = 7 e 67
coeficientes; 0, 2 max com max = 0, 0034 para o filtro Volterra simplificado com K = 9 e
74 coeficientes. A Figura 4.5 ilustra os resultados obtidos atravs de simulao Monte
Carlo (mdia de 200 realizaes). Como esperado, o filtro Volterra adaptativo interpolado
apresenta pior desempenho do que o filtro linear adaptativo, devido s caractersticas da
planta utilizada. Por outro lado, o filtro Volterra adaptativo parcialmente interpolado tem
desempenho um pouco melhor do que o filtro linear, confirmando as suposies
apresentadas na Seo 4.2. Atravs da comparao com o filtro Volterra simplificado [15]
da Figura 4.6, podemos notar que o desempenho do filtro parcialmente interpolado (32
coeficientes alm de 3 coeficientes do interpolador) bem prximo ao do filtro Volterra
simplificado de 67 coeficientes.
Exemplo
4.3:
Neste
exemplo,
no-linearidade
sem
memria
dada
por
d (n) = 2 tanh[2,5 yf (n)] , onde yf (n) a sada de uma planta linear com coeficientes
36
[0,1 0,3 0,32 0,3 0,1]T . Agora, os filtros Volterra adaptativos possuem blocos de primeira
e de terceira ordens devido ao tipo de no-linearidade da planta usada. O tamanho de
memria dos filtros adaptativos igual a 5 e o sinal de entrada branco Gaussiano com
varincia 2x = 0,5 . Os valores do passo de adaptao so determinados experimentalmente
levando-se em conta o limite de estabilidade do algoritmo. Os passos de adaptao e o
nmero de coeficientes para cada estrutura simulada so: = 0, 0067 para o filtro linear de
5 coeficientes; = 0, 0005 para o filtro Volterra convencional de 40 coeficientes;
= 0, 0001 para o filtro Volterra interpolado de 13 coeficientes; = 0, 00015 para o filtro
Volterra parcialmente interpolado de 15 coeficientes. A Figura 4.7 apresenta a comparao
das curvas do erro quadrtico mdio do filtro linear adaptativo e do filtro Volterra
adaptativo com o filtro Volterra adaptativo interpolado (a) e com o parcialmente
interpolado (b). Novamente, possvel verificar o bom desempenho das estruturas
propostas, especialmente o do filtro Volterra adaptativo parcialmente interpolado, que
apresenta resultados muito bons para este caso.
10
linear (L)
Volterra (V)
interpolado (proposto) (VI)
parc. interpolado (proposto) (VPI)
-1
10
L
VI
-2
10
VPI
-3
10
-4
10
500
1000
1500
2000
2500 3000
iterao
3500
4000
4500
5000
Figura 4.3. Exemplo 4.1. Evoluo do erro quadrtico mdio (mdia de 200
realizaes).
10
10
S32
-2
10
S41
S49
VPI
-3
10
500
1000
1500
2000
2500 3000
iterao
3500
4000
4500
5000
Figura 4.4. Exemplo 4.1. Evoluo do erro quadrtico mdio (mdia de 200
realizaes).
1
10
linear (L)
Volterra (V)
interpolado (proposto) (VI)
parc. interpolado (proposto) (VPI)
10
VI
-1
10
L
VPI
-2
10
-3
10
-4
10
500
1000
1500
2000
2500 3000
iterao
3500
4000
4500
5000
Figura 4.5. Exemplo 4.2. Evoluo do erro quadrtico mdio (mdia de 200
realizaes).
37
10
Volterra (V)
simplificado [15] com 67 coef. (S67)
simplificado [15] com 74 coef. (S74)
parc. interpolado (proposto) com 32 coef. (VPI)
-1
10
VPI
S67
-2
10
S74
-3
10
-4
10
500
1000
1500
2000
2500 3000
iterao
3500
4000
4500
5000
Figura 4.6. Exemplo 4.2. Evoluo do erro quadrtico mdio (mdia de 200
realizaes).
38
10
linear (L)
Volterra (V)
interpolado (proposto) (VI)
10
-1
10
VI
V
-2
10
50000
iterao
100000
(a)
10
linear (L)
Volterra (V)
parc. interpolado (proposto) (VPI)
10
-1
10
VPI
V
-2
10
50000
iterao
100000
(b)
Figura 4.7. Exemplo 4.3. Evoluo do erro quadrtico mdio (mdia de 200
realizaes). (a) Comparao com o filtro Volterra interpolado. (b) Comparao
com o filtro Volterra parcialmente interpolado.
39
40
4.4 Consideraes
dos
algoritmos
propostos,
particularmente,
quando
restries
de
CAPTULO
5
Neste captulo apresenta-se uma anlise estatstica do filtro Volterra adaptativo com
restrio nos pesos. O objetivo tratar dos filtros Volterra adaptativos interpolados e
parcialmente interpolados (Captulo 4), dos filtros Volterra adaptativos com atraso [14], e
ainda dos filtros Volterra adaptativos simplificados [15]. Expresses para o vetor timo dos
pesos e os momentos de primeira e segunda ordem so desenvolvidas levando-se em conta
as restries nos coeficientes apresentadas por esses filtros devido sua topologia esparsa.
Resultados de simulaes so apresentados para verificar a preciso das expresses obtidas.
5.1 Vetor de Coeficientes timo com Restries
O interesse aqui lidar com filtros Volterra adaptativos com restries nos pesos,
que apresentam algum tipo de esparsidade. Como em [31] e [28], as restries impostas ao
filtro podem ento ser expressas da seguinte forma:
CT h V = f ,
(5.1)
(5.2)
42
onde y (n) o sinal de sada do filtro Volterra adaptativo, x V (n) o vetor de entrada do
filtro Volterra e h V o vetor de coeficientes. Elevando-se (5.2) ao quadrado e tomando-se
seu valor esperado, obtm-se
E[e2 (n)] = E[d 2 (n)] 2 E[d (n)xTV (n)]h V + h TV E[x V (n)xTV (n)]h V .
(5.3)
Substituindo-se p = E[d (n)x V (n)] e R VV = E[x V (n)x TV (n)] em (5.3), a seguinte expresso
para o erro quadrtico mdio obtida:
(n) = E[e2 (n)] = E[d 2 (n)] 2p TV h V + h TV R VV h V .
(5.4)
Para incluir as restries na funo custo (erro quadrtico mdio), o mtodo dos
multiplicadores de Lagrange utilizado [32] [31] [29]. Assim, adicionando-se a (5.4) o
vetor de multiplicadores de Lagrange , obtm-se a seguinte funo custo:
J = E[e 2 (n)] + T (CT h V f )
= E[d 2 (n)] 2p TV h V + h TV R VV h V + T (CT h V f ).
(5.5)
Para obter o valor de h V com restries que minimize o erro quadrtico mdio, faz-se
hV J = 0 . Assim,
hV J = 2p V + 2R VV h V + C = 0 ,
(5.6)
de onde se obtm o valor timo com restries dos pesos em funo de , dado por
h Vo =
1 1
R VV (2p V C) .
2
(5.7)
Como (5.7) deve tambm satisfazer s restries dadas por (5.1), podemos escrever
1
1
CT h Vo = f = CT R VV
(2p V C) .
2
(5.8)
Isolando-se em (5.8), obtm-se o vetor dos multiplicadores de Lagrange, que dado por
1
1
1
= 2 CT R VV
C (f CT R VV
pV ) .
(5.9)
Finalmente, atravs da substituio de (5.9) em (5.7), o vetor de pesos timo com restries
obtido. Assim,
1
1
1
h Vo = R VV
p V + R VV
C ( CT R VV
C)
(f C R
T
1
VV
pV ) .
(5.10)
43
(5.11)
(5.12)
(5.13)
(5.14)
Substituindo-se agora (5.14) em (5.12) e ainda com e(n) = d (n) x TV (n)h V (n) , obtm-se
h V (n + 1) = h V (n) + 2e(n)x V (n) C (n) .
(5.15)
(5.16)
1
f CT h V (n) 2CT e(n)x V (n) .
(5.17)
onde P = I CCT .
(5.18)
44
Para obter uma expresso recursiva para o comportamento mdio dos pesos,
considera-se primeiramente um sinal de rudo descorrelacionado, com mdia zero,
adicionado ao sinal de erro instantneo de (5.2). Com isso, tem-se
e(n) = d (n) + z (n) h TV (n)x V (n) .
(5.19)
Substituindo-se (5.19) na equao de atualizao dos pesos com restries, dada por (5.18),
e tomando-se seu valor esperado, obtm-se
E[h V (n + 1)] = P{E[h V (n)] + 2E[d (n)x V (n)]
+2E[ z (n)x V (n)] 2E[x V (n)x TV (n)h V (n)]} + Cf .
(5.20)
O problema para prosseguir com esta anlise a resoluo de E[x V (n)x TV (n)h V (n)] . Como
considerado na Seo 3.2, possvel assumir uma fraca dependncia entre o vetor de pesos
e o vetor de entrada para pequenos valores do passo de atualizao [5] [28], resultando em
(3.10). Como o rudo z (n) descorrelacionado dos demais sinais do sistema e possui
mdia
zero,
temos
E[ z (n)x V (n)] = 0 .
Fazendo-se
(5.21)
Para os casos j comentados onde f um vetor nulo, possvel reescrever (5.21) como
E[h V (n + 1)] = P (I 2R VV ) E[h V (n)] + 2Pp V .
(5.22)
45
Com o vetor de erro dos pesos, definido por v(n) = h V (n) h Vo , manipulamos
(5.21) para obter
E[ v(n + 1)] + h Vo = P(I 2R VV ) E[ v(n)]
+ Ph Vo 2PR VV h Vo + 2Pp V + Cf .
(5.23)
Podemos verificar que h Vo = Ph Vo , visto que, multiplicando-se o vetor de pesos timo pela
matriz P , apenas so multiplicados por zero os elementos nulos desse vetor e por um os
demais elementos. Tambm temos que PR VV h Vo = Pp V . Isso ocorre pois as diferenas
entre os vetores R VV h Vo e p V esto justamente nos elementos que so anulados quando
tais elementos so multiplicados pela matriz P . Com essas consideraes e manipulando-se
a expresso (5.23), obtm-se a expresso recursiva para o comportamento do vetor de erro
dos pesos, dada por
E[ v (n + 1)] = P(I 2R VV ) E[ v(n)] .
(5.24)
A expresso para o erro quadrtico mdio obtida de maneira similar ao que foi
realizado na Seo 3.5. Primeiramente o erro instantneo escrito como
e(n) = eo (n) v T (n)x V (n) .
(5.25)
(5.26)
(5.27)
(5.28)
46
(5.29)
(5.30)
(5.31)
Finalmente, com (5.31) e (5.27) possvel obter a curva de aprendizagem do filtro Volterra
adaptativo com restries nos pesos.
5.7 Aplicaes da Anlise com Restries nos Pesos
Como comentado no incio deste captulo, a anlise com restries aqui apresentada
permite verificar o comportamento dos momentos de primeira e segunda ordens de filtros
Volterra adaptados pelo algoritmo LMS considerando-se restries nos pesos. Nesta seo,
a aplicao da anlise com restries nos pesos descrita para as implementaes do filtro
Volterra adaptativo mencionadas anteriormente.
47
xi(n)
hVi(n)
y(n)
e(n)
LMS
(5.32)
(5.33)
onde os elementos que sofrem as restries esto sublinhados. Podemos observar que
quatro restries so impostas, no segundo, quinto, stimo e oitavo elementos do vetor de
48
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
e f = .
0
0
0
0
(5.34)
importante ressaltar que o sinal de entrada para o filtro Volterra adaptativo sujeito a tal
anlise xi (n) ; portanto, a matriz de correlao de entrada R VV e o vetor p V devem ser
gerados a partir desse sinal e de (5.33). A anlise do comportamento do filtro Volterra
adaptativo interpolado ento realizada aplicando-se as expresses desenvolvidas nas
sees anteriores deste captulo.
5.7.2 Filtro Volterra Adaptativo Parcialmente Interpolado
(5.35)
(5.36)
49
-d 1
y(n)
hV(n)
e(n)
(5.37)
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
e f = .
0
0
0
0
(5.38)
50
com os elementos que sofrem restrio sublinhados. De forma similar s sees anteriores,
a matriz de restrio e o vetor de respostas so dados por
0 0 0 0 1 0 0 0 0
0
C = 0 0 0 0 0 1 0 0 0 e f = 0
0 0 0 0 0 0 0 1 0
0
T
Com isso basta usar as expresses desenvolvidas para avaliar o comportamento do filtro
adaptativo.
5.8 Simulaes
Exemplo 5.1: O filtro a ser avaliado nesse exemplo um filtro Volterra adaptativo
51
E[x V (n)x TV (n)]E[h V (n)] com a finalidade de verificar a aproximao adotada atravs de
(3.10) (hiptese da independncia). A Figura 5.3 apresenta o comportamento mdio de
alguns dos pesos obtido atravs de (3.12) em comparao com o resultado obtido atravs do
mtodo de Monte Carlo (mdia de 100 realizaes). Nesta figura podemos notar que existe
uma pequena diferena entre a simulao e o resultado do modelo. Isto ocorre, pois para
valores grandes do passo de adaptao, a aproximao considerada em (3.10) no apresenta
bons resultados. Na Figura 5.4 temos os valores dos vetores E[x V (n)x TV (n)h V (n)] e
E[x V (n)x TV (n)]E[h V (n)] obtidos por simulao comprovando tal diferena para o valor do
passo de adaptao usado. Com a reduo do passo de adaptao para max / 4 , resultados
melhores so obtidos, o que pode ser constatado atravs das Figuras 5.5 e 5.6, seguindo o
mesmo padro das Figuras 5.3 e 5.4. Reduzindo ainda mais o passo de adaptao
( max / 20 ) as diferenas praticamente desaparecem, como podemos verificar atravs das
Figuras 5.7 e 5.8. Nas Figuras 5.9, 5.10 e 5.11 esto apresentadas as curvas de
aprendizagem para os diferentes valores de . Novamente os resultados tericos so
comparados com resultados de simulao (mdia de 500 realizaes). Para o maior valor do
passo de adaptao ( max / 2 ), uma diferena muito pequena pode ser notada. Para os outros
casos, podemos observar um casamento muito bom nos resultados obtidos, confirmando as
conjecturas previamente apontadas.
52
1.6
1.4
1.2
1
E[hV (n)]
0.8
0.6
0.4
0.2
0
-0.2
-0.4
500
1000
1500
iterao
2000
2500
3000
Figura 5.3. Exemplo 5.1. Evoluo de E[h V (n)] com = 0,5 max . (Linha
slida) simulao (mdia de 100 realizaes); (Linha pontilhada com
marcadores) modelo dado por (5.22).
0.6
0.5
0.4
0.3
0.2
0.1
-0.1
5
n
53
1.6
1.4
1.2
1
E[hV (n)]
0.8
0.6
0.4
0.2
0
-0.2
-0.4
500
1000
1500
2000
2500 3000
iterao
3500
4000
4500
5000
Figura 5.5. Exemplo 5.1. Evoluo de E[h V (n)] com = 0, 25 max . (Linha
slida) simulao (mdia de 100 realizaes); (Linha pontilhada com
marcadores) modelo dado por (5.22).
0.6
0.5
0.4
0.3
0.2
0.1
-0.1
5
n
54
1.6
1.4
1.2
1
E[hV (n)]
0.8
0.6
0.4
0.2
0
-0.2
-0.4
10000
iterao
20000
Figura 5.7. Exemplo 5.1. Evoluo de E[h V (n)] com = 0, 05 max . (Linha
slida) simulao (mdia de 100 realizaes); (Linha pontilhada com
marcadores) modelo dado por (5.22).
0.7
0.6
0.5
0.4
0.3
0.2
0.1
5
n
55
(n)
10
10
-1
10
500
1000
1500
iterao
Figura 5.9. Exemplo 5.1. Evoluo de (n) com = 0,5 max . (Linha preta)
simulao (mdia de 500 realizaes); (Linha branca) modelo dado por (5.27) e
(5.31).
1
(n)
10
10
-1
10
500
1000
1500
2000
iterao
2500
3000
3500
4000
Figura 5.10. Exemplo 5.1. Evoluo de (n) com = 0, 25 max . (Linha preta)
simulao(mdia de 500 realizaes); (Linha branca) modelo dado por (5.27) e
(5.31).
56
(n)
10
10
-1
10
5000
iterao
10000
Figura 5.11. Exemplo 5.1. Evoluo de (n) com = 0, 05 max . (Linha preta)
simulao (mdia de 500 realizaes); (Linha branca) modelo dado por (5.27) e
(5.31).
Exemplo 5.2: O filtro adaptativo deste exemplo um filtro Volterra parcialmente
interpolado (Seo 4.2) com tamanho de memria igual a 5, possuindo um bloco de
primeira ordem e um bloco esparso de terceira ordem. Esse filtro usado para modelar uma
planta Volterra, tambm com tamanho de memria 5, possuindo os seguintes vetores de
coeficientes:
h1 = [0,12 0,3 0, 41 0,3 0,12],
h3 = [0,135 0, 08 0, 0300 0, 005 0,11 0, 07 0, 01 0,125 0, 0850
0, 015 0, 0300 0, 07 0,1 0, 055 0.075 0.02 0,1 0, 095 0, 02
0, 085 0, 095 0, 03 0, 065 0,1 0, 07 0, 06 0, 06 0, 02
0,04 0,055 0,085 0,045 0,01 0,075 0,005].
57
0.7
0.6
0.5
0.4
E[hV (n)]
0.3
0.2
0.1
0
-0.1
-0.2
25000
iterao
50000
Figura 5.12. Exemplo 5.2. Evoluo de E[h V (n)] com = 0,125 max . (Linha
slida) simulao (mdia de 100 realizaes); (Linha pontilhada com
marcadores) modelo dado por (5.22).
1
10
(n)
10
-1
10
-2
10
3750
iterao
7500
Figura 5.13. Exemplo 5.2. Evoluo de (n) com = 0,125 max . (Linha preta)
simulao (mdia de 500 realizaes); (Linha branca) modelo dado por (5.27) e
(5.31).
58
Exemplo 5.3: Neste exemplo o filtro adaptativo utilizado um filtro Volterra adaptativo de
segunda ordem com atraso [14] e tamanho de memria igual a 11. Para esse caso, foi
empregado um filtro com um atraso de duas amostras na entrada seguido de um bloco com
tamanho de memria igual a 4, seguido ainda de mais um atraso de duas amostras e outro
bloco com tamanho de memria igual a 3. Isso resulta em restries nos pesos dependentes
de x(n) , x(n 1) , x(n 6) e x(n 7) , como discutido na Seo 5.7.3. A planta possui os
seguintes vetores de coeficientes:
h1 = [0,1 0,15 0,35 0,5 0,37 0, 28 0, 2 0,1 0, 2 0, 4 0,3],
h 2 =[ - 0,13 0, 025 0, 22 - 0, 08 0, 08 - 0, 05 0, 06 0,1 - 0, 05 - 0, 04 0, 08
0,17 - 0, 06 - 0, 04 0, 05 0, 03 0,11 0, 006 0,14 - 0, 005 - 0,16 0,10
0, 25 0,15 0,10 0 - 0, 2 0, 082 - 0, 07 - 0,18 0, 03 0,17 0, 09 0, 25
0, 231 - 0, 221 - 0, 07 0, 025 - 0,12 0, 05 - 0, 23 0, 03 0,10 0, 23 0,13
0,12 - 0, 034 0, 07 0,15 - 0, 21 0, 22 0, 21 0, 05 - 0,12 0,18 0 0,11
- 0, 04 0, 23 - 0, 21 0, 03 - 0,10 0,18 - 0, 08 0, 09 - 0, 03].
Foram realizadas simulaes para diferentes valores do passo de adaptao e tambm com
sinais Guassianos branco e colorido na entrada. O sinal colorido foi obtido atravs de um
processo AR dado por x(n) = x(n 1) + 1 2 u (n) , onde u (n) um rudo branco
Gaussiano com varincia unitria e = 0,5 . Os valores de utilizados so max / 5 e
max /10 com max = 0, 005 para o filtro com rudo branco na entrada e max /10 com
max = 0, 001 para o filtro com rudo colorido de entrada. A Figura 5.14 mostra o
comportamento mdio de alguns dos pesos e a Figura 5.15 a curva de aprendizagem do
filtro com sinal branco de entrada e passo de adaptao max / 5 . Como podemos observar,
os resultados obtidos so satisfatrios, apenas uma pequena diferena na curva de
aprendizagem pode ser notada. Reduzindo-se o passo de adaptao para max /10 tal
diferena tende a desaparecer, como podemos constatar nas Figuras 5.16 e 5.17. Nas
Figuras 5.18 e 5.19 temos os resultados do filtro com sinal colorido na entrada e passo de
adaptao max /10 . Muito bons resultados so obtidos, confirmando a validade das
expresses desenvolvidas tambm para filtros com sinal colorido de entrada.
59
0.6
0.5
0.4
E[hV (n)]
0.3
0.2
0.1
0
-0.1
-0.2
-0.3
6000
iterao
12000
Figura 5.14. Exemplo 5.3. Evoluo de E[h V (n)] com = 0, 2 max e sinal
branco de entrada. (Linha slida) simulao (mdia de 100 realizaes); (Linha
pontilhada com marcadores) modelo dado por (5.22).
1
(n)
10
10
-1
10
1000
2000
3000
4000
iterao
5000
6000
7000
Figura 5.15. Exemplo 5.3. Evoluo de (n) com = 0, 2 max e sinal branco de
entrada. (Linha preta) simulao (mdia de 500 realizaes); (Linha branca)
modelo dado por (5.27) e (5.31).
60
0.6
0.5
0.4
E[hV (n)]
0.3
0.2
0.1
0
-0.1
-0.2
-0.3
6000
iterao
12000
Figura 5.16. Exemplo 5.3. Evoluo de E[h V (n)] com = 0,1 max e sinal
branco de entrada. (Linha slida) simulao (mdia de 100 realizaes); (Linha
pontilhada com marcadores) modelo dado por (5.22).
1
(n)
10
10
-1
10
1000
2000
3000
4000
5000 6000
iterao
7000
8000
9000 10000
Figura 5.17. Exemplo 5.3. Evoluo de (n) com = 0,1 max e sinal branco de
entrada. (Linha preta) simulao (mdia de 500 realizaes); (Linha branca)
modelo dado por (5.27) e (5.31).
61
0.6
0.5
0.4
E[hV (n)]
0.3
0.2
0.1
0
-0.1
-0.2
0
20000
iterao
40000
Figura 5.18. Exemplo 5.3. Evoluo de E[h V (n)] , com = 0,1 max e sinal
colorido de entrada. (Linha slida) simulao (mdia de 100 realizaes);
(Linha pontilhada com marcadores) modelo dado por (5.22).
1
10
(n)
10
-1
10
-2
10
15000
iterao
30000
Figura 5.19. Exemplo 5.3. Evoluo de (n) com = 0,1 max e sinal colorido
de entrada. (Linha preta) simulao (mdia de 500 realizaes); (Linha branca)
modelo dado por (5.27) e (5.31).
62
Exemplo 5.4: Neste exemplo o filtro a ser analisado um filtro Volterra adaptativo
simplificado [15], com tamanho de memria igual a 5 e K = 2 . Temos ainda uma planta
Volterra, tambm com tamanho de memria igual a 5, com os vetores de coeficientes dados
por
h1 = [1 0,7 0,4 0,1 0.1],
h 2 = [0, 4 0,3 0, 05 0, 02 0, 04 0, 25 0,3 0, 05
0, 03 0,1 0, 05 0, 01 0, 06 0, 05 0, 03].
E[hV (n)]
0.6
0.4
0.2
0
-0.2
-0.4
500
1000
1500
2000
iterao
2500
3000
3500
Figura 5.20. Exemplo 5.4. Evoluo de E[h V (n)] com = 0,1 max . (Linha
slida) simulao (mdia de 100 realizaes); (Linha pontilhada com
marcadores) modelo dado por (5.22).
63
10
(n)
10
-1
10
-2
10
-3
10
500
1000
1500
2000
iterao
2500
3000
3500
Figura 5.21. Exemplo 5.4. Evoluo de (n) com = 0,1 max . (Linha preta)
simulao (mdia de 500 realizaes); (Linha branca) modelo dado por (5.27) e
(5.31).
5.9 Consideraes
CAPTULO
6
Discusses e Concluses
Aps uma breve discusso introdutria sobre a base terica da teoria de filtragem
adaptativa, as principais caractersticas do filtro Volterra so discutidas no Captulo 2. A
primeira caracterstica destacada a linearidade entre os coeficientes e o sinal de sada
deste filtro. Observando isso, possvel escrever a relao entrada/sada do filtro Volterra
atravs de uma operao pseudolinear, permitindo, assim, tratar matematicamente o
processo de filtragem com maior elegncia e simplicidade. A segunda caracterstica
realada a possibilidade de decomposio em blocos do filtro Volterra. Do ponto de vista
de implementao, grandes vantagens podem ser extradas de tal caracterstica. Uma delas
a possibilidade de eliminar blocos eventualmente desnecessrios para algumas aplicaes,
com conseqente reduo de complexidade computacional. Ainda no Captulo 2,
consideraes sobre complexidade computacional e nmero de coeficientes so discutidas.
No Captulo 3, uma anlise estatstica do comportamento do filtro Volterra adaptado
pelo algoritmo LMS apresentada. A anlise se baseia no princpio da pseudolinearidade
da operao de filtragem do filtro Volterra, discutida no Captulo 2. Essa caracterstica
permite a obteno de expresses para o comportamento dos momentos de primeira e
segunda ordens dos coeficientes do filtro bem como sua curva de aprendizagem. As
aproximaes consideradas para o desenvolvimento de tais expresses so tambm
destacadas. Os resultados obtidos so validados, comparando-se as curvas obtidas atravs
da teoria desenvolvida com as obtidas por simulaes.
65
66
Muitos trabalhos de pesquisa ainda podem ser desenvolvidos sobre este tema com o
objetivo de aperfeioar a base terica e proporcionar novos algoritmos para implementao
de filtros adaptativos no-lineares, como o caso do filtro Volterra. Como exemplos,
podemos citar:
APNDICE
Princpio da Ortogonalidade
(A.1)
Da mesma forma como foi mostrado na Seo 3.5, definimos o sinal de erro timo
de um filtro Volterra adaptativo, aplicado estimao de um sinal (ver Figura 3.1), por
eo (n) = d (n) + z (n) h TVo x V (n) ,
(A.2)
onde d (n) o sinal a ser estimado, x V (n) o vetor de entrada do filtro Volterra, h Vo o vetor
de coeficientes timo e z (n) um rudo aditivo descorrelacionado dos demais sinais do
sistema. Multiplicando-se por x V (n) os dois lados de (A.2) e aplicando-se o operador
esperana, obtemos
E[x V (n)eo (n)] = E[x V (n)d (n)] + E[x V (n) z (n)] E[x V (n)h TVo x V (n)] .
(A.3)
(A.4)
O segundo elemento resolvido assumindo-se que o sinal de rudo possua mdia zero e
descorrelacionado dos demais sinais do sistema, resultando em
E[x V (n) z (n)] = 0 .
(A.5)
(A.6)
Com os resultados de (A.4), (A.5) e (A.6), podemos reescrever (A.3) como segue:
E[x V (n)eo (n)] = p V R VV h Vo .
(A.7)
68
p V = R VV h Vo .
(A.8)
Atravs da substituio de (A.8) em (A.7) tem-se, ento, a equao que define o princpio
da ortogonalidade, dada por
E[x V (n)eo (n)] = 0 .
(A.9)
Referncias Bibliogrficas
[1]
IEEE
History
Center.
Legacies:
Bernard
Widrow.
Disponvel
<http://www.ieee.org/organizations/history_center/legacies/widrow.html>.
em
Acesso
em 24 mar. 2004.
[2]
[3]
[4]
Kuo, S. M.; Morgan, D. R. Active Noise Control Systems: Algorithms and DSP
[6]
[7]
[8]
[9]
Goh, S. L.; Mandic, D. P.; Bozic M. A neural nonlinear adaptive filter with a
trainable activation function. In: 6TH SEMINAR ON NEURAL NETWORK
APPLICATIONS IN ELECTRICAL ENGINEERING. Sep. 2002. Proceedings... p.
7-10.
Referncias Bibliogrficas
70
[10] Hegde, V.; et. Al. Series-cascade nonlinear adaptive filters. In: 45TH MIDWEST
SYMPOSIUM ON CIRCUITS AND SYSTEMS. Aug 2002. Proceedings... v. 3,
p. 219-222.
[11] Gurin, A.; Faucon, G.; Bouquin-Jeanns, R. L. Nonlinear acoustic echo cancellation
based on Volterra filters. IEEE Transactions on Speech and Audio Processing,
v. 11, n. 6, Nov. 2003.
[12] Tan, L.; Jiang, J. Adaptive Volterra filters for active control of nonlinear noise
processes. IEEE Transactions on Signal Processing, v. 49, n. 8, p. 1667-1676,
Aug. 2001.
[13] Neuvo, Y.; Dong, C. Y.; Mitra, S. K. Interpolated finite impulse response digital
filters. IEEE Transactions on Acoustics, Speech, Signal Processing, v. ASSP-32,
p. 563-570, Jun. 1984.
[14] Tan, L.; Jiang, J. System modeling using a second-order Volterra delay filter. In:
IEEE 39TH MIDWEST SYMPOSIUM ON CIRCUITS AND SYSTEMS. Aug 1996.
Proceedings... v. 3, p. 18-21.
[15] Fermo, A.; Carini, A.; Sicuranza, G. L. Simplified Volterra Filters for Acoustic Echo
Cancellation in GSM Receivers. In: EUROPEAN SIGNAL PROCESSING
CONFERENCE. Sep. 2000. Proceedings...
[16] Volterra, V. Theory of Functionals. Dover Publications Inc., 1959.
[17] Wiener, N. Response of a Non-Linear Device to Noise. Report no. 129, Radiation
Laboratory, M.I.T., Cambridge - MA, Apr. 1942.
[18] Stenger, A.; Trautmann, L.; Rabenstein, R. Nonlinear acoustic echo cancellation with
second order adaptive Volterra filters. In: IEEE INTERNATIONAL CONFERENCE
ON
ACOUSTICS,
SPEECH
Proceedings... v. 2, p. 15-19.
AND
SIGNAL
PROCESSING.
Mar.
1999.
Referncias Bibliogrficas
71
channels.
In:
IEEE
INTERNATIONAL
CONFERENCE
ON
Proceedings... v. 4, p. 9-12.
[22] Ogunfunmi, T.; Chang, S. L. Second order adaptive Volterra system identification
based on discrete nonlinear Wiener model. IEE Proceedings - Vision, Image and
pelo
algoritmo
LMS.
In:
SIMPSIO
BRASILEIRO
DE
Referncias Bibliogrficas
72
[28] Tobias, O. J.; Seara, R. Analytical Model for the Mean Weight Behavior of Adaptive
Interpolated-FIR Filters using the Constrained Filtered LMS Algorithm. The IEEE
interpolado.
In:
SIMPSIO
BRASILEIRO
DE
Discrete
Optimization.
Disponvel
em
<http://www.manip.crhc.uiuc.edu/Wah/papers/C124/C124.ps.gz>. Acesso em 24
Mar. 2004.