Consider a signal that can be expressed as a linear combinations of exponentials:

$x(n) = \sum_{k=1}^K c_k z_k^n$

I would like to estimate the poles $z_k$ and I was told that I could estimate them by calculating the SVD of the Hankel matrix of the observations $\mathbf{H}$:

$\mathbf{H} = \left(\begin{array}{cccc}x(1) & x(2) & x(3) & \dots \\ x(2) & x(3) & x(4) & \dots \\ x(3) & x(4) & x(5) & \dots \\ \vdots & \vdots & \vdots & \\\end{array}\right)$

But how exactly do I utilize the SVD? The poles will be the singular values? And is it possible to find $K$?

Thanks in advance!


2 Answers 2


My transform, EST, finds exactly what you are looking for.

The steps of EST are as follows.

Let N be the number of exponentials.

  1. Find the LPC (Linear Prediction Coefficients) for the signal.

For the sake of simplicity I will assume that all the exponential bases (the z values) are complex. The size of the LPC has to be 2N.

You must have at least 4N samples. Case 1 is when you have exactly 4N samples. Create a system of linear equations with the Hankel matrix and the last 2N samples as the results vector. The LPC vector is the solution to this system.

Case 2 is when you have more than 4N samples. In this case you find the LPC using the covariance method.

  1. Convert the LPC vector to a prediction polynomial, exactly as LSP (Line Spectral Pairs) is doing.

  2. Find the roots of the polynomial.

The roots of the polynomial are the exponential bases you are looking for.

If the signal is noise-free, then the exponential bases are precise. If not, it is an estimate.

Once the exponential bases are known, finding the coefficients (the c values), is simply a matter of linear equations.

You also asked if you can find the number of exponentials. In the case of a noise-free signal: yes. Otherwise, you should find a large enough number of exponentials and filter out some of them. Please note that each exponential base holds a frequency and the growth/decay rate of the signal at that frequency and each coefficient holds an amplitude and a phase. These parameters can be used for filtering criteria.


Do you have to estimate it using the Hankel matrix? It's because if we are talking about a continuous system, the powers of the exponential are actually the modes of your system. Take this case.

$$ H(s) = 1/(s+a) + 1/(s+b) $$ For say an impulse input: $$ h(t) = y(t) = e^{-at} + e^{-bt} $$

While the poles are $-b$ and $-a$.

Apply the same idea for a discrete with the general solution of a difference equation, and you can come up with the comparison to find the poles from the equation directly.

Not sure if this is what you're looking for!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.