Spectral Analysis - extracting phase

  • Software
  • Spectral Analysis - extracting phase
nick arran

Posted on 02.07.2012 15:51
I need to determine the phase shift between the fundamentals of two signals. normally I'd do it in Matlab, but the dewesoft "Spectral analysis" math functions look like they can do it inside dewesoft. BUT: I cannot get the "phase" channel to work. In Spectral Analysis \ FFT Setup, there are options for "Complex", "Amplitude" and "Phase". Selecting a source channel and "amplitude" creates a new channel "AI1/AmplFFT", selecting a source channel and "complex" also creates a new channel "AI1/CplxFFT"; selecting "phase" does nothing. What do I do to get at the phase results? Also: though I can plot the "amplitude" results in a 2D graph, how can I look at the "complex" results?
Marjan Grilj

Posted on 09.07.2012 14:26
Hello Nick, Can you contact me via mail ( support at dewesoft org ) so i can send you setup file with calculated phase shift...? Best regards, Marjan Grilj, Dewesoft support.
Petr Milichovsky

Posted on 08.09.2015 14:37

Hello, i have maybe same problem like Nick. I need to determinate phase shift between two signals from accelerometers on vibration. I have DEWE 43 A and basic Dewesoft X2. It is possible determinate with Math and FFT? And if so, how?

Thank you!

Peter

nick arran

Posted on 08.09.2015 17:17

Petr,

It can be done! You need to dig into the complex FFT and array maths functions.


For two vibration channels called vib1 and vib2:

First use the Math FFT functions to set up an FFT of each of your vibration channels selecting "complex" as the output and block history as the caluclation type, as I presume you want the variation of angle vs time. This creates two new channels Vib1/CplxFFT and Vib2/CplxFFT.

Then go into the "formula" functions and find the "complex" tab and you will find "angle". Then you can make a new signal:

AngleVector = angle(Vib1/Cplx)-angle(Vib2/Cplx);

which will be the difference in angle between each spectral line of the two ffts vs frequency ...... and varying with time. you can plot this as a spectrum or a spectrogram to see what's happening.

To get the phase at a single frequency you can use array addressing such that AngleVector(10) will be the 10th spectral line or AngleVector{10} which will be the angle at the nearest spectral line to 10Hz.


When I asked the question the functionality was available but hidden; now the complex and array math functions are there to see and use!





Michael Ramsbottom

Posted on 07.02.2016 21:25

Hello Mark an


I also want to display the phase of a signal. Kindly email the instructions for my 43a with X2 software.

.Regards mike

Michael Ramsbottom

Posted on 07.02.2016 21:27

Hello nick



I also want to display the phase of a signal. Kindly email the instructions for my 43a with X2 software.

.Regards mike

Michael Ramsbottom

Posted on 07.02.2016 21:28

I also have a 43a with X2 software and want to export amplitude and phase of a signal.

Kindly email the instructions


Many thanks

Mike


Michael Ramsbottom

Posted on 07.02.2016 21:29

I also have a 43a with X2 software and want to export amplitude and phase of a signal.

Kindly email the instructions


Many thanks

Mike


nick arran

Posted on 08.02.2016 10:55

Hi Mike,

.. the answer is actually in my post of 8th Sept 2015.

==============================================================================

For two vibration channels called vib1 and vib2:

First use the Math FFT functions to set up an FFT of each of your vibration channels selecting "complex" as the output and block history as the calculation type, as I presume you want the variation of angle vs time. This creates two new channels Vib1/CplxFFT and Vib2/CplxFFT.

Then go into the "formula" functions and find the "complex" tab and you will find "angle". Then you can make a new signal:

AngleVector = angle(Vib1/Cplx)-angle(Vib2/Cplx);

which will be the difference in angle between each spectral line of the two ffts vs frequency ...... and varying with time. you can plot this as a spectrum or a spectrogram to see what's happening.

To get the phase at a single frequency you can use array addressing such that AngleVector(10) will be the 10th spectral line or AngleVector{10} which will be the angle at the nearest spectral line to 10Hz.

==============================================================================

Our friends in Slovenia make it very easy!

I've attached an example setup file to this post .. as I've lost your mail address & phone number.

all best,
Nick


Attached files:
nick arran

Posted on 08.02.2016 10:57

PS: You only had to ask me once!!! ;¬)

Login to reply to this topic. If you don't have account yet, you can signup for free account .