Three matrix ideas do the organising work — eigenvalues of the state matrix decide stability, Hermitian structure decides the optimal taps, and paraunitary structure decides whether you can take a signal apart and put it back together.
You feed samples $x[n]$ in and samples $y[n]$ come out. If the filter remembers anything at all — any recursive structure, and even a plain FIR viewed as a delay line — it carries an internal state, and matrices are the tidy way to track it. The three questions you actually ask on the job are all matrix questions in disguise.
Eigenvalues of the state matrix $\mathbf{A}$, in the $z$-plane. Inside the unit circle is safe.
Hermitian positive-semidefinite structure. Wiener–Hopf and the eigenfilter are the same bowl with different spoons.
Paraunitary structure — a unitary matrix generalised so it holds at every frequency rather than at one.
In continuous time (the companion deck) a network is stable when its poles lie in the open left half-plane, and the boundary is the $j\omega$-axis — which is also the axis along which the frequency response is evaluated, since $s = j\omega$ there. In discrete time a filter is stable when its poles lie strictly inside the unit circle, and the boundary is $|z| = 1$ — again also the evaluation contour, since $z = e^{j\omega}$ there. Same idea, carried across by a conformal map. Neither is the circle on which the eigenvalues of a lossless scattering matrix sit at one fixed frequency: that is a third setting in which $|\cdot| = 1$ appears, and it means how ports exchange energy, not whether anything is stable.
Keep the samples the filter still needs in a state vector $\mathbf{q}$. On each tick the new state is the old state pushed through a matrix, plus a contribution from the fresh input:
$$\mathbf{q}[n+1] = \mathbf{A}\mathbf{q}[n] + \mathbf{b}\,x[n], \qquad y[n] = \mathbf{c}^{\mathsf{T}}\mathbf{q}[n] + d\,x[n].$$
Cut the input off and the state simply evolves as $\mathbf{A}^n$ applied to whatever it started with, so the long-run behaviour is decided entirely by the eigenvalues:
$$|\lambda| < 1 \ \text{fades}, \qquad |\lambda| = 1 \ \text{hums forever}, \qquad |\lambda| > 1 \ \text{explodes}.$$
Stability means every eigenvalue lies strictly inside the unit circle — the same thing as saying every pole of $H(z)$ does. The textbook complication of a defective matrix, where repeated eigenvalues bring a factor $n^m$ along with $\lambda^n$, changes the details of the transient but not the location of the fence.
Hidden states. A realisation can contain internal modes the output never sees, which cancel out of $H(z)$ — textbooks call it non-minimal. The direct, cascade and lattice forms you would actually build are minimal, so eigenvalue and pole coincide. FIR filters cannot blow up. Their state matrix is just a shift register, every eigenvalue is exactly zero, and only feedback makes instability possible in the first place.
A useful picture for a single real pole is a leaky bucket: at each sample you keep a fraction $r$ of what was there and pour the fresh input on top. With $r = 0.9$ the bucket remembers roughly ten samples; push $r$ towards 1 and it remembers for a very long time, which is exactly why the response becomes sharply peaked — a filter that averages over many cycles of its favourite tone rejects everything else. With $r > 1$ you have the public-address system howling.
A conjugate pole pair at radius $r$ and angle $\theta$ — the smallest interesting IIR filter there is:
$$H(z) = \frac{1}{\left(1 - re^{j\theta}z^{-1}\right)\left(1 - re^{-j\theta}z^{-1}\right)}, \qquad h[n] = r^{\,n}\,\frac{\sin\!\big((n+1)\theta\big)}{\sin\theta}.$$
Push $r$ past 1 and watch the verdict change.
Radius is memory, angle is tune. The peak sharpening as $r \to 1$ is the continuous-time story about a pole approaching the $j\omega$-axis, wearing digital clothes — and the ringing lengthens by exactly the same amount, because these are two readings of one change.
Here is the part worth pausing on. Feed any LTI filter a pure exponential $z^n$ and what comes out is the same exponential, scaled by a single complex number:
$$x[n] = z^n \ \longrightarrow\ y[n] = H(z)\, z^n.$$
Delays and weighted sums cannot manufacture a new shape out of an exponential; all they can do is scale it. That is precisely what an eigenvector is for a matrix, and it is why exponentials rather than, say, square waves are the natural basis for describing filters. Each natural mode of the filter is such a tone, $\lambda_k^{\,n}$, whose angle sets the pitch and whose radius sets the rate at which it swells or decays.
Take $y[n] = \big(x[n] + x[n-1]\big)/2$, the average of the current sample and the last one.
$(1,1,1,\dots)$ sails through at unit gain — averaging two equal numbers changes nothing.
$(+1,-1,+1,\dots)$, the fastest thing the sample rate can carry, averages to zero every time. Killed outright.
That is a zero at $z = -1$ doing its job. Every larger FIR design is the same trick scaled up: place the $N-1$ zeros so they fall on the parts of the spectrum you want removed and avoid the parts you want kept. No feedback appears anywhere in that description, which is why an FIR has nothing to become unstable with.
A different matrix appears as soon as you stop asking whether a filter is stable and start asking whether its coefficients are any good. For a length-$N$ FIR on a stationary input with autocorrelation $r[k]$, the least-squares optimal taps solve the Wiener–Hopf equations
$$\mathbf{R}\mathbf{w} = \mathbf{p}, \qquad R_{ij} = r[i-j], \qquad r[k] = \mathbb{E}\{x[n]\,x^*[n-k]\}.$$
$\mathbf{R}$ is Toeplitz because the input is stationary, and Hermitian positive semidefinite by construction, since
$$\mathbf{w}^{\mathsf{H}}\mathbf{R}\mathbf{w} = \mathbb{E}\left|\mathbf{w}^{\mathsf{H}}\mathbf{x}\right|^2 \ge 0$$
is an expected squared magnitude. That is the same PSD structure that expresses passivity in the companion deck, reached from a completely different direction. The Toeplitz structure is what Levinson–Durbin exploits to solve the system in $O(N^2)$ rather than $O(N^3)$, and the solution has a clean reading: the residual error is orthogonal to the data used to predict it, and a lattice implementation peels off one layer of predictability at a time.
$\mathbf{R} \succeq 0$ holds for complex IQ data just as for real samples; nothing about reality is needed. What reality buys is the extra structure of a real symmetric $\mathbf{R}$ — a special case. Toeplitz comes from stationarity, not from the signal being real, and Levinson–Durbin has a standard complex Hermitian form that works perfectly well on baseband IQ. The one thing that genuinely needs real signals is the negative-frequency mirror relation, so do not lean on $H(-e^{j\omega}) = H^*(e^{j\omega})$ in a complex-baseband design.
The eigenfilter method makes the geometry explicit. Build a matrix $\mathbf{Q}$ that measures how much energy a candidate set of taps leaks into the stopband:
$$\mathcal{E}(\mathbf{w}) = \frac{\mathbf{w}^{\mathsf{T}}\mathbf{Q}\mathbf{w}} {\mathbf{w}^{\mathsf{T}}\mathbf{w}}, \qquad Q_{ij} = \int_{\omega_s}^{\pi}\cos\!\big((i-j)\omega\big)\, d\omega.$$
That ratio is a Rayleigh quotient, so its stationary points are the eigenvectors of $\mathbf{Q}$ and its minimum is the eigenvector belonging to the smallest eigenvalue. The normalisation is there only to rule out the trivial answer $\mathbf{w} = \mathbf{0}$.
For three taps the ranking is easy to see by eye: the smooth shape $[1, 2, 1]$ leaks least, and the alternating shape $[1, -2, 1]$ leaks most, because the latter does its best to emphasise exactly the high-frequency content the stopband is meant to suppress. But press snap to smallest eigenvector and you will find the true optimum at $\omega_s = \pi/2$ is not $[1,2,1]$ at all — it is $[1,\sqrt{2},1]$. Intuition gets you close; the eigenvector gets you there. Move the stopband edge and the optimal shape moves with it.
Splitting a signal into subbands for audio or image coding, processing each band, and rebuilding the original only works if the splitter conserves energy at every frequency rather than merely on average. In terms of the polyphase matrix of the analysis bank the requirement is
$$\tilde{\mathbf{H}}_p(z)\,\mathbf{H}_p(z) = c\,\mathbf{I}, \qquad \tilde{\mathbf{H}}(z) = \mathbf{H}^{\mathsf{T}}(1/z^*)^*,$$
where the tilde denotes the paraconjugate. On the unit circle that condition says nothing more exotic than that the bank performs a rotation at each frequency — the same losslessness you met as unitarity in the companion deck, now allowed to vary with frequency instead of holding at a single one. The Daubechies wavelets are constructed on exactly this principle.
One matrix. Redistributes energy among its outputs without creating or destroying any.
A unitary-valued function on $|z| = 1$. Does the same thing independently at every frequency.
The companion deck rotates in the plane of the eigenvalues of $\mathbf{S}$ at one fixed frequency. Here the rotations are indexed by frequency and ride around the $z$-plane circle. Same geometry, entirely different meaning. And bit-exact reconstruction on real hardware needs integer lifting on top, because rounding breaks the perfect undo even when the mathematics is flawless.
The simplest paraunitary bank there is. Split the signal into its even and odd samples, rotate that pair by $\theta$, and rotate back on the way out:
$$\mathbf{H}_p = \begin{pmatrix}\cos\theta & \sin\theta \\ -\sin\theta & \cos\theta\end{pmatrix}, \qquad \mathbf{H}_p^{\mathsf{T}}\mathbf{H}_p = \mathbf{I}.$$
Any $\theta$ reconstructs perfectly. Now put a gain $g$ on one subband — a stand-in for a quantiser, a coder, or any well-meant processing that breaks the structure — and watch perfect reconstruction fail the instant $\mathbf{H}_p$ stops being paraunitary.
Note what does not change as you turn $\theta$: the total energy in the two subbands. That invariance is the whole content of losslessness, and it is why the energy meter stays pinned at 1.000 until you touch the gain.
| Idea | Continuous-time networks | Discrete-time filters |
|---|---|---|
| Stability boundary | The $j\omega$-axis, $\operatorname{Re}(s) = 0$ | The circle $|z| = 1$ |
| Stable region | The open left half-plane | The open unit disc |
| What closeness buys | Small $\sigma$ gives high $Q \approx \omega_0/2\sigma$ | Radius $r$ near 1 gives a slow envelope $r^{\,n}$ and a peak at $\omega \approx \theta$ |
| Lossless mixing | Unitary $\mathbf{S}(f)$, eigenvalues of unit modulus at that frequency | Paraunitary $\mathbf{H}_p(e^{j\omega})$, unitary at every $\omega$ on the circle |
| Optimal design | Not treated here | Hermitian PSD $\mathbf{R}$ and $\mathbf{Q}$ |
| What a violation looks like | The model creates energy; the transient diverges | The recursion is unstable, or settles into a limit cycle |
Mixing up the eigenvalues of a scattering matrix, which describe how ports exchange energy at one frequency, with the poles of a transfer function, which describe how the response varies with frequency. Both get compared against a unit circle. Neither has anything to do with the other.
Sometimes far enough to cross the unit circle. Re-check $|\lambda| < 1$ after quantisation, not only before, and prefer cascaded second-order sections to a single high-order direct form — the pole sensitivity of a direct form grows viciously with order.
Nonlinear finite-wordlength effects that slide 02 simply does not describe, because that analysis assumes arithmetic of unlimited precision. A filter can be provably stable and still sit in a small self-sustaining oscillation.
| Question | Matrix | Answer |
|---|---|---|
| Will it stay stable? | State matrix $\mathbf{A}$ | Every $|\lambda_k| < 1$. FIR has all $\lambda = 0$, so only IIR is in play. |
| Eigenvalue = pole? | $\mathbf{A}$, minimal realisation | Yes for direct, cascade and lattice forms; non-minimal realisations hide modes. |
| What taps are optimal? | Toeplitz Hermitian PSD $\mathbf{R}$ | $\mathbf{R}\mathbf{w} = \mathbf{p}$, solved in $O(N^2)$ by Levinson–Durbin. |
| Least stopband leak? | Hermitian PSD $\mathbf{Q}$ | The eigenvector of the smallest eigenvalue — a Rayleigh quotient minimum. |
| Can I rebuild exactly? | Polyphase $\mathbf{H}_p(z)$ | Paraunitary $\Rightarrow$ perfect reconstruction; add lifting for bit-exactness. |
Dynamics are eigenvalues of $\mathbf{A}$ in the $z$-plane. Optimal taps are Hermitian positive-semidefinite matrices and the spectral theorem, the same theorem that runs the passivity test in the companion deck. Lossless analysis and synthesis is a unitary matrix made frequency-dependent.
Deck 02 of the Matrix Methods in Engineering series. Companions: Network Parameters (S, Z, Y) and Equalisation in High-Speed Serial Links.
Single-page HTML · KaTeX-rendered maths · no build step. Source on GitHub · long-form PDF