DSPRelated.com
Forums

Accuracy of channel identification based on finite data record

Started by julius 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