<jupyter_start><jupyter_text>Check Questions_**What are the strongest line features in the PSD above?**_The strongest lines in the above PSD see to be at 1000 Hz and 1500 Hz, and are caused by the thermal excitations of the mirror suspensions.**_What is the most sensitive frequency band for LIGO?_**The most sensitive frequency band for LIGO would be where the Power is low and relatively devoid of noise. From the PSD, this looks to be 50-200 Hz.**_What is the ratio of noise power at 20 Hz compared with 100 Hz?_** - 419.72(code written below)<jupyter_code>pxx[int(20./(freqs[1] - freqs[0]))]/pxx[int(100./(freqs[1] - freqs[0]))]<jupyter_output><empty_output><jupyter_text>_**What are the main broad-band noise compentents at low-frequency (f300 Hz)?**_The Low frequency noise is seismic noise, and the high-frequency broadband noise is the violin modes frequency of the suspensions.  Whiten GW1509141. Download a data file that contains the data for GW150914 1. Hint: GPS 1126259462.41. Whiten and band-pass the data 1. Hint: See the Quickview tutorial: https://github.com/losc-tutorial/quickview/blob/master/index.ipynb1. Plot the whitened, band-passed time series.  Can you see the signal?<jupyter_code>strain, time, dq = readligo.loaddata('/home/aditya/Downloads/150914.hdf5')
t0 = 1126259462.43
dt = (time[1] - time[0])
fs = int(np.round(1. / (time[1] - time[0])))
max_time = 15

shifted_time = time - t0
ind = max_time * fs
cen = np.where(np.abs(shifted_time) < 1e-4)[0][0]
time_final = shifted_time[cen - ind : cen + ind]
strain_final = strain[cen - ind : cen + ind]
#time_final = time[]

hf = np.fft.rfft(strain_final)
freqs = np.fft.rfftfreq(len(strain_final),dt)
pxx , freqs_pxx = mlab.psd(strain_final, Fs=fs, NFFT=fs,window=np.blackman(fs),
                          noverlap=fs/2)
psd = interp1d(freqs_pxx, pxx)
asd = np.sqrt(psd(freqs)/2/dt)
hf_white = hf / asd
strain_white = np.fft.irfft(hf_white, n=len(strain_final))

high_freq = 600.
low_freq  = 30.
bb, ab = butter(4, [low_freq*2./fs, high_freq*2./fs], btype='band')
strain_whitebp = filtfilt(bb, ab, strain_final)

plt.plot(time_final,strain_whitebp)
#plt.plot(time_final,strain_final)
plt.xlim([-0.1,0.05])
#plt.ylim([-10,10])
plt.plot(time_final, strain_final)
np.where(np.abs(time - t0) < 1e-4)
len(np.blackman(fs))
butter(4, [low_freq*2./fs, high_freq*2./fs], btype='band')<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.13397732045359093, 'fraction_numerical': 0.05081898362032759, 'mean_word_length': 4.8525798525798525, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 9, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '544244', 'license': 'MIT', 'n_tokens_mistral': 997, 'n_tokens_neox': 886, 'n_words': 242, 'path': 'gwosc/intro.ipynb', 'repo_name': 'adivijaykumar/courses', 'size': '2381'}