This is an algorithm to solve any problems of the type
Rx ap = b
Where Rx is a Toeplitz matrix
These types of equation arise in finding a Least squares approximation to a signal using
Autocorrelation method or in stochastically modeling the signal as an AR process (Yule Walker
Equations). The matrix becomes Toeplitz in all pole modeling of the signal
In part III we model BlackboxA using AR model
In part IV we model BlackboxB using Autocorrelation method
Levinson Durbin’s Algorithm:
a) g ( j ) = r(j+1) + ĺij=1 a(j,I) *r(j-i+1)
b) G(j+1) = -g ( j ) /e( j )
c) For i=1, 2,… j
a(j+1,I) = a(j+1,I) + G(j+1) * a*(j,j-i+1)
d) a(j+1,j+1) =G(j+1)
e) e(j+1) = e( j ) * [ 1-abs( G(j+1) )2 ]
3. b(0) = sqrt( e(p) )
a(0) = 1
a(1) =-0.25
a(2) = -0.125
b(0) = 2
we get similar values scaled by a different constant every time
2. Ergodic:
· For every N step( N=10000) realization the Time autocorrelations come out to be the same but for a scaling factor Thus we can say the Time autocorrelations converge to the same limiting value(the actual autocorrelation) as N tends to infinity
· Since x(n)=BlackBoxA is ergodic, take one realization of it and calculate the autocorrelation.
· We want to model it assuming it is generated by passing White noise through an All-pole filter
· Use that Autocorrelation in the Levinson Durbin's recursion to generate the parameters of the all-pole filter.
· Keep increasing p till error becomes constant.
· Set b as the square root of the error.
Observations:
a( 0 ) = 1
a( 1 ) = -0.9173 + j 0.0381
a( 2 ) = 0.0213 + j 0.2315
a( 3) = 0.0842 + j 0.0918
a( 4 ) = 0.0377 - j 0.0727
a(5) = 0.0078 - j 0.0985
Observations:
Conclusion:
This proves that the signal cannot be modeled as a All-pole filter.
Assumptions:
Derivation:
Let xhat(n) = b(0) n=0
= f( xhat(n-1) ) otherwise
Let f(x) be a polynomial function of x(n-1)
We write xhat( n ) = a0 + a1 x(n-1) + a2 x(n-1) ^2 + ...
Error
Eps = ĺ n [ x(n)-xhat(n) ] 2
To minimize the error differentiate w.r.t. to a0, a1, a2,.. and set to zero
Since E[x(n)3] and onwards is much lower (negligible) compared to E[x(n)2] we assume coefficients
upto a0, a1, a2 only
Differentiating w r t a0, a1, a2 we get
E[x(n)] - a0 - a1*E[x(n-1)] - a2*E[x(n-1)2] = 0
E[x(n)*x(n-1)] - a0*E[x(n-1)] - a1*E[x(n-1)2] - a2*E[x(n-1)3] = 0
E[x(n)*x(n-1)2] - a0*E[x(n-1)2] - a1*E[x(n-1)3] - a2*E[x(n-1)4] = 0
From calculating these expectations assuming a Stationary and ergodic signal
we get
E[x(n-1)2] = 0.5
E[x(n)*x(n-1)2] = -0.25
E[x(n)] = E[x(n-1)] = 0
E[ x(n)*x(n-1) ] = 0 (negligible)
E[x(n-1)3] = 0
Solving we get,
a0 = 0.5
a2 = -1
a1 = 0
i.e.
x(n) = k (0.5 - x(n-1)*x(n-1)
If we try to match the energy content of the 2 signals we get k = 2
Therefore x(n) = 1-2*[x(n-1)2]
This model is exact - We get zero error. The first sample is random
Observation:
Conclusion:
xhat(0)=x(0)
xhat(n) = 1-2*[x(n-1)2]
Given
y[n] = x[n] + w[n]
Where
w[n]: White Gaussian Noise with variance= 10-4
Observations for utilizing same Encode as in Part IV a :
yhat(n)
= 1 – yp2
Where
yp = Mean( yhat(n-1),.. yhat(n-k) )
Observation:
This only prevented the signal from going out of bound but the reduction in error was not too high
·
Since x(n) is basically a parabola, so we want to
transmit only those values of x(n) whin
define the peak of the parabola.
·
So transmit actual value of y(n) whenever there is a sign change i.e
Sign ( y(n)-y(n-1) ) is not equal to Sign ( y(n+1)-y(n) )
·
Otherwise do not transmit anything
·
Whenever y(n) is transmitted the symbol is
preceded by the number of previous samples
not transmitted
· A compression factor of only about 2 is obtained
· Mean Square Error reduces to 0.0097 which is very low.(Plotted in Graph 4.5)
· The signal yhat(n) now follows y(n) almost exactly because the peaks have been forcibly set (Graph 4.6)
Improvements
The algorithm can be improved further by transmitting only the error when it exceeds certain threshold
The Nth peak can also be Differentially encoded with respect to the (N-2)th peak
Levinson Durbin Recursion and its Aplications
Submitted
by
Namrata Vaswani