Sign in

username:

password:



Not a member?

Search compdsp



Search tips

comp.dsp by Keywords

Adaptive Filter | ADPCM | ADSP | ADSP-2181 | Aliasing | AMR | Anti-Aliasing | ARMA | Autocorrelation | AutoCovariance | Beamforming | Bessel | Blackfin | Butterworth | C6713 | CCS | Chebyshev | CIC Filter | Circular Convolution | Code Composer Studio | Comb Filter | Compression | Convolution | Cross Correlation | DCT | Decimation | Deconvolution | Demodulation | DM642 | DSP Boards | DSP/BIOS | DTMF | Echo Cancellation | Equalization | Equalizer | ETSI | EZLITE (Ez-kit Lite) | FFT | FFTW | FIR Filter | Fixed Point | FSK | G.711 | G.723 | G.729 | Gaussian Noise | Goertzel | GPIO | Hilbert Transform | IFFT | IIR Filter | Interpolation | Invariance | JTAG | Kalman | Laplace Transform | Levinson | LPC | McBSP | MIPS | Modulation | MPEG | Multirate | Notch Filter | Nyquist | OFDM | Oversampling | Pink Noise | Pitch | PLL | Polyphase | QAM | QDMA | Quantization | Quantizer | Radar | Random Noise | Reed Solomon | Remez | Resampling | RTDX | Sampling | Sharc | TI C6711 | Undersampling | Viterbi | Wavelets | White Noise | Wiener Filter | Windowing | XDS510PP | Z Transform

Ads

Discussion Groups

Free Online Books

Discussion Groups | Comp.DSP | Time-varying filters?

There are 7 messages in this thread.

You are currently looking at messages 0 to 7.


Time-varying filters? - Pablo F. Hoffmann - 03:42 17-02-04

Hi all,

I am working on implementing a 3D audio system where a need to change 
filter coefficients at real time. I know that when updating filter 
coefficients can produce audible artifacts such as clicks. I've been 
doing some google research on time-varying filters, elimination of 
transients, etc .... So far I have found some articles but all regarded 
time-varying recursive filters. My application uses FIR filters and the 
main problem to cover is avoid artifacts when switching from one filter 
to another.

regards,

Pablo.

Re: Time-varying filters? - Airy R. Bean - 03:47 17-02-04



1. Could you arrange your software such that one coefficient
only was changed for each execution of the associated MAC
instructions, and change progressively from one end?

Or,

2. Arrange that the transition occurs over 8, 16 (or your favourite
binary number) executions of the MAC and change every coefficient
1/n th of the difference between the two sets? (Watch out for dividing
by zero if no change is required!)

"Pablo F. Hoffmann" <p...@acoustics.aau.dk> wrote in message
news:c0sk5e$cgg$1...@sunsite.dk...
> I am working on implementing a 3D audio system where a need to change
> filter coefficients at real time. I know that when updating filter
> coefficients can produce audible artifacts such as clicks.



Re: Time-varying filters? - Jerry Avins - 10:33 17-02-04

Pablo F. Hoffmann wrote:

> Hi all,
> 
> I am working on implementing a 3D audio system where a need to change 
> filter coefficients at real time. I know that when updating filter 
> coefficients can produce audible artifacts such as clicks. I've been 
> doing some google research on time-varying filters, elimination of 
> transients, etc .... So far I have found some articles but all regarded 
> time-varying recursive filters. My application uses FIR filters and the 
> main problem to cover is avoid artifacts when switching from one filter 
> to another.
> 
> regards,
> 
> Pablo.

Search for previous threads on this. A glitch-free transition can be had
by using two transversal FIR filters of the same length (so delay is
unchanged) and fading the output from one to the other. Only two filters
need to be in memory at one time.

Jerry
-- 
Engineering is the art of making what you want from things you can get.
ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ


Re: Time-varying filters? - Jon Harris - 13:35 17-02-04

A brute force approach is to run 2 filters in parallel and crossfade between
them.  Since this often doubles your computational load, it may not always
be feasible.  But if you have the computing power to deal with it, then
that's probably your best bet.

"Pablo F. Hoffmann" <p...@acoustics.aau.dk> wrote in message
news:c0sk5e$cgg$1...@sunsite.dk...
> Hi all,
>
> I am working on implementing a 3D audio system where a need to change
> filter coefficients at real time. I know that when updating filter
> coefficients can produce audible artifacts such as clicks. I've been
> doing some google research on time-varying filters, elimination of
> transients, etc .... So far I have found some articles but all regarded
> time-varying recursive filters. My application uses FIR filters and the
> main problem to cover is avoid artifacts when switching from one filter
> to another.
>
> regards,
>
> Pablo.



Re: Time-varying filters? - George Bush - 13:31 29-02-04

Using two filters and crossfading between them will work if you have time for 
two filters.  An approach that works with FIR filters is to crossfade the 
coeffecients between the current filter and the filter you want using, 
say, linear interpolation.  With IIR filters, this can (frequently) lead to 
problems but not with FIR filters.  FIR filters are inherently stable.

In article <c0sk5e$cgg$1...@sunsite.dk>, "Pablo F. Hoffmann" 
<p...@acoustics.aau.dk> wrote:
>Hi all,
>
>I am working on implementing a 3D audio system where a need to change 
>filter coefficients at real time. I know that when updating filter 
>coefficients can produce audible artifacts such as clicks. I've been 
>doing some google research on time-varying filters, elimination of 
>transients, etc .... So far I have found some articles but all regarded 
>time-varying recursive filters. My application uses FIR filters and the 
>main problem to cover is avoid artifacts when switching from one filter 
>to another.
>
>regards,
>
>Pablo.

Re: Time-varying filters? - Jon Harris - 15:46 01-03-04

Actually, it tends to work quite well with IIR filters as well.  I think I
remember hearing about a proof somewhere that if the beginning and end
coefficients are both stable, then the interpolated coefficients are stable
as well.  With IIR filters, the filter topology (Direct Form, Lattice, etc.)
also makes a substantial difference in the ability to interpolate and "sound
good".  As you might expect, the more complex forms tend to be the best for
interpolation.

"George Bush" <g...@whitehouse.com> wrote in message
news:Tdq0c.1652$Z...@twister.socal.rr.com...
> Using two filters and crossfading between them will work if you have time
for
> two filters.  An approach that works with FIR filters is to crossfade the
> coeffecients between the current filter and the filter you want using,
> say, linear interpolation.  With IIR filters, this can (frequently) lead
to
> problems but not with FIR filters.  FIR filters are inherently stable.
>
> In article <c0sk5e$cgg$1...@sunsite.dk>, "Pablo F. Hoffmann"
> <p...@acoustics.aau.dk> wrote:
> >Hi all,
> >
> >I am working on implementing a 3D audio system where a need to change
> >filter coefficients at real time. I know that when updating filter
> >coefficients can produce audible artifacts such as clicks. I've been
> >doing some google research on time-varying filters, elimination of
> >transients, etc .... So far I have found some articles but all regarded
> >time-varying recursive filters. My application uses FIR filters and the
> >main problem to cover is avoid artifacts when switching from one filter
> >to another.
> >
> >regards,
> >
> >Pablo.



Re: Time-varying filters? - Martin Eisenberg - 11:46 03-03-04

Jon Harris wrote:

> Actually, it tends to work quite well with IIR filters as well. 
> I think I remember hearing about a proof somewhere that if the
> beginning and end coefficients are both stable, then the
> interpolated coefficients are stable as well.

Last year on music-dsp, Sampo Syreeni explained that each 
intermediate coefficient set corresponds to a stable LTI system, but 
the time-varying IIR may still be unstable since the state is 
influenced by the previous sets. I believe toplogies were 
also discussed somewhere in that thread.

http://aulos.calarts.edu/pipermail/music-dsp/2003-
December/025580.html


Martin

-- 
Quidquid latine dictum sit, altum viditur.