Given a FIR filter $h[n]$. Its action can described as:

$$ \mathbf{y} = \mathbf{H} \mathbf{x} \\ \mathbf{y} = \mathbf{X} \mathbf{h} $$

where $\mathbf{H}$ and $\mathbf{X}$ is a Toeplitz matrix. If $h$ is unknown, Least Squares with a white Gaussian input signal $x[n]$ can be used to find the unknown coefficients:

$$ \hat{\mathbf{h}} = (\mathbf{X}^{T}\mathbf{X})^{-1} \mathbf{X}^T \mathbf{y} $$

Caveat: $x[n]$ must be white; otherwise the regression matrix $\mathbf{X}^T \mathbf{X}$ is badly conditioned.

The frequency domain information is encoded in the coefficients $h$. However, as can be seen above, the LS algorithm estimates the coefficients with zero prior knowledge; the estimation ONLY depends on the input signal $x$. It does not matter if the system to be identified is an allpass filter or has a notch of 200dB attenuation at $\pi/2$.

Now my question: What do I do if I only care about a small frequency range in $h$ and hence my input signal $x[n]$ does not need to be white?

Example: My Nyquist rate is 10kHz. My unknown system is a lowpass with -3dB at 300 Hz. It has some "weird" frequency behavior around 300 Hz which I want to estimate. I do NOT care about anything beyond, say, 500 Hz. Additionally, my measurement setup prevents me from using a white input signal. I have a bandwidth limitation of 500 Hz. I cannot change the Nyquist rate.

With Least Squares I cannot identify the system because $x$ is not white (persistently exciting). Regularization/SVD does not help me: It provides a biased solution and still gives me $h$ values that try to estimate the entire frequency range. But I really want to say "Give me the $h$ that describes the unknown system best up to 500 Hz with a 500 Hz input signal"

  • $\begingroup$ The only way you can restrict certain frequencies, is by designing $H$ as matrix that performs filtering operation. In other words, if $H$ is a FIR low-pass Butterworth filter, then $H$ would be a Toeplitz matrix and the entries of $H$ would be the filter coefficients of the low-pass filter. $\endgroup$ – Maxtron Jul 21 '19 at 1:21
  • $\begingroup$ I think you misunderstand me. $\mathbf{X}$ is a Toeplitz matrix. Least Squares can not solve this problem because as soon as use a non-white signal $x[n]$, $\mathbf{X}$ becomes very badly conditioned. My question is, which method (non Least Squares) can be used to restrict the solution to a particular frequency range? $\endgroup$ – divB Jul 22 '19 at 5:02
  • $\begingroup$ PS: I also corrected a minor error in my posting $\endgroup$ – divB Jul 22 '19 at 5:05
  • $\begingroup$ I don't fully understand what you mean by "frequency range in $h$" (seems $h$ are time-domain coefficients?) but in general when $X$ is not ideally conditioned, you may resort to some kind of $\min_h \|y-Xh\| + \lambda \cdot r(h)$, where $r(h)$ is a regularizer that regularizes towards your contraint set... $\endgroup$ – Florian Jul 22 '19 at 7:24
  • $\begingroup$ $h$ implicitely encode the frequency behavior. But anyway, I edited my posting again and hope to have clarified what I mean. $\endgroup$ – divB Jul 22 '19 at 8:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.