Professional Documents
Culture Documents
Wiener Filters
1. Introduction
l
Wiener filters are a class of optimum linear filters which involve linear
estimation of a desired signal sequence from another related sequence.
Fig. 3.1 shows the block schematic of a linear discrete-time filter W(z)
for estimating a desired signal d(n) based on an excitation x(n)
d(n)
x(n)
W(z)
y(n)
e(n)
Fig. 3.1
l
We assume that both x(n) and d(n) are random processes (discrete-time
random signals). The filter output is y(n) and e(n) is the estimation error.
Fig. 3.2 shows a transversal filter with tap weights w0, w1, , wN-1 .
x(n)
x(n-1)
z-1
w0
z-1
z-1
wN-1
w1
y(n)
-
e(n)
d(n)
Fig. 3.2
Let
W = [ w0
X ( n) = [ xn
w1 ... wN 1 ]T
xn 1 ... x n N +1 ]T
....(1)
N 1
= W T X (n )
= X T (n )W
....(2)
p1 ... p N 1 ]T
...(5)
L rN 1, N 1
...(6)
= E[d 2 ( n)] 2W T P + W T RW
...(7)
r00
r
10
=
M
rN 1,0
r01
r11
M
rN 1,1
Then we obtain
= 0 , for i = 0,1,..., N 1
wi
we set
= 0
or
... (8)
w0
w1
T
]
wN 1
N 1 N 1
l =0
l =0 m=0
...(9)
N 1 N 1
and
w w
l =0 m=0
N 1 N 1
m lm
w w
l =0 m=0
can be expanded as
N 1 N 1
N 1
l =0 m=0
l i mi
m0
l i
m lm
...(10)
Then we obtain
N 1
= 2 p i + Wl (rli + ril )
wi
l =0
...(11)
By setting
= 0 , we obtain
wi
N 1
W ( r
l
l =0
li
+ ril ) = 2 pi
...(12)
Note that
rli = E[ x (n l ) x (n i )] = xx (i l )
r w
l =0
il
= pi
for i = 0,1,2,..., N 1
...(13)
...(15)
...(16)
...(14)
v(n)
Plant
d(n)
+
W(z)
x(n)
y(n)
e(n)
Assuming that
d (n ) = 2 x( n) + 3 x(n 1) + v (n)
then R =
0 1
2
P=
3
thus 0, 0 =
w0,1 3
min = 0.1
...(17)
e( n )
= E[2e(n )
]
w i
wi
...(18)
for i = 0,1,2,..., N 1
where e(n)=d(n)-y(n)
Since d(n) is independent of wi , we get
y (n)
e( n )
=
wi
wi
= x( n i )
...(19)
Then we obtain
= 2 E [e (n) x (n i)]
wi
...(20)
for i = 0,1,2,..., N 1
l
=0.
wi
Hence, if e0(n) is the estimation error when wi are set to their optimal
values, then equation (20) becomes
E[ e0 ( n ) x( n i )] = 0
for i = 0,1,..., N 1
...(21)
That is,
the estimation error is uncorrelated with the filter tap inputs, x(n-i).
This is known as the principles of orthogonality.
l
We can also show that the optimal filter output is also uncorrelated with
the estimation error.
That is, E[ e0 (n ) y 0 (n )] = 0
....(22)
This result indicates that the optimized Weiner filter output and the
estimation error are orthogonal.
If the optimal filter tap weights are expressed by w0,l , l=0,1,2, ,N-1.
The estimation error is then given by
N 1
e0 (n ) = d (n ) w0,l x (n l )
...(23)
l =0
and then
d ( n) = e 0 ( n ) + y 0 ( n)
...(24)
...(26)
and we obtain
min = E[d 2 (n )] E [ y0 (n )]
2
...(27)
E [d 2 (n )]
...(28)
? reaches its minimum value, ?min , when the filter tap-weights are
chosen to achieve the minimum mean-squared error.
This gives min = 1
E [ y0 (n )]
E [d 2 ( n )]
...(29)
...(30)
(31)
+ j
wR
w I
...(32)
That is,
cw
for i = 0,1,2,..., N 1
= 0 and
=0
wi , R
wi ,R
...(33)
...(34)
Noting that
N 1
e(n ) = d (n ) wk x (n k )
...(35)
cwi e (n ) = x( n i ) cwi wi
...(36)
cwi e * (n ) = x * (n i ) cwi w *i
...(37)
k =0
cwi wi =
wi
wi
+ j
= 1 + j ( j) = 0
wi , R
wi , I
and cw wi* =
i
wi*
wi*
+ j
= 1 + j( j ) = 2
wi ,R
wi , I
...(38)
E[ e0 ( n ) x * (n i )] = 0
for i = 0,1,2,..., N 1
...(39)
w ( n) [w0*
w1* L w*N 1 ]T
...(40)
...(41)
w ( n) [w0
w1
L wN 1 ]H
...(43)
and E[e0 ( n) x (n )] = 0
...(44)
from equation(39)
...(45)
We have
E[ x ( n)(d * (n ) x H (n )w0 )] = 0
and then
Rw0 = p
...(47)
...(46)
...(42)
where R = E[ x (n ) x H (n )]
and p = E [ x (n )d * (n )]
...(48)
Remarks:
In the derivation of the above Wiener filter we have made assumption
that it is causal and finite impulse response, for both real-valued and
complex-valued signals.
d(n)
x(n)
W(z)
y(n)
e(n)
Fig. 3.1
We assume that the filter W(z) may be non-causal and/or IIR.
l
We consider only the case the signals and the system parameters are
real-valued.
Moreover, we assume that the complex variable z remains on the unit
circle, i.e. z = 1 , thus z*=z-1 , z = 1 .
Where e(n)=d(n)-y(n)
In terms of autocorrelation and cross-correlation functions, we have
= E[d 2 ( n)] + E[ y 2 (n )] 2 E[ y (n)d (n)]
= dd (0) + yy (0) 2 yd (0)
...(49)
1
dz
1
dz
yy ( z ) 2
yd ( z )
2j c
z
2j c
z
...(50)
Since Y(z)=X(z)W(z), yd ( z ) = W ( z ) xd ( z)
If z is selected to be on the unit circle in the z-plane, then
yy ( z ) = W ( z ) xx ( z ),
2
W ( z ) = W ( z )W * ( z ) and W * ( z ) = W ( z 1 )
2
1
dz
1
dz
2
W ( z ) xx ( z ) 2
W ( z ) xd ( z )
2j c
z
2j c
z
1
dz
[W * ( z) xx ( z ) 2 xd ( z )]W ( z)
2j c
z
...(51)
system function W ( z ) = wl z l
...(52)
l=0
z
z
2j c l =0
2j c l =0
N 1 N 1
= dd (0) + wl w m
l =0 m=0
N 1
1
1
m l 1
z
z
dz
wl
xd ( z ) z l 1 dz
(
)
2
xx
2j c
2j c
l =0
N 1
l =0 m=0
l =0
= dd (0) + wl wm xx (m l ) 2 wl xd ( l)
N 1 N 1
l =0
l =0 m=0
Note that
p = E[ x (n)d (n)]
Thus pl = E[ x( n l )d (n )]
By definition, xy ( k ) = E[ x (n) y * (n k )]
xd (l ) = E[ x (n)d (n + l )] = E[ x( n l )d ( n)]
Example 3.3
Modelling with an IIR filter
v(n)
G(z)
Plant
x(n)
1 w0 z 1
1 w1 z 1
d(n)
+
y(n)
e(n)
1 w0 z 1
The plant is modeled by an IIR filter with W ( z ) =
1 w1 z 1
w1 w0 1 w 0 w1 w0
w w0
w
+
2[ 1
G( w11 ) + 0 G( )]
2
w1
w1
w1
w1
1 w1
We may find that there can be many local minima, and searching for the
global minimum of may not be a trivial task.
where e0 (n) = d ( n)
l =
0 ,l
x (n l )
...(52)
...(53)
l =
0 ,l
...(54)
with E[ x( n l ) x( n i)] = xx (i l )
and
...(55)
dx ( z )
xx ( z )
...(56)
and
W0 (e jw ) =
dx (e jw )
xx (e jw )
...(57)
0 (n)
(n)
G(z)
Plant
i(n)
x(n)
W(z)
d(n)
+
y(n)
-
e(n)
...(58)
...(59)
dx ( z )
xx ( z )
...(60)
Note that
xx ( k ) = E[ x( n) x( n k )]
= E [( ( n ) + i (n ))( (n k ) + i (n k ))]
= E [ ( n ) ( n k )] + E [ (n )i ( n k )] + E [ i (n ) ( n k )] + E [ i (n ) i (n k )]
= (k ) + ii ( k )
...(61)
...(62)
To calculate W0 ( z ) =
dx ( z )
, we must first find the expression for dx ( z) .
xx ( z )
Thus dx ( z ) = G ( z ) ( z )
And we obtain
W0 ( z ) =
( z )
( z ) + ii ( z )
G( z )
...(63)
( e jw )
l Define K (e )
(e jw ) + ii ( e jw )
jw
We obtain
W0(ejw)=K(ejw)G(ejw)
...(64)
...(65)
1
2
(1 K (e jw )) (e jw ) G( e jw ) dw
...(66)
The best performance that one can expect from the unconstrained
Wiener filter is
min = 00 (0)
The Wiener filter attempts to estimate that part of the target signal d(n)
that is correlated with its own input x(n) and leaves the remaining part
of d(n) (i.e. 0(n)) unaffected. This is known as the principles of
correlation cancellation .
y(n)
H(z)
x(n)
W(z)
+ e(n)
-
When the additive noise at the channel output is absent, the equalizer
has the following trivial solution:
W0 ( z ) =
1
H ( z)
...(67)
...(68)
and d ( n) = s( n ) ...(69)
where hn is the impulse response of the channel, H(z).
From equation(68), we obtain
xx ( z ) = ss ( z ) H ( z) + ( z )
2
...(70)
Also,
dx ( z ) = sx ( z ) = H ( z 1 ) ss ( z )
...(72)
...(71)
and then
W0 ( z) =
H * ( z) ss ( z )
...(73)
ss ( z ) H ( z ) + ( z )
2
1+
1
( z )
ss ( z ) H ( z )
1
H (z)
...(74)
ss (e jw ) H ( e jw )
(e jw )
where ss ( e jw ) H (e jw )
...(75)
density and the noise power spectral density, respectively, at the channel
output.
We obtain
W0 (e jw ) =
(e jw )
1
jw
1 + (e ) H (e jw )
...(76)
( e jw )
1
1 + (e jw )
...(77)
(e jw )
1
jw
1 + (e ) H (e jw )
In the frequency regions where the noise is almost absent, the value of
is very large and hence
W0 (e jw )
1
H (e jw )
s(n)
d(n)
Primary input
e(n)
-
H(z)
G(z)
?(n)
x(n) W(z)
Reference
input
(78)
(79)
Since s(n) & ?(n) are uncorrelated with each other, we obtain
dx ( z ) = sdx ( z ) + dx ( z )
where
...(81)
...(82)
and dx ( z) = G ( z ) ( z )
...(83)
and W0 ( z ) =
...(84)
H * ( z ) ss ( z ) + G( z ) ( z )
( z) + ss ( z ) H ( z)
...(85)
Define
pri (e jw ) : signal-to-noise PSD at primary input
ss (e jw )
2
G (e jw ) ( e jw )
...(86)
ref ( e jw ) =
H (e jw ) ss (e jw )
(e jw )
...(87)
through two routes one direct and one through the cascade of H(z)
and W(z) :
2
see (e jw ) = 1 H (e jw )W (e jw ) ss (e jw )
...(88)
Similarly, ?(n) reaches the output through the routes G(z) and W(z) :
2
ee (e jw ) = G( e jw ) W (e jw ) ( e jw )
...(89)
(e ) =
s
ee
jw
2
1 G( e jw )H ( e jw )
(e jw )
2
(e jw ) + H ( e jw ) ss (e jw )
2
ee
and (e ) =
jw
(e jw )
H ( e jw ) 1 G(e jw ) H (e jw ) 2ss ( e jw )
2
(e jw ) + H (e jw ) ss (e jw )
( e jw )
see (e jw )
ee (e jw )
(e jw )
2
H ( e jw ) ss ( e jw )
1
ref ( e jw )
...(90)
Example 3.6
Two Omni-directional Antenna in a Receiver
A
s(n)
d(n)
?0
?(n)
x(n)
B
0
90
~
x(n)
x (n)
desired signal
interferer signal
(jammer)
w0
y(n)
e(n)
w1
since s(n) & ?(n) may be treated as single tones, and thus a filter with
two degrees of freedom is sufficient for optimal filtering.
l sin 0
c
l sin0
cT
Thus
d ( n) = (n ) cos nw0 + ( n) cos[(n 0 )w0 ]
s (n ) = ( n) cos nw0 + (n ) cos nw0
x~( n) = (n ) sin nw0 + (n ) sin nw0
E [ x 2 ( n)]
E[ x( n ) x~(n )]
R=
~
E [ x~ 2 ( n )]
E [ x (n ) x ( n )]
2 + 2 1 0
0 1
2
=
2
~
E [d (n ) x ( n )] 2 sin 0 w0
gives W0 =