DSPRelated.com
Forums

adaptive filters; qmf sub-band versus one long filter

Started by Robert Adams July 31, 2008
I have been experimenting lately with adaptive filters running in the
"system identification" mode. There are 2 approaches that are used;


1) A simple nlms fir filter approach, filter length = K


2) sub-band approach, where you break the signal into N critically-
sampled bands, do N nlms filters of length K/N each, followed by a
reconstruction filterbank.


The second approach has many advantages in terms of adapation speed
and robustness against noise, etc. However, I have found that in a few
ways they are worse.


Lets assume K = 64 and N=8. So in the sub-band case I have 8 nlms
filters running at Fs/8 with length 64/8=8 taps each.

If I make my unknown system a simple delay with a delay of, say, 2
samples (at the high rate), then in the non-sub-band case the filter
will simply adapt its coefficients to [0 0 1 0 0 0 ... ] and the
cancellation will be perfect.

If I try the same thing with the sub-band system, my cancellation is
not as good. There are 2 reasons I can think of to explain this;


1) Since each sub-filter runs at Fs/8, it is not possible for a filter
to implement a simple delay of 2 samples at the Fs rate. Therefore the
filters are adjusting themselves to form a delay that includes a
fractional part (relative to the Fs/8 sample-rate). This can only be
an approximation, assuming finite filter length.


2) Aliasing in the filterbank. The aliases cancel only if you do not
mess around with the data in between the analysis and synthesis banks.
Which of course is exactly what I am doing.

I am not sure at present which of the two mechanisms is limiting my
performance. If it is due to aliasing, then perhaps I will need to use
sharper filters in the QMF structure, or alternatively use a lower
number of bands. If it is the first mechanism, then I will need longer
adaptive filters.

Has anyone dealt with these issues before?


Thanks!

Bob Adams

Robert Adams wrote:

> I have been experimenting lately with adaptive filters running in the > "system identification" mode.
Is the speaker - mike feedback canceller what you are trying to make?
> There are 2 approaches that are used; > > 1) A simple nlms fir filter approach, filter length = K > 2) sub-band approach, where you break the signal into N critically- > sampled bands, do N nlms filters of length K/N each, followed by a > reconstruction filterbank. > > The second approach has many advantages in terms of adapation speed > and robustness against noise, etc.
The first approach requires at the order of T*Fs^2 operations per second, whereas the second approach takes T*Fs*log(Fs). There can be the big difference in the computing requirements, too.
> However, I have found that in a few > ways they are worse.
> 1) Since each sub-filter runs at Fs/8, it is not possible for a filter > to implement a simple delay of 2 samples at the Fs rate. Therefore the > filters are adjusting themselves to form a delay that includes a > fractional part (relative to the Fs/8 sample-rate). This can only be > an approximation, assuming finite filter length. > > > 2) Aliasing in the filterbank. The aliases cancel only if you do not > mess around with the data in between the analysis and synthesis banks. > Which of course is exactly what I am doing.
3) The filterbank analysis - synthesis incurs the additional processing delay. The same delay has to be added to the direct path. As you know, the time lag limits the performance of a closed loop system. 4) The nonlinear distortion in the direct path can be very detrimental for the multiband system. You have to tweak the adaptation curves separately for each band. 5) There is the special case when the features of the system appear to be exactly in between the bands.
> > I am not sure at present which of the two mechanisms is limiting my > performance. If it is due to aliasing, then perhaps I will need to use > sharper filters in the QMF structure, or alternatively use a lower > number of bands. If it is the first mechanism, then I will need longer > adaptive filters. > > Has anyone dealt with these issues before?
I played with NLMS while ago, and at that time I decided to stay with the single band. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
On Jul 31, 3:33&#4294967295;pm, Vladimir Vassilevsky <antispam_bo...@hotmail.com>
wrote:
> Robert Adams wrote: > > I have been experimenting lately with adaptive filters running in the > > "system identification" mode. > > Is the speaker - mike feedback canceller what you are trying to make? > > > There are 2 approaches that are used; > > > 1) A simple nlms fir filter approach, filter length = K > > 2) sub-band approach, where you break the signal into N critically- > > sampled bands, do N nlms filters of length K/N each, followed by a > > reconstruction filterbank. > > > The second approach has many advantages in terms of adapation speed > > and robustness against noise, etc. > > The first approach requires at the order of T*Fs^2 operations per > second, whereas the second approach takes T*Fs*log(Fs). There can be the > big difference in the computing requirements, too. > > > However, I have found that in a few > > ways they are worse. > > 1) Since each sub-filter runs at Fs/8, it is not possible for a filter > > to implement a simple delay of 2 samples at the Fs rate. Therefore the > > filters are adjusting themselves to form a delay that includes a > > fractional part (relative to the Fs/8 sample-rate). This can only be > > an approximation, assuming finite filter length. > > > 2) Aliasing in the filterbank. The aliases cancel only if you do not > > mess around with the data in between the analysis and synthesis banks. > > Which of course is exactly what I am doing. > > 3) The filterbank analysis - synthesis incurs the additional processing > delay. The same delay has to be added to the direct path. As you know, > the time lag limits the performance of a closed loop system. > > 4) The nonlinear distortion in the direct path can be very detrimental > for the multiband system. You have to tweak the adaptation curves > separately for each band. > > 5) There is the special case when the features of the system appear to > be exactly in between the bands. > > > > > I am not sure at present which of the two mechanisms is limiting my > > performance. &#4294967295; If it is due to aliasing, then perhaps I will need to use > > sharper filters in the QMF structure, or alternatively use a lower > > number of bands. If it is the first mechanism, then I will need longer > > adaptive filters. > > > Has anyone dealt with these issues before? > > I played with NLMS while ago, and at that time I decided to stay with > the single band. > > Vladimir Vassilevsky > DSP and Mixed Signal Design Consultanthttp://www.abvolt.com
Thanks. I am at this point just developing the algorithm for use in a variety of situations. I am applying a white-noise signal to the input of my "unkown system" which at this point is an ideal FIR (just to get things going). The white noise-signal is applied directly to analysis bank #1, and the output of the unknown system is applied to analysis bank #2 (same as #1). The nlms then operates on every sub-band, adjusting an FIR filter on analysis bank #1 to cancel the component in that sub-band. Since both paths go though the analysis bank there is no problem with delay. Also, since the unknown system is ideal at this point, there is no non- linearity. I can see how non-linearity would cause components that don't correlate. I have heard that some people use adaptive non-linear filters as well as the linear ones to solve this problem, but my guess is that you could only handle low-order non-linearities this way. Bob