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

# Accuracy of channel identification based on finite data record

Started by ●April 5, 2007

Reply by ●April 5, 20072007-04-05

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. > JuliusI 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

Reply by ●April 6, 20072007-04-06

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. > JuliusIf 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

Reply by ●April 6, 20072007-04-06

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. > > JohnHi 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

Reply by ●April 6, 20072007-04-06

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 SarwateHi 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

Reply by ●April 6, 20072007-04-06

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 SarwateHi 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

Reply by ●April 6, 20072007-04-06

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, > JuliusAre 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

Reply by ●April 6, 20072007-04-06

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? > > JohnJohn, 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

Reply by ●April 8, 20072007-04-08

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, > JuliusI 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