sorry for bothering you with this question today. I am trying to analyze wave data that was produced using a wave tank. The period used for the waves is 1.7s, the waves encountered an obstacle at some point and then reflections are expected.

I plotted one of the sensors that are a wave gauge system. And I obtained the next plot:

Imaage of wave amplitude vs time

The x is the time in seconds and the y the wave height in mm. After this I use the code:

ListLinePlot[Abs[Fourier[datcy]], PlotRange -> All]

And then I get the Fourier transform and I also plot just the data:

Fourier transform of the data data plotted

I know the plot is reflected and that is why I have a double one, but what I don't get in wolfram or maybe on signal analysis is how I get a power spectrum that is negative after this:

Periodogram[datcy[[All, 2]], Frame -> True, 

GridLinesStyle -> Directive[Red, Dashed], PlotRange -> All]

Power spectrum

It's on DB?, if that is true then technically there are no negative values and I should interpret as a -150 DB?. I am a bit lost here. Also, have a bit of doubt about why the amplitude of the Fourier plot doest not relate to the amplitude of my wave?.


1 Answer 1


The periodogram plots the magnitude of the Fourier transform. The default magnitude scaling is decibels, defined in this function as $10\cdot\rm{log}_{10}|y|^2$. We can clearly see that your Fourier transform is less than 1 for a big part of the x-axis. A number that is less than 1 has a logarithm that is negative, hence the negative values.

  • $\begingroup$ Thank you very much! now I can relate to the stuff I am plotting. $\endgroup$ Commented Aug 16, 2019 at 17:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.