LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Octave analysis (Algorithm)

Solved!
Go to solution

Hi GerdW,

 

You can see here my VI i changed the parameters properties of my graph but i dont know wich property that could be more precise.

 

I will try to find a reference for my calculation

 

Thank you GerdW.

 

Best regards

0 Kudos
Message 11 of 25
(2,715 Views)

Hi virtman,

 

when I choose the lower right option from "Common plots" property for the plot in your graph then it looks quite ok. There are also a lot of pre-defined bar-plot styles…

 

What is disturbing you with your plot?

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 12 of 25
(2,708 Views)

Hi virtman,

 

Is there any particular reason why you're using the FFT method rather than the digital filter method?  The Butterworth filter that I suggest using is not part of the Sound & Vibration toolkit (I don't have that either).  You can find it on the Signal Processing - Filters palette.

 

For 1/3 octave bands, the band centre frequencies and low/high cutoff frequencies are defined as:

f_m = G ^ ((x - 30) / 3) * 1000
f_l = f_m * G ^ (-1/6)
f_h = f_m * G ^ (1/6)

where G is 10 ^ 0.3 as in my previous post.

 

Andy

 

0 Kudos
Message 13 of 25
(2,683 Views)

Hi PsyenceFact,

 

There is no particular reason why i used the FFT method but it is just i did not understand the way i should implement it

i did this VI before to make the octave analysis but i dont have the steps that i should follow using the numeric filtering pass band

 

once my signal filterd into 30 band what i should do later

 

in this VI you will find a small example where i did not use the right frequencies but i just would like to know after filtering the signal what i supposed to do ?

 

Thank you

0 Kudos
Message 14 of 25
(2,664 Views)
Solution
Accepted by topic author virtman

For each filtered version of the signal, you just need some measure of the average energy.  I usually use the RMS level because it's fairly standard in my line of work.

 

Third octave example.png

 

Andy

0 Kudos
Message 15 of 25
(2,651 Views)

Hi Andy,

 

Thank you for your help it worked for me, but i have another question

 

In fact i would like to display the g level of my acceleration signal for each band octave

 

So to do that i am calculating the fft for each band octave then i will make the sum of my FFT magnitude vector for each band too

 

my question is that how i could display the g level  is this method  would be correct ?

 

(My FFT is normalised so that it could display the g level)

 

Thank you

0 Kudos
Message 16 of 25
(2,638 Views)

A couple of points:

 

1) If you are not using any window function on your time signal before applying the FFT you are likely to have components in your spectrum due to the discontinuities at the time domain boundaries.  If you are using a window function, you need to account for its effect when calculating the energy level.  The correction is related to the noise bandwidth of the window.

 

2) When calculating the energy across a number of frequency bands, you should consider the energy sum, i.e. the sum of the squared levels.

 

You might find it easier to use the FFT Power Spectrum and PSD VI (on the palette Waveform - Analog Wfm - Measurements) rather than using the raw FFT VI.  This allows you to apply a window, handles all the results scaling and returns values in squared units.  I believe the window correction applied by theis VI is for amplitude measurement so you still need to correct further for an energy level caculation.

 

For example: if using a Hanning window divide the magnitude output from FFT Power Spectrum and PSD by 1.5, sum the frequency lines across the range of interest (they are already in squared units) then take the square root of the sum to get your band level in linear units.

 

This page: https://community.plm.automation.siemens.com/t5/Testing-Knowledge-Base/Window-Correction-Factors/ta-... contains one of the clearest explanations of window correction that I've come across.  The 1.5 value mentioned above is (amplitude correction / energy correction)^2 for a Hanning window.

 

Andy

0 Kudos
Message 17 of 25
(2,625 Views)

Hi andy,

 

I understood your points and i totally agree with those parameters, in my signal i used a rectangle window  because of my time signal is an impulsive signal so i think a rectangular is suitable for my signal.

 

Secondly. You will see in my VI that i used one code for octave band  (orange graph), and a 800 Hz band width for the second code (green graph), in the same codes i used a PSD for determining the g level but each representation display different g levels wich is logically correct but the difference between them is too big.

 

Finally.  it seems to me that my g levels that i obtained are not correct  i have 200 g on my time signal but on the octave analysis  i have 2000  and 4000 on some band ?  if its correct it means that most of my sinewaves are de-phasing  wich is a far probabily  i think.

 

So is that would be suitable for displaying the correct level using this method please ?

 

Thank you for your help

0 Kudos
Message 18 of 25
(2,604 Views)

Hello

Download All
0 Kudos
Message 19 of 25
(2,600 Views)

Hi virtman,

 

A very good point about the impulsive signal.  I forgot about the case of self-windowed signals!

 

From what I can see (although it's quite difficult to judge just looking at the images), you do have similar levels where the bands can be approximately compared.

 

The only 1/3-octave bands that have a bandwidth close to 800 Hz are bands 35 and 36 centred on 3150 and 4000 Hz (BW of 730 and 920 Hz respectively).  On the orange graph, these bands have levels of about 550 and 800.  On the green graph, the bands around these frequencies seem to be in the range 600 to 850, which seem quite close given that the bandwidths do not match.

 

Below these frequencies, the 1/3 octave bands have a bandwidth less than 800 Hz so the orange levels are lower than the green levels.  The opposite case is true above these frequencies.  For example, the 1/3-octave band centred on 20 kHz has a bandwidth of over 4.5 kHz, so it will contain about the same energy as about 5.5 of the 800 Hz bands.

 

With regards to the band levels compared to the time history, you seem to be using power spectral density (Densité spectrale de puissance).  I think a better method is to just use the power spectrum, sum the magnitude array, then take the square root.

 

Andy

0 Kudos
Message 20 of 25
(2,588 Views)