I have a discrete-time system which can be described as:

$$ Y_m = \sum_{r=-N_g}^{R-1+N_g} c_r x[R(m-1) + r] $$

The unknowns are $c_k$ but I know that they have the following approximate behavior:

$$ c_r \approx \cases{1 \quad 0 \leq r < R \\ 0 \quad \mathrm{else}} $$

From this, one may recognize that this is nothing more than a discrete summer which obtains the sum of $R$ Nyquist rate samples of $x[n]$. However, in contrast to a normal FIR filter, the output sums are given at a rate $R$ times lower that the one of $x[n]$.

Now my issue is that I do not know $c_k$ exactly. For that reason I want to estimate them. Rewriting in vector matrix form, the Least Squares estimate looks like:

$$ \mathbf{Y}=\mathbf{X} \mathbf{c} \\ \mathbf{c} = (\mathbf{X}^{\#} \mathbf{X})^{-1} \mathbf{X}^{\#} \mathbf{Y} $$

The success of this method boils down to the conditioning of the matrix $\mathbf{X}$. If $x[n]$ is white, the matrix $\mathbf{X}$ has a low condition number and a rank that is equal to the number of unknowns: $\operatorname{rank}(\mathbf{X}) = R+2N_g$. This is called driving the unknown system with a persistently exciting input. Using simple MATLAB, I can see that the bandwidth of $x[n]$ must be at least $f_s/2 \cdot 0.9$ where $f_s$ is the Nyquist rate of the sequence $x[n]$. Under this condition, the estimation works as expected.

Due to physical constraints (ultimately, this is just a model of a physical system!), I cannot make $x[n]$ white, it needs to be bandlimited to $< f_s/2 \cdot 0.8$. But with such a signal, the rank of the matrix is much lower than the unknowns.

  • Is there any way to estimate $c_k$ with a non-white $x[n]$ sequence?
  • Potentially, only for a certain set of input signals (e.g., signals, that are also bandlimited, ignoring the behavior around $f_s/2$ ?
  • Can it be useful that I know the basic behavior of $c_r$ ?
  • 1
    $\begingroup$ Your summer with a output rate of 1/R the input rate is what we call a decimating FIR filter, in particular a 1/R decimating moving average with a gain of R. $\endgroup$ Aug 12 '18 at 12:35
  • $\begingroup$ regarding the estimation problem, does dsp.stackexchange.com/a/50996/13320 help? $\endgroup$ Aug 12 '18 at 12:36
  • $\begingroup$ Your approximate behavior confuses me. I would think that some subset of c_k out of all possible k being nearly one and the rest near zero would make sense but you have a very specific sequence of k for the subset. Could you elaborate a bit $\endgroup$
    – user28715
    Aug 12 '18 at 14:29
  • $\begingroup$ @StanleyPawlukiewicz: Where do you see $k$? I am not sure if I really understand your question but I assume you are understanding it right: It is a perfect summer if $c_0, \cdots, c_{R-1}=1$ and 0 otherwise. But for an actual implementation the zeroes are not really zeroes and the ones are not really ones (but follow, e.g., an exponential decay due to a dominant pole) $\endgroup$
    – divB
    Aug 13 '18 at 9:59
  • 1
    $\begingroup$ @divB you're going much deeper than I wanted to point you :) I wanted to point you to the fact that you're doing system identification, in particular, of a FIR filter; and if you want to see how it's done in practice, gr-adapt (as linked there) has a few nice implementations. $\endgroup$ Aug 13 '18 at 11:10

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.