Where do the 219.09 from the abs(fft(x)) come from?

Hello People,
when I have a set of a=csv-files and do a b=fft(abs(a)) and then i do c=b/a with every pair. every c is 219.09.
Can someone explain where the “219.09” come from?

If anything I expected a multiple of sqrt(2).

Is it possible to show an example of the csv file and the whole used code to load the file content and the intended calculations?

https://easyupload.io/te85v5

here is the csv-file. It is 11MB and I can only upload 8MB.

The code is:

c=dlmread("12,5Hz - ausgewaschen - Mkapsel.csv",",",[48000,1,96000,inf]);

absfft=abs(fft(c));

rms1 = (((1 / numel (c)) * (sumsq (c))) .^ 0.5);

rms2 = (((1 / numel (absfft)) * (sumsq (absfft))) .^ 0.5);

x=rms2/rms1;

To clarify my question.
“Why is x 219,09?” At least in all csv-files i have tried.

Maybe the square of 219.09… looks more familiar to you, if you remove all unnecessary scaling operations (those have no effect in the quotient):

>> format long
>> (sumsq (absfft) / sumsq (c))
ans = 48001.00000000007
>> (sumsq (absfft) / sumsq (c)) .^ 0.5
ans = 219.0913051675033

Maybe more important to ask, what computation do you wish to do? Looks like your scaling is not properly applied after performing the fft. Is there a formula you want to evaluate?

1 Like