From c7e6180ced6da0952af6544a2c1d95d89f2bbfa3 Mon Sep 17 00:00:00 2001 From: Wei Changfeng <2681968849@qq.com> Date: Fri, 25 Oct 2019 14:47:11 +0100 Subject: [PATCH] Upload New File --- snr_calculate.ipynb | 241 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 241 insertions(+) create mode 100644 snr_calculate.ipynb diff --git a/snr_calculate.ipynb b/snr_calculate.ipynb new file mode 100644 index 0000000..b374f0d --- /dev/null +++ b/snr_calculate.ipynb @@ -0,0 +1,241 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from scipy.fftpack import fft,ifft\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "#Load the data\n", + "data = np.genfromtxt('./waveforms-master-10mpc/10mpc/rescale-h_m16_L0.21_l2m2_r200.dat')\n", + "times = np.linspace(.15, .3, 1000)\n", + " \n", + "h_plus_o = np.interp(times, data[:,0], data[:,1])\n", + "h_cross_o = np.interp(times, data[:,0], data[:,2])\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#Plot the original waveform\n", + "plt.plot(times, h_plus_o)\n", + "plt.plot(times, h_cross_o)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "#Since we adjust the total mass from 100 Ms to 20 Ms, the waveform should have following changes.\n", + "time = 5*times\n", + "h_plus = 0.2*h_plus_o\n", + "h_cross = 0.2*h_cross_o" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#Plot the new waveform\n", + "plt.plot(time, h_plus)\n", + "plt.plot(time, h_cross)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "#Make fft for h_plus\n", + "fft_h_plus = fft(h_plus) \n", + "N = len(fft_h_plus)\n", + "abs_h_plus = np.abs(fft_h_plus) # 取复数的绝对值,即复数的模(双边频谱)\n", + "angle_h_plus = np.angle(fft_h_plus) #取复数的角度\n", + "normalization_h_plus = abs_h_plus/N #归一化处理(双边频谱) \n", + "normalization_half_h_plus = normalization_h_plus[range(int(N/2))] #由于对称性,只取一半区间(单边频谱)\n", + "x = np.arange(N) # 频率个数\n", + "half_x = x[range(int(N/2))] #取一半区间\n" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Single-Side Amplitude Spectrum(Normalization)')" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#Plot the frequency spectrum for h_plus\n", + "plt.plot(half_x,normalization_half_h_plus,'blue')\n", + "plt.title('Single-Side Amplitude Spectrum(Normalization)',fontsize=9,color='blue')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "#Make fft for h_cross\n", + "fft_h_cross = fft(h_cross) \n", + "M = len(fft_h_cross)\n", + "abs_h_cross = np.abs(fft_h_cross) # 取复数的绝对值,即复数的模(双边频谱)\n", + "angle_h_cross = np.angle(fft_h_cross) #取复数的角度\n", + "normalization_h_cross = abs_h_cross/N #归一化处理(双边频谱) \n", + "normalization_half_h_cross = normalization_h_cross[range(int(N/2))] #由于对称性,只取一半区间(单边频谱)\n", + "y = np.arange(M) # 频率个数\n", + "half_y = y[range(int(M/2))] #取一半区间" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "#get psd from bilby labtory\n", + "psd_data = np.genfromtxt('/home/changfeng/.local/lib/python3.6/site-packages/bilby/gw/detector/noise_curves/aLIGO_ZERO_DET_high_P_psd.txt')\n", + "f = np.linspace(9., 30., 1051)\n", + "psd = np.interp(f, psd_data[:,0], psd_data[:,1])\n", + "#print(f)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "#calculate SNR\n", + "fft_h_plus_re = np.real(fft_h_plus)[range(int(N/2))]\n", + "fft_h_plus_im = np.imag(fft_h_plus)[range(int(N/2))]\n", + "fft_h_cross_re = np.real(fft_h_cross)[range(int(N/2))]\n", + "fft_h_cross_im = np.imag(fft_h_cross)[range(int(N/2))]\n", + "\n", + "fft_h_plus_re_new = np.interp(f, half_x, fft_h_plus_re)\n", + "fft_h_plus_im_new = np.interp(f, half_x, fft_h_plus_im)\n", + "fft_h_cross_re_new = np.interp(f, half_x, fft_h_cross_re)\n", + "fft_h_cross_im_new = np.interp(f, half_x, fft_h_cross_im)\n", + "\n", + "\n", + "snr_plus = sum( fft_h_plus_re_new*fft_h_plus_im_new/psd *0.02 )\n", + "snr_cross = sum( fft_h_cross_re_new*fft_h_cross_im_new/psd *0.02 )\n", + "\n", + "snr =complex(snr_plus, snr_cross)\n", + "\n", + "snr_m = (snr.real**2 + snr.imag**2)**0.5\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.6.8" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} -- GitLab