# Accuracy of channel identification based on finite data record

Started by April 5, 2007
I have an FIR channel that I would like to identify, say
h[n].  To do this, I create a test signal x[n] of length N
as an input to the channel, and I measure the output
of the channel y[n].

Let's say that I obtain N samples of y[n] for simplicity.

Then I estimate the autocorrelation rxx[m] of x[n], and
the cross-correlation rxy[m] between x[n] and y[n].
Since I have finite N, then the quality of the estimates
rxx[m] decreases with m since I have fewer terms to
average over.  So far so good.

Now, my estimate of the channel is given by solving
Rxx h = rxy,
basically a Wiener filter type of estimation.

Since the quality of the estimate of rxx and rxy is not
all the same, what can be said about the quality of the
estimate of h?

Thanks in advance.
Julius


On Apr 5, 12:54 pm, "julius" <juli...@gmail.com> wrote:
> I have an FIR channel that I would like to identify, say
> h[n].  To do this, I create a test signal x[n] of length N
> as an input to the channel, and I measure the output
> of the channel y[n].
>
> Let's say that I obtain N samples of y[n] for simplicity.
>
> Then I estimate the autocorrelation rxx[m] of x[n], and
> the cross-correlation rxy[m] between x[n] and y[n].
> Since I have finite N, then the quality of the estimates
> rxx[m] decreases with m since I have fewer terms to
> average over.  So far so good.
>
> Now, my estimate of the channel is given by solving
>   Rxx h = rxy,
> basically a Wiener filter type of estimation.
>
> Since the quality of the estimate of rxx and rxy is not
> all the same, what can be said about the quality of the
> estimate of h?
>
> Thanks in advance.
> Julius

I have always used N >> length(h) for this kind of problem. If it
isn't the case then h gets bad as you move off center -- garbage in,
garbage out.

John


On Apr 5, 11:54 am, "julius" <juli...@gmail.com> wrote:
> I have an FIR channel that I would like to identify, say
> h[n].  To do this, I create a test signal x[n] of length N
> as an input to the channel, and I measure the output
> of the channel y[n].
>
> Let's say that I obtain N samples of y[n] for simplicity.
>
> Then I estimate the autocorrelation rxx[m] of x[n], and
> the cross-correlation rxy[m] between x[n] and y[n].
> Since I have finite N, then the quality of the estimates
> rxx[m] decreases with m since I have fewer terms to
> average over.  So far so good.
>
> Now, my estimate of the channel is given by solving
>   Rxx h = rxy,
> basically a Wiener filter type of estimation.
>
> Since the quality of the estimate of rxx and rxy is not
> all the same, what can be said about the quality of the
> estimate of h?
>
> Thanks in advance.
> Julius

If you take x[n] to be several periods of a maximal-length
shift register (PN) sequence where the period is longer
than what you expect the FIR length to be, then a suitably
defined Rxx (sum over one period, not over entire interval)
is almost a discrete-time delta function, and the corresponding
rxy is almost exactly h[n].

Hope this helps

--Dilip Sarwate


On Apr 5, 5:29 pm, sampson...@gmail.com wrote:

>
> I have always used N >> length(h) for this kind of problem. If it
> isn't the case then h gets bad as you move off center -- garbage in,
> garbage out.
>
> John

Hi John, I do have N >> length(h).  What I'm interested
in learning about is how quickly \hat h gets bad as
I move off center, as you said.  Maybe I'm looking for
something that is hard to analyze in general!

Thanks,
Julius


On Apr 6, 8:01 am, "dvsarw...@gmail.com" <dvsarw...@gmail.com> wrote:

> If you take x[n] to be several periods of a maximal-length
> shift register (PN) sequence where the period is longer
> than what you expect the FIR length to be, then a suitably
> defined Rxx (sum over one period, not over entire interval)
> is almost a discrete-time delta function, and the corresponding
> rxy is almost exactly h[n].
>
> Hope this helps
>
> --Dilip Sarwate

Hi Prof. Sarwate, thanks for the answer.  I do have
x[n] to be several periods of the LFSR.  I am trying
to see how the estimate of h scaled in terms of
quality as I move farther away from the peak of h.

Thanks,
Julius


On Apr 6, 8:01 am, "dvsarw...@gmail.com" <dvsarw...@gmail.com> wrote:

> If you take x[n] to be several periods of a maximal-length
> shift register (PN) sequence where the period is longer
> than what you expect the FIR length to be, then a suitably
> defined Rxx (sum over one period, not over entire interval)
> is almost a discrete-time delta function, and the corresponding
> rxy is almost exactly h[n].
>
> Hope this helps
>
> --Dilip Sarwate

Hi Prof. Sarwate, thanks for the answer.  I do have
x[n] to be several periods of the LFSR.  I am trying
to see how the estimate of h scaled in terms of
quality as I move farther away from the peak of h.

Thanks,
Julius


On Apr 6, 11:36 am, "julius" <juli...@gmail.com> wrote:
> On Apr 5, 5:29 pm, sampson...@gmail.com wrote:
>
>
>
> > I have always used N >> length(h) for this kind of problem. If it
> > isn't the case then h gets bad as you move off center -- garbage in,
> > garbage out.
>
> > John
>
> Hi John, I do have N >> length(h).  What I'm interested
> in learning about is how quickly \hat h gets bad as
> I move off center, as you said.  Maybe I'm looking for
> something that is hard to analyze in general!
>
> Thanks,
> Julius

Are you using non-circular correlation, where only the overlapping
sections of x and y are used to compute rxx and rxy, or are you using
circular correlation, where N samples are used for all lags?

John


On Apr 6, 11:42 am, sampson...@gmail.com wrote:

> Are you using non-circular correlation, where only the overlapping
> sections of x and y are used to compute rxx and rxy, or are you using
> circular correlation, where N samples are used for all lags?
>
> John

John, I'm using non-circular correlation.  This
is because there's drift between the transmitter
and the receiver, I don't think that circular
correlation is appropriate for this.

Good question, by the way, I should have been
more clear!

\hat rxx[m] = 1/(N-m) \sum_{n=0}^{N-m-1} x[n] x*[n+m].
\hat rxy[m] = 1/(N-m) \sum_{n=0}^{N-m-1} x[n] y*[n+m].

If the noise in measuring y is white Gaussian, then
rxy's quality will degrade with m.

Thanks,
Julius


On Apr 6, 12:23 pm, "julius" <juli...@gmail.com> wrote:
> On Apr 6, 8:01 am, "dvsarw...@gmail.com" <dvsarw...@gmail.com> wrote:
>
> > If you take x[n] to be several periods of a maximal-length
> > shift register (PN) sequence where the period is longer
> > than what you expect the FIR length to be, then a suitably
> > defined Rxx (sum over one period, not over entire interval)
> > is almost a discrete-time delta function, and the corresponding
> > rxy is almost exactly h[n].
>
> > Hope this helps
>
> > --Dilip Sarwate
>
> Hi Prof. Sarwate, thanks for the answer.  I do have
> x[n] to be several periods of the LFSR.  I am trying
> to see how the estimate of h scaled in terms of
> quality as I move farther away from the peak of h.
>
> Thanks,
> Julius

I think that would be something that is very hard to analyze. You're
relying on the fact that your averaging of multiple realizations of
the correlation functions will approximate their ensemble averages,
which is valid in some sense, provided you average enough independent
values (via the law of large numbers). However, the only thing you get
out of that analysis is that as the number of samples that you're
averaging approaches infinity, the average value at each lag will
converge to the real values of the autocorrelation/crosscorrelation
functions that you're looking for. You can't really say anything about
how quickly they converge as you increase the number of samples, which
seems to be what you're looking for.

Another approach to this problem might be to instead use an adaptive
system identification filter. Take advantage of the fact that the LMS
filter tends to spread its error out somewhat evenly among its taps,
and let it adapt long enough so that you're satisfied with the filter
output error. Then, take the tap weights as the impulse response
you're looking for.

Jason