aaruljain@yahoo.com (Aarul Jain) wrote in message news:<207dbed8.0401150634.6fca2dee@posting.google.com>...
> Hello
>
> I had just finished making an audio spectrum analyzer, when someone
> told me that since voice is a random signal you need to first
> correlate it before finding the fft of its samples.
> I had read somewhere that correlation is generally used for removing
> noise, and I tols him that I am assuming noise free environment. But
> he said that random signals are infinite energy signals and taking its
> fft directly is not valid.
>
> Now I am confused about this correlation thing. If it removes noise
> then what kind of noise does it remove?
Correlation does not, in itself, remove any noise. Computing the
correlation only "reformulates" the signal in a way that lets
you see certain structures that is otherwise not easy to see.
> How do I know where to use correlation?
Correlation is useful when you deal with random or noisy signals.
A "random" signal can often be analyzed in terms of Power Spectrum
Density (PSD), i.e. in what frequency bands there is high energy and
in what frequency bands there are little energy. The correlation is
the first step to computing the PSD. There is a connection between
the PSD in frequency domain and the "correlation lengths" in time
domain.
> And then there is something called auto-correlation?
Yep. If you have a signal that is basically noise, it's not very
easy to make much sense of it in time domain. Computing the
autocorrelation can reveal some of the temporal structure of the signal,
coputing the PSD (the DFT of the autocorrelation sequence) can give
information in frequency domain. The PSD and the autocorrelation
are different ways of investigating noise-like or noisy signals.
> What are all these things?
>
> Are there good books that discusses the practical use of this?
Any book on statistical signal processing should be useful. Even some
books on basic DSP include chapters on spectrum estimation and the
likes. Check out the book by Proakis and Manolakis.
Rune
Reply by Fred Marshall●January 15, 20042004-01-15
"Aarul Jain" <aaruljain@yahoo.com> wrote in message
news:207dbed8.0401150634.6fca2dee@posting.google.com...
> Hello
>
> I had just finished making an audio spectrum analyzer, when someone
> told me that since voice is a random signal you need to first
> correlate it before finding the fft of its samples.
What they probably meant was more like this:
If you compute a Finite Time Fourier Transform or Discrete Finite Time
Fourier Transform using FFT, then you will get a spectral series - for which
you can compute the magnitude or magnitude squared, but it may or may not be
what you really want.
If what you really want is the Power Spectral Density then you may need to
do something slightly different:
(The issue here is that you might want to avoid generating large numbers
where they aren't justified - ususally as a result of noise content. So,
some sort of averaging might be desirable.)
One way to do this is to compute the average at each frequency sample of the
magnitude squared of the FFT results over a number of FFTs - let's call that
number of FFTs "M" and the length of those FFTs "N". This illustrates
pretty nicely what's happening - the consistently large elements will
average out to be large and the more variable ones will be diminished - thus
improving the estimate. Note that the frequency resolution is fs/N here.
In the limit, the least "good" estimate is with a sample of *one* FFT of
length N - and computing the magnitude squared at each frequency sample.
On the other hand, it's done more quickly - i.e. with less data - and is
more likely to yield information about real time variations in the data.
Surely the length of the FFT is a tradeoff in any case. Because, you could
always compute the FFT over M*N time samples.
Another way to do this is to compute the autocorrelation function over the
entire set of M*N data points and take the FFT of the autocorrelation
result - which is the normal definition of power spectral density as a
member of this Fourier Transform dual pair. Here the resolution is ~fs/M*N
because you're using more data and are computing a Fourier Transform that's
longer by a factor of M.
So, do you *have to* do this? That's something you have to decide for the
sort of data you have and for your application.
Fred
Reply by Virgilio Lattanzi●January 15, 20042004-01-15
"Aarul Jain" <aaruljain@yahoo.com> ha scritto nel messaggio
news:207dbed8.0401150634.6fca2dee@posting.google.com...
[...]
> he said that random signals are infinite energy signals and taking its
> fft directly is not valid.
It's likely you are not FFTing an infinite lenght sequence, but only
some 2^N samples each time. So you can compute its FFT.
Bye,
--
Virgilio Lattanzi HARPAX srl
Tel: +39 0733 816872 via Fontanella, 38
Fax: +39 0733 819133 62012 Civitanova Marche MC
WWW: www.harpax.com ITALY
Reply by Aarul Jain●January 15, 20042004-01-15
Hello
I had just finished making an audio spectrum analyzer, when someone
told me that since voice is a random signal you need to first
correlate it before finding the fft of its samples.
I had read somewhere that correlation is generally used for removing
noise, and I tols him that I am assuming noise free environment. But
he said that random signals are infinite energy signals and taking its
fft directly is not valid.
Now I am confused about this correlation thing. If it removes noise
then what kind of noise does it remove?
How do I know where to use correlation?
And then there is something called auto-correlation?
What are all these things?
Are there good books that discusses the practical use of this?
I know there must be many here that have concepts clear about
correlation.Please do reply.
Thanks
Aarul Jain