sqrt(2) scaling factor when converting from time space to frequency space

Post general discussions on using our drivers to write your own software here
chris.harris
Newbie
Posts: 0
Joined: Thu Nov 18, 2021 11:35 am

sqrt(2) scaling factor when converting from time space to frequency space

I'm writing a code in Python to capture data using a Picoscope 5000 series. I've been comparing the results of my code output with the output from the Picoscope software to check the accuracy, and it looks like there is a scaling factor of sqrt(2) that the signal needs to be multiplied by to get the same values. Can anyone tell me where this comes from?

In the code I've applied an FFT to the raw voltage-time data to get it into voltage vs frequency, but in order to get the same numbers as the ones in the csv files saved from Picoscope 6 I need to multiply this data set by sqrt(2) and divide by the number of points.

Gerry
PICO STAFF Posts: 1053
Joined: Mon Aug 11, 2014 11:14 am

Re: sqrt(2) scaling factor when converting from time space to frequency space

Hi Chris,

The conversion is not that straightforward. Performing an FFT is relatively trivial, but plotting the points such that they are accurately representative of the signal in the frequency domain requires quite a bit of consideration of the limitations of an FFT. You also need to be aware of what type of FFT is being plotted as we plot a Linear FFT, i.e. we apply coherent gain to the window function so that the amplitude (rather than the power) is consistent with the data before application of the FFT.

There is a brief but incomplete discussion of this here: viewtopic.php?p=142100#p142100 (which I've been meaning to get back to in order to update and correct some points), however, for an authoritative discussion on it you would need to read this document: https://holometer.fnal.gov/GH_FFT.pdf.

Regards,

Gerry
Gerry
Technical Specialist