![]() |
![]() ![]() ![]() ![]() ![]()
|
next newest topic | next oldest topic |
Author | Topic: Improved Autocorrelation Filters | |
David McClain Member |
![]() ![]() ![]()
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 |
![]() ![]() |
This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.