0% found this document useful (0 votes)
22 views3 pages

Schur Algorithm Explained by Dr. Dhiman

The Schur algorithm is a numerical method for solving Yule-Walker equations, offering a more stable and efficient alternative to the Levinson-Durbin algorithm by focusing solely on reflection coefficients. It maintains the same computational complexity as Levinson but is better suited for parallel processing. The document outlines the steps involved in both algorithms, emphasizing the recursive nature of the Levinson method and the infinite matrix approach of the Schur algorithm.

Uploaded by

D52Nikita Kumari
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views3 pages

Schur Algorithm Explained by Dr. Dhiman

The Schur algorithm is a numerical method for solving Yule-Walker equations, offering a more stable and efficient alternative to the Levinson-Durbin algorithm by focusing solely on reflection coefficients. It maintains the same computational complexity as Levinson but is better suited for parallel processing. The document outlines the steps involved in both algorithms, emphasizing the recursive nature of the Levinson method and the infinite matrix approach of the Schur algorithm.

Uploaded by

D52Nikita Kumari
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Schur Algorithm : Dr.

SURENDER DHIMAN

1. The lavinson algorithm involves the M2 (no of recursion required)


multiplications and M additions. With parallel processors, this work can be
done in parallel. However, computation of M additions is not easily
parallelized.
2. The schur algorithm is an alternative to lavinson to solve the same equations.
It is based on the idea that we do not need the filter coefficients ( am(1),
am(2),…..am(m)) for all m. The reflection coefficients ( k1, k2, ………., Km)
alone can completely specify the filter.
3. The schur algorithm is related to lavinson algorithm. It is also a fast recursion
to solve Yule – Walker equations, with same computational complexity as
lavinson algorithm (order M2). However, it is numerically more stable and can
be run more efficiently on parallel hardware.

Steps for Lavinson Durbin Algorithm

1. Initially set E(0) = R(0)


𝑅(𝑖)− ∑𝑖−1 𝑖−1
𝑗=1 𝑎𝑗 𝑅(𝑖−𝑗)
2. Calculate ki =
𝐸 (𝑖−1)
3. Set ai =ki and aj = aj(j-i) - ki ai-j(j-i)
(i) (i)
for 1≤ j ≤ i
4. Calculate E(i) = (1- ki 2) E(j-1)
5. Repeat steps 2, 3 and 4 until i = M

Here we can see that we have to find the reflection coefficients as well as prediction
coefficients and then need an update constant for the calculation of higher order
coefficients. This procedure is recursive procedure means need to be repetitive till
best match of coefficients reached. (typical value of m is 10 to 14)

Matrix for m sized problem, matrices are combined for forward and backward
predictors.

Forward predictor polynomial

Am(z) = 1 + am(1) Z-1 + am(2) Z-2 + ……….. + am(m) Z-m

Backward predictor polynomial

Bm(z) = Z-m + am(1) Z-m+ 1 + am(2 ) Z-m+ 2 + ……….. + am(m)

Dr. Surender Dhiman [Link]


[M = Autocorrelation] [ Am(z) Bm(z) ] = [F. error B. error]
𝑅0 𝑅1 ⋯ 𝑅𝑚 1 𝑎𝑚 (𝑚) 𝐸𝑚 0
𝑅 𝑅0 … 𝑅𝑚−1 𝑎𝑚 (1) 𝑎𝑚 (𝑚 − 1) 0 0
[ 1 ][ ] = [ ] (1)
.. … ⋱ ⋮ ⋮ ⋮ ⋮ ⋮
𝑅𝑚 … ⋯ 𝑅0 𝑎𝑚 (𝑚) 1 0 𝐸𝑚

Given the solution of m , we look for solution of m +1 sized problem. Expand matrix
to m + 1 size by adding next terms as shown below :
𝑅0 𝑅1 ⋯ 𝑅𝑚 𝑅𝑚+1 1 0 𝐸𝑚 𝛾𝑚
𝑅1 𝑅0 … 𝑅𝑚−1 𝑅𝑚 𝑎𝑚 (1) 𝑎𝑚 (𝑚) 0 0
.. … ⋱ ⋮ ⋮ ⋮ ⋮ = ⋮ ⋮ (2)
𝑅𝑚 … ⋯ 𝑅0 ⋮ 𝑎𝑚 (𝑚) 𝑎𝑚 (1) 0 0
[𝑅𝑚+1 𝑅𝑚 ⋯ ⋯ 𝑅0 ] [ 0 1 ] [ 𝛾𝑚 𝐸𝑚 ]

Calculation of 𝛾𝑚 requires an inner product

𝛾𝑚 = [ 𝑅𝑚+1 , 𝑅𝑚 , … … … ., 𝑅0 ] [ 1, 𝑎1 , … … . . , 𝑎𝑚 ]T (3)
𝛾𝑚
Hence update factor 𝜌𝑚+1 = , rotate the pair of vectors of LHS and RHS such
𝐸𝑚
that 𝛾𝑘 is cancelled.
𝑅0 𝑅1 ⋯ 𝑅𝑚 𝑅𝑚+1 1 0 𝐸𝑚 𝛾𝑚
𝑅1 𝑅0 … 𝑅𝑚−1 𝑅𝑚 𝑎𝑚 (1) 𝑎𝑚 (𝑚) 0 0
1 𝜌𝑚+1 1 −𝜌𝑚+1
.. … ⋱ ⋮ ⋮ ⋮ ⋮ [ ]= ⋮ ⋮ [ ]
𝜌𝑚+1 1 −𝜌𝑚+1 1
𝑅𝑚 … ⋯ 𝑅0 ⋮ 𝑎𝑚 (𝑚) 𝑎𝑚 (1) 0 0
[𝑅𝑚+1 𝑅𝑚 ⋯ ⋯ 𝑅0 ] [ 0 1 ] [ 𝛾𝑚 𝐸𝑚 ]
(4)

Hence updated matrix is now


𝑅0 𝑅1 ⋯ 𝑅𝑚 𝑅𝑚+1 1 0 𝐸𝑚+1 0
𝑅1 𝑅0 … 𝑅𝑚−1 𝑅𝑚 𝑎 𝑚+1 (1) 𝑎 𝑚+1 (𝑚 + 1) 0 0
.. … ⋱ ⋮ ⋮ ⋮ ⋮ = ⋮ ⋮
𝑅𝑚 … ⋯ 𝑅0 ⋮ 𝑎 𝑚+1 (𝑚) 𝑎 𝑚+1 (1) 0 0
[𝑅𝑚+1 𝑅𝑚 ⋯ ⋯ 𝑅0 ] [𝑎𝑚+1 (𝑚 + 1) 1 ] [ 0 𝐸𝑚+1 ]
(5)

Two operations are required, first Shift Matrix by order one and then rotate by
update factor. This shift and rotate will continue till last value of m.

But by using Schur algorithm, same equations are considered on infinite matrix.

Dr. Surender Dhiman [Link]


𝐸𝑘 0 𝐸𝑘 𝛾𝑘 𝐸𝑘+1 0
0 0 0 0 0 0
⋮ ⋮ ⋮ ⋮ ⋮ ⋮
0 0 0 0 𝛾𝑘 0 0
Shift Rotate 𝜌𝑘+1 = and so on
0 𝐸𝑘 0 0 𝐸𝑘 0 0
𝛾𝑘 ∗ 𝛾𝑘 𝐸𝑘 0 𝐸𝑘+1
∗ ∗ ∗ ∗ 𝛾𝑘+1 ∗
[∗ ∗] [∗ ∗] [ ∗ ∗ ]

Note : * means an unknown value, typically non zero.

Main observation : we do not need to keep track of prediction coefficients a m(i) to


compute the reflection coefficients. It is sufficient to keep track of the evolution of
the RHS of equations.

Dr. Surender Dhiman [Link]

Common questions

Powered by AI

In the Schur algorithm, the update factor ρₘ₊₁ plays a vital role in matrix adjustments which occur due to the expansion and correction of the order+m to order+(m+1) problem. It is computed as ρₘ₊₁ = γₘ/Eₘ, where γₘ is derived as an inner product. The update factor is then applied to rotate the vectors involved in the system of equations, allowing the necessary cancellation or alignment of terms to maintain the integrity of the system while scaling up the matrix size to m+1. This is crucial for accurate predictions in the recursion process .

The Schur algorithm leverages reflection coefficients (k₁, k₂, ..., Kₘ) to completely specify a filter, contrasting with traditional approaches that rely heavily on obtaining prediction coefficients. By utilizing reflection coefficients, the Schur algorithm circumvents the need to compute all prediction coefficients for all m, thereby enhancing computational efficiency, specifically in parallel computing environments. It presents an alternative to the sequence of recursive calculations commonly used in traditional methods like the Levinson algorithm .

The Schur algorithm is distinguished from the Levinson algorithm by its numerical stability and efficiency on parallel hardware, even though both algorithms have the same computational complexity (order M²). The Schur algorithm is designed specifically to solve Yule-Walker equations and does not require the computation of filter coefficients for all m, focusing instead on reflection coefficients which can specify the filter entirely. This makes it more stable and adapted to parallel processing, which is a key advantage over the Levinson algorithm .

The Schur algorithm enhances numerical stability in solving equations involving infinite matrices by focusing on the evolution of the right-hand side (RHS) of equations through reflection coefficients, rather than full prediction coefficients. This approach minimizes numerical error over iterations, as reflection coefficients can be updated and processed in a manner that limits deviation and instability common when solving high-order equations. As a result, it handles larger systems more effectively, maintaining a stable solution across potentially infinite matrix expansions .

Using parallel processors with the Schur algorithm significantly enhances computational efficiency, particularly because the algorithm's design inherently supports parallel execution. By focusing on reflection coefficients rather than entire prediction coefficient sets, the Schur algorithm allows for distributed computation across processors, accelerating the solution of Yule-Walker equations. The ability to perform computations in parallel reduces overall processing times and resource usage, which is crucial when dealing with high-dimensional or infinite matrix systems .

The Schur algorithm handles the expansion from m to m+1 sized problems by extending the existing matrix with additional terms and employing an iterative computational process that adjusts for these added terms. It incrementally builds upon prior solutions by updating coefficients and error terms in the expanded matrix format, thereby seamlessly transitioning within the recursive framework. The algorithm strategically uses update factors and reflection coefficients to uphold consistency and ensures minimal deviation from accuracy as it scales up the size of the problem .

The significance of rotating the pair of vectors of LHS and RHS in the Schur algorithm's equation system lies in achieving cancellations or correct alignments needed for reflection coefficients. This rotational process is critical as it ensures that the update factor ρₖ effectively influences the matrix structure to maintain consistency and stability within the system of equations. This rotational action facilitates smooth transitions and corrections in the order expansion, from m to m+1, enabling accurate computational flow without numerical instabilities .

The Levinson-Durbin algorithm involves a recursive procedure to calculate coefficients, beginning with initial conditions. Firstly, E(0) is set equal to R(0). For each iteration i, the reflection coefficient kᵢ is calculated. Then, using kᵢ, the prediction coefficients aᵢ are updated recursively. This involves setting aᵢ(i)= kᵢ and updating each aⱼ(i) using a recursion relation. The error E(i) is also updated by taking into account the reflection coefficient squared. These steps are repeated until the desired order M, usually between 10 and 14, is reached, producing filter coefficients over several steps of recursion .

In the Schur algorithm, forward and backward predictors are integrated within matrix operations through the structuring of matrices that combine both predictor polynomials. The forward predictor polynomial Aₘ(z) and the backward predictor polynomial Bₘ(z) are represented in the matrix form encompassing error terms. These polynomial coefficients are expanded and merged into the matrix to facilitate both forward and backward equations' error corrections. Matrix operations thus allow the handling of correlations and error terms simultaneously, enhancing the algorithm's capability to refine predictions iteratively .

You might also like