DSPRelated.com
Forums

Spectrum analysis (FFT) of partial waves / scilab

Started by FatScouser June 2, 2010
On 2 juin, 18:46, "FatScouser" <john.hague@n_o_s_p_a_m.truebit.co.uk>
wrote:

>Could someone recommend the best spectrum analysis software package - or >method - for dealing with signals having only partial waves? I've been >using SigView's FFT function on such signals, but the results are >unexpected. I've tried applying filters/windows, varying the sample rate, >and other things, but to no avail...
I don't know exactly what you're trying to do, but I presume it has to do with estimating a low frequency signal of very limited extent in the time domain (a few cycles or less than a cycle). Is the signal sinusoidal? Is it stationary? Or perhaps you have to estimate those kinds of things, too? Ideally, for a stationary sinusoid, you'd want to improve your resolution in the frequency domain by using the minimum sample rate and maximizing the number of samples (bin spacing in the frequency domain = sample rate/N, and this is also your effective 'bin width'). The inverse of the bin spacing is your sampling interval &#4294967295; the length of time over which you collect your samples. Without a long enough sampling interval, you could have a problem trying to estimate things. There are ways of interpolating between FFT outputs to estimate the parameters of a sinusoid, and they usually require that you meet certain conditions. There are other techniques that can yield excellent results but they require that you apply windowing to the data, and it's tough to do if you have too few cycles of the waveform in your sampling interval. That's because windows tend to 'squish' the data at the beginning and end, and you can get some bad results if you don't have a least a few cycles of the waveform in the sampling interval (and I believe that 'squish' is the proper technical term, except perhaps in Canada, where 'squoosh, eh?' is acceptable, but only between 4 and 7 PM &#4294967295;. on Thursdays). Perhaps if your signal is indeed a sinusoid, and you have little noise, you can square it (r[n] = r[n]*r[n] ) and subtract out the DC value. Your 'difference' frequency will be 0, and your 'sum' frequency will be double. For instance, if you started with one second of data from a 1.25 Hz input, you'd generate a 2.5 Hz result. You might even iterate on that to get enough cycles to then use a windowing technique for estimation, but if your signal is not really a sinusoid, or if you have too much noise, this approach isn't very good. Perhaps you could try zero crossing or other methods? I don't really know if they would be applicable in your case. Do you actually have specific requirements? (sinusoidal signal of a certain frequency or frequency range, stable over so many seconds, must estimate frequency within x%, must do so within y seconds after data capture, etc.). The more you can bound and constrain and explain your problem, the easier it may be for others to suggest solutions. Kevin McGee
>On Jun 2, 5:20=A0pm, Jerry Avins <j...@ieee.org> wrote: >> On 6/2/2010 12:46 PM, FatScouser wrote: >> >> > Hi, >> >> > Could someone recommend the best spectrum analysis software package -
o=
>r >> > method - for dealing with signals having only partial waves? >> >> =A0 =A0... >> >> What is a partial wave? >> >> Jerry >> -- >> Engineering is the art of making what you want from things you can get. > >My 1st thought is "partial wave expansion" in physics. This has to do >with the scattering of a plane wave by a particle where the resulting >scattered wave is expressed as a sum of spherical waves each with its >own amplitude and phase shift. But I'm quite sure the OP didn't want >this version. LOL. > >Clay > >
Sounds like a lot of uncertainty to me, Heisenberg flavour. Does my signal have partial waves, or maybe partial particles, or both? We are all partial waves/particles after all. <ahem> I'm looking at harminv - thanks a lot for the recommendation above. http://ab-initio.mit.edu/wiki/index.php/Harminv Our signal comprises finite waves that damp away quickly. I didn't appreciate that when I tried using SigView and FFT. 'Harmonic inversion' seems to tick the boxes, so am looking at getting harminv to work now...
On Jun 4, 11:44&#4294967295;am, "FatScouser"
<john.hague@n_o_s_p_a_m.truebit.co.uk> wrote:

> Our signal comprises finite waves that damp away quickly.
You need a model! illywhacker;
Hi again,

Many thanks for all the posts so far - especially the amusing ones.

Very sorry for not giving any information on our particular application: it
was stupid to expect good answers in response to vague questions.

We have some truck suspension, ride-height, and other chassis data (0-20
Hz) from which we need to extract frequency spectrum information. That's
the problem.

Rather than using FFT, which doesn't seem to handle the very few numbers of
wavelengths due to all the damping going on, I'm looking at the harminv
module developed by Prof. Steven G. Johnson (who posts on this forum). That
module assumes the signal is composed of a finite number of decaying
sinusoids - which sounds like it should fit our purposes, but am not 100%
sure, so any confidence from you experts would be great!!!

Thanks a lot, John
On Jun 4, 1:32&#4294967295;pm, "FatScouser" <john.hague@n_o_s_p_a_m.truebit.co.uk>
wrote:

> We have some truck suspension, ride-height, and other chassis data (0-20 > Hz) from which we need to extract frequency spectrum information. That's > the problem. > > Rather than using FFT, which doesn't seem to handle the very few numbers of > wavelengths due to all the damping going on, I'm looking at the harminv > module developed by Prof. Steven G. Johnson (who posts on this forum). That > module assumes the signal is composed of a finite number of decaying > sinusoids - which sounds like it should fit our purposes, but am not 100% > sure, so any confidence from you experts would be great!!!
Dear John, With all due respect, what you want frequency spectrum information *for*? Surely it is not of interest in itself. I do not know the harminv package, but if you are basically dealing with superimposed damped harmonic oscillators, then perhaps it is the thing. There must be many models of truck behaviour out there: why not start with one of those? illywhacker;
>On Jun 4, 1:32=A0pm, "FatScouser" <john.hague@n_o_s_p_a_m.truebit.co.uk> >wrote: > >> We have some truck suspension, ride-height, and other chassis data
(0-20
>> Hz) from which we need to extract frequency spectrum information.
That's
>> the problem. >> >> Rather than using FFT, which doesn't seem to handle the very few numbers
=
>of >> wavelengths due to all the damping going on, I'm looking at the harminv >> module developed by Prof. Steven G. Johnson (who posts on this forum).
Th=
>at >> module assumes the signal is composed of a finite number of decaying >> sinusoids - which sounds like it should fit our purposes, but am not
100%
>> sure, so any confidence from you experts would be great!!! > >Dear John, > >With all due respect, what you want frequency spectrum information >*for*? Surely it is not of interest in itself. > >I do not know the harminv package, but if you are basically dealing >with superimposed damped harmonic oscillators, then perhaps it is the >thing. There must be many models of truck behaviour out there: why not >start with one of those? > >illywhacker; >
Thanks illywhacker (Illy?! Ilya?!) We're analysing real data but are unsure of the source, so we can't build a proper model unfortunately. There are only a few assumptions we can make about the truck and its chassis. (Am I being vague again?) John
> We're analysing real data but are unsure of the source,
Coherence function might be usefull. Typical book is: Bendat, Piersol "Engineering Applications of Correlation and Spectral Analysis" Wiley 1993 http://www.amazon.com/Engineering-Applications-Correlation-Spectral-Analysis/dp/0471570559/ref=sr_1_fkmr0_1?ie=UTF8&qid=1275660095&sr=8-1-fkmr0 MfG JRD
On Jun 4, 2:30&#4294967295;pm, "FatScouser" <john.hague@n_o_s_p_a_m.truebit.co.uk>
wrote:
> >On Jun 4, 1:32=A0pm, "FatScouser" <john.hague@n_o_s_p_a_m.truebit.co.uk> > >wrote: > > >> We have some truck suspension, ride-height, and other chassis data > (0-20 > >> Hz) from which we need to extract frequency spectrum information. > That's > >> the problem. > > >> Rather than using FFT, which doesn't seem to handle the very few numbers > = > >of > >> wavelengths due to all the damping going on, I'm looking at the harminv > >> module developed by Prof. Steven G. Johnson (who posts on this forum). > Th= > >at > >> module assumes the signal is composed of a finite number of decaying > >> sinusoids - which sounds like it should fit our purposes, but am not > 100% > >> sure, so any confidence from you experts would be great!!! > > >Dear John, > > >With all due respect, what you want frequency spectrum information > >*for*? Surely it is not of interest in itself. > > >I do not know the harminv package, but if you are basically dealing > >with superimposed damped harmonic oscillators, then perhaps it is the > >thing. There must be many models of truck behaviour out there: why not > >start with one of those? > > >illywhacker; > > Thanks illywhacker (Illy?! Ilya?!) > > We're analysing real data but are unsure of the source, so we can't build a > proper model unfortunately. There are only a few assumptions we can make > about the truck and its chassis. (Am I being vague again?)
Yes - I am afraid you are. What do you hope to learn from the data about the truck(s)? illywhacker;