Hi all! I would like to have an fast, easy method to esimate the bandwidth (or kind of degrees of freedom) of a given piece of signal. Lets say, if there is a sine wave, that number should be very low (or zero), if there is white noise, it should be 1 (or something defined). Signal pieces are about 200 samples long. I have a 16 bit dsp. Any idea? Thanks, Andre -- -------------------------------------------------- For non-spam email replies, please replace 'non_spam' by 'a.lodwig'! --------------------------------------------------

# easy estimate of bandwidth?

Andre wrote:> Hi all! > > I would like to have an fast, easy method to esimate the bandwidth (or > kind of degrees of freedom) of a given piece of signal. Lets say, if > there is a sine wave, that number should be very low (or zero), if there > is white noise, it should be 1 (or something defined). > > Signal pieces are about 200 samples long. I have a 16 bit dsp. > > Any idea?Maybe it depends on the sampling frequency, doesn't it? bye, -- Piergiorgio Sartor

"Andre" <no_spam@fischer-zoth.de> schrieb> Hi all! > > I would like to have an fast, easy method to esimate the > bandwidth (or kind of degrees of freedom) of a given piece of > signal. Lets say, if there is a sine wave, that number should > be very low (or zero), if there is white noise, it should be 1 > (or something defined). > > Signal pieces are about 200 samples long. I have a 16 bit dsp. > > Any idea? >You could take a 256-point FFT, count the bins where the amplitude is bigger than some minimum, then divide by 256. This gives you a number between 0 and 1. Note, though, that this may not be fast. HTH Martin

You can get successive even moments of the spectrum by averaging squared derivatives, or counting zero crossings of derivatives. -- Ron Hardin rhhardin@mindspring.com On the internet, nobody knows you're a jerk.

Piergiorgio Sartor <piergiorgio.sartor@nexgo.REMOVE.THIS.de> wrote in message news:<3f93eb49$0$273$4d4ebb8e@read.news.de.uu.net>...> Andre wrote: > > Hi all! > > > > I would like to have an fast, easy method to esimate the bandwidth (or > > kind of degrees of freedom) of a given piece of signal. Lets say, if > > there is a sine wave, that number should be very low (or zero), if there > > is white noise, it should be 1 (or something defined). > > > > Signal pieces are about 200 samples long. I have a 16 bit dsp. > > > > Any idea? > > Maybe it depends on the sampling frequency, doesn't it?Not really except: It's reasonable to look at Andre's problem statement in two ways: 1) The maximum bandwidth and sampling rate are compatible with the Nyquist criterion. 2) Or, they aren't. If (1) applies in taking the samples, then a Discrete Fourier Transform yields a sequence of numbers that allow you to determine the number of significant "degrees of freedom". You might set a threshold on the absolute values of F(kW) and count the significant ones / those that exceed the threshold. Also, the result can be multimodal (have mutiple "bands" or peak areas), or it can be unimodal (have one peak). You can measure the "width" of each peak according to some thresholding criterion that you set. A sine wave would generate something like 1 and white noise something closer to N. Or, if you normalize with 1/N=1/200 then 1/200 and 1 respectively would be the results. If (2) applies, the approach would be the same but the question won't be answered correctly in general. Fred

How about feeding the signal into an adaptive FIR filter that tries to minimise the output. The bigger the spread of zeros in the adapted FIR, the more spread the spectrum is. cheers, Syms. Andre <no_spam@fischer-zoth.de> wrote in message news:<bn0pi9$bke$06$1@news.t-online.com>...> Hi all! > > I would like to have an fast, easy method to esimate the bandwidth (or > kind of degrees of freedom) of a given piece of signal. Lets say, if > there is a sine wave, that number should be very low (or zero), if there > is white noise, it should be 1 (or something defined). > > Signal pieces are about 200 samples long. I have a 16 bit dsp. > > Any idea? > > Thanks, > > Andre