Spectrum analysis (FFT) of partial waves / scilab

  • Follow


Hi,

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...

If I pass in sustained signals comprising multiple wavelengths, e.g. from
music (which I think is what SigView is tailored more towards anyway), the
FFT works as expected: nice clean spikes at definite frequencies.

But if I pass in a noisier waveform consisting of only partial waveforms
(i.e. few component waves sustained for longer than 1 wavelength), the
frequency amplitude response figures are much less clear.

I'm thinking that the FFT function fundamentally is not the best method for
our data. It may work well for sustained signals such as music notes, but
not for the quickly-changing signals such as ours? FYI our data is in the 1
- 20 Hz range.

I've heard of the Maximum Entropy (all poles) method, but SigView doesn't
support that. Does anyone know whether I should be looking into
alternatives to FFT?

If FFT is the only way to go, however, perhaps there are other settings -
e.g. windowing parameters - I could use? 

I am about to download and try SciLab - but don't know whether that offers
additional methods to FFT...

Many thanks in advance for any help with this!

John
0
Reply FatScouser 6/2/2010 4:46:22 PM

Hi John,

Just check with my FFT Spectrum Analyzer for the MS Windows platform using 
the free evaluation version...

http://www.hpw-works.com

Best regards

Hanspeter Widmer

?


0
Reply HpW 6/2/2010 7:56:40 PM


On 2 juin, 18:46, "FatScouser" <john.hague@n_o_s_p_a_m.truebit.co.uk>
wrote:
> Hi,
>
> 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...
>
> If I pass in sustained signals comprising multiple wavelengths, e.g. from
> music (which I think is what SigView is tailored more towards anyway), the
> FFT works as expected: nice clean spikes at definite frequencies.
>
> But if I pass in a noisier waveform consisting of only partial waveforms
> (i.e. few component waves sustained for longer than 1 wavelength), the
> frequency amplitude response figures are much less clear.
>
> I'm thinking that the FFT function fundamentally is not the best method for
> our data. It may work well for sustained signals such as music notes, but
> not for the quickly-changing signals such as ours? FYI our data is in the 1
> - 20 Hz range.
>
> I've heard of the Maximum Entropy (all poles) method, but SigView doesn't
> support that. Does anyone know whether I should be looking into
> alternatives to FFT?
>
> If FFT is the only way to go, however, perhaps there are other settings -
> e.g. windowing parameters - I could use?
>
> I am about to download and try SciLab - but don't know whether that offers
> additional methods to FFT...
>
> Many thanks in advance for any help with this!
>
> John

You may have a case more suited to harmonic inversion methods.
Or spectral estimation.

For the former, look at http://ab-initio.mit.edu/wiki/index.php/Harminv,
for the later, a good book on DSP, oppenheim & schafer or proakis &
manolakis.
0
Reply Zorg 6/2/2010 8:05:22 PM

On 6/2/2010 12:46 PM, FatScouser wrote:
> Hi,
>
> Could someone recommend the best spectrum analysis software package - or
> method - for dealing with signals having only partial waves?

   ...

What is a partial wave?

Jerry
-- 
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
0
Reply Jerry 6/2/2010 9:20:42 PM

On 6/2/2010 2:20 PM, Jerry Avins wrote:
> On 6/2/2010 12:46 PM, FatScouser wrote:
>> Hi,
>>
>> Could someone recommend the best spectrum analysis software package - or
>> method - for dealing with signals having only partial waves?
>
> ...
>
> What is a partial wave?
>
> Jerry

This is my first thought:

http://www.youtube.com/watch?v=-TpW8xa0A-w

then maybe this:

http://www.youtube.com/watch?v=o2ZICNCxR8w

past that I'm not sure.

-- 
Eric Jacobsen
Minister of Algorithms
Abineau Communications
http://www.abineau.com
0
Reply Eric 6/2/2010 9:54:53 PM

>On 6/2/2010 12:46 PM, FatScouser wrote:
>> Hi,
>>
>> Could someone recommend the best spectrum analysis software package -
or
>> method - for dealing with signals having only partial waves?
>
>   ...
>
>What is a partial wave?
>
>Jerry
>-- 
>Engineering is the art of making what you want from things you can get.
>�����������������������������������������������������������������������
>

Hi Jerry,

Yeah - am maybe being contradictory there... To give an example:

If you use SigView (with its default settings, i.e. no windows, zero
padding, or averaging) to analyse a periodic sine with 4 wavelengths, say,
you get a nice spike in the spectrum at expected frequency.

But if you feed in a 'partial' sine wave, i.e. non-periodic 1 wavelength or
less, said spike doesn't show.

I guess attempting to fourier transform - which assumes periodicity - is
like trying to push a square peg through a round hole, so I shouldn't be
surprised. I just don't know at this stage the correct method to use.

Cheers, John
0
Reply FatScouser 6/3/2010 8:26:51 AM

>On 6/2/2010 2:20 PM, Jerry Avins wrote:
>> On 6/2/2010 12:46 PM, FatScouser wrote:
>>> Hi,
>>>
>>> Could someone recommend the best spectrum analysis software package -
or
>>> method - for dealing with signals having only partial waves?
>>
>> ...
>>
>> What is a partial wave?
>>
>> Jerry
>
>This is my first thought:
>
>http://www.youtube.com/watch?v=-TpW8xa0A-w
>
>then maybe this:
>
>http://www.youtube.com/watch?v=o2ZICNCxR8w
>
>past that I'm not sure.
>
>-- 
>Eric Jacobsen
>Minister of Algorithms
>Abineau Communications
>http://www.abineau.com
>

Very droll .. ;o)))
0
Reply FatScouser 6/3/2010 8:35:38 AM

On Jun 3, 10:26=A0am, "FatScouser"
<john.hague@n_o_s_p_a_m.truebit.co.uk> wrote:
> If you use SigView (with its default settings, i.e. no windows, zero
> padding, or averaging) to analyse a periodic sine with 4 wavelengths, say=
,
> you get a nice spike in the spectrum at expected frequency.
>
> But if you feed in a 'partial' sine wave, i.e. non-periodic 1 wavelength =
or
> less, said spike doesn't show.
>
> I guess attempting to fourier transform - which assumes periodicity - is
> like trying to push a square peg through a round hole, so I shouldn't be
> surprised. I just don't know at this stage the correct method to use.

The method depends on the goal.

'Frequency content' is *defined* by the Fourier transform. If you send
in one wavelength of a sine wave in signal of total length more than
one wavelength, then the frequency content is not just that of the
sine wave from which you 'cut' the wavelength. The 'cutting' process
itself introduces an infinite number of other frequencies.

Equally, if you feed in less than one wavelenght of a sine wave, then
you implicitly have a jump at the boundary due to lack of periodicity,
and again you are introducing an infinite number of other frequencies.

If you wish to define 'frequency content' differently, you can do so,
and then analyse your signals appropriately. But this definition is up
to you, and doubtless depends on your ultimate goal, i.e. the
application, which you have not described. It may be connected to
prior information about some 'total' signal of which you possess
knowledge of only a part, or it may simply be a definition of your
choice.

illywhacker;
0
Reply illywhacker 6/3/2010 10:08:55 AM

Dnia 03-06-2010 o 10:26:51 FatScouser  =

<john.hague@n_o_s_p_a_m.truebit.co.uk> napisa=C5=82(a):

(...)
> I guess attempting to fourier transform - which assumes periodicity
(...)

There is no such assumption.
This transform is decomposition within periodic signals.
Maybe other transforms would fit to what you expect.

> I just don't know at this stage the correct method to use.

Are you looking for periodic component in energy signal
(finite time and amplitude - relatively short and strange shaped impulse=
  =

:))?
Hmm, why?
Their's spectrum is infinite which means energy is smashed to all  =

frequencies
because of discontinuity in time.
So you will find no spikes
but smooth fields.

The ultimate question is
do you know what are you looking for?


-- =

Mikolaj
0
Reply Mikolaj 6/3/2010 10:25:56 AM

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

0
Reply Clay 6/3/2010 1:40:33 PM

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 =3D sample rate/N, and this is also your effective 'bin width').
The inverse of the bin spacing is your sampling interval =96 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 =85. on
Thursdays).

Perhaps if your signal is indeed a sinusoid, and you have little
noise, you can square it (r[n] =3D 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
0
Reply kevin 6/4/2010 4:43:30 AM

>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...
0
Reply FatScouser 6/4/2010 9:44:28 AM

On Jun 4, 11:44=A0am, "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;
0
Reply illywhacker 6/4/2010 9:57:14 AM

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
0
Reply FatScouser 6/4/2010 11:32:45 AM

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;
0
Reply illywhacker 6/4/2010 12:08:05 PM

>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
0
Reply FatScouser 6/4/2010 12:30:41 PM

> 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
0
Reply Rafael 6/4/2010 2:03:12 PM

On Jun 4, 2:30=A0pm, "FatScouser" <john.hague@n_o_s_p_a_m.truebit.co.uk>
wrote:
> >On Jun 4, 1:32=3DA0pm, "FatScouser" <john.hague@n_o_s_p_a_m.truebit.co.u=
k>
> >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 numbe=
rs
> =3D
> >of
> >> wavelengths due to all the damping going on, I'm looking at the harmin=
v
> >> module developed by Prof. Steven G. Johnson (who posts on this forum).
> Th=3D
> >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;
0
Reply illywhacker 6/4/2010 3:33:42 PM

17 Replies
503 Views

(page loaded in 0.134 seconds)

Similiar Articles:


















7/28/2012 6:32:54 PM


Reply: