Kyma Forum
  Kyma Sound Exchange
  Improved Autocorrelation Filters

Post New Topic  Post A Reply
profile | register | preferences | faq | search

next newest topic | next oldest topic
Author Topic:   Improved Autocorrelation Filters
David McClain
Member
posted 02 July 2001 04:03         Edit/Delete Message   Reply w/Quote

spac_filtering.kym

 
Attached is an improved Autocorrelation filter. In case you noticed in my radio SPAC filters, I was immediately taking the RMS level of the real and imaginary frequency components inside the FFT. That, however, causes a bias from the noise.

You can show that white noise treated in this manner produces something related to the Rayleigh distribution which always has a non-zero mean value. That's why the filters were always a bit noisy and the o'scope display showed a positive contribution in all frequency bins.

The attached sound shows how to build an autocorrelator which produces a zero mean signal on noise input. The real and imaginary frequency components inside the FFT are separately averaged over many FFT cycles and then these averages are RMS'd to produce estimates of the autocorrelated signal energy in each frequency bin.

In order to do this properly, however, when using a 50% overlap of input signal processing, as is common in Kyma, you have to multiply the odd frequency cells by -1 in alternate FFT cycles. That's the purpose of the fancy oscillator multiplier after the forward FFT block.

This oscillator produces a burst of alternating +1/-1 over every sample period in alternate FFT-length half-periods. During the other periods it produces a steady +1 output.

Any input signal (not noise) generates correlated values from one FFT half-period to the next and these accumulate in the leaky integrators for real and imaginary components. Noise on the other hand, would not be expected to show any particular correlation and so after many integration periods every FFT cell containing only noise would have an expected value hovering near zero. (some positive, some negative)

By waiting until these integrations have averaged the noise down to near zero before taking the RMS sum of real and imaginary components, you get an unbiased estimate of the correlated signal components. That spectrum can then be used for SPAC filtering with considerably better noise performance at low SNR levels.

[NOTE: You will still see a positive noise floor in the o'scope... That's because our sum processing can only diminish the standard deviation of the noise by 1/Sqrt[tint] where tint is the effective integration period. Even though the mean noise level is zero, adding the sum of squares of the accumulated noise produces the variance of the sum. But having averaged the noise before doing this sum of squares gives us a lower expected variance than using the mean squared noise as before.

Hence, although still present, you should be able to make the noise floor as weak as you like in comparison to the coherent signal levels by increasing the integration time sufficiently. That is to say, you can make the SNR as high as you like by increasing the integration time.]

- DM

[This message has been edited by David McClain (edited 02 July 2001).]

IP: Logged

All times are CT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply

Contact Us | Symbolic Sound Home

This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.


Ultimate Bulletin Board 5.45c