# Which definition of ASD is the best to compare with a detector's sensitivity curve?

Hello! I was studying a BNS simulation (without noise) and wanted to compare its ASD with the ET sensitivity curve. For the ASD, I used the sqrt of the normalized psd (NPSD) as I have seen in one of the lectures about Data Quality. Actually, I used the sqrt of:
PSD=(2/T)(FFT(h))**2.
Then, I found this definition in C. J. Moore et al. 2014:
ASD=2sqrt(f)|FFT(h)|.
Finally, I used the gwpy asd function with fftlength=None, overlap=None and method=median. I see a huge difference between these definitions, especially with the amplitude, so I am really confused and not sure which one is the best in order to compare with a sensitivity curve. I will really appreciate any comments and suggestions. Thank you!
This is the plot:

Hi Lucy:

gwpy.timeseries TimeSeries method asd should be fine.

There can be problems in the implementation of those formulas. In short, it can be caused by the definition of FFT, |data| != |FFT(data)|

Iâ€™ve come across the same bug once. If youâ€™re using FFT in some package, you need to check the definition carefully. All the package has one common thing which is IFFT( FFT( |data| ) ) = |data|. But as you can see here, the factor can be distributed into IFFT and FFT, thereâ€™s one free variable. So you need to check the norm of the FFT which is the |FFT(data)|, it should contain something like N or sqrt(N). You need to check the implementation of PSD calculation, a proper calculation should fit welch method (scipy.signal package, default is 1-sided psd) and the gwpy one pretty well, this is a good way to check.

1 Like