05 Hol vannak a fekete lyukak?

A ../data/black_hole.npy binárisan tárolt file-ban a LIGO detektor legfrissebb mérési adatai találhatóak. Az adatsort a detektor 44100 Hz-es mintavételezési frekvenciával vette fel.

  • Ábrázold az adatsor jelalakját !
  • Határozd meg a jel Fourier-spektrumának legnagyobb és legkissebb frekvenciáját.
  • A jel spektrogramjának segítségével becsüld meg a detektált fekete lyuk(ak) koordinátáit.

Megoldások

Először betöltjük a szükséges csomagokat

In [1]:
%pylab inline
from scipy.signal import spectrogram
Populating the interactive namespace from numpy and matplotlib

Majd beolvassuk az adatokat, és legyártjuk az idő tömböt, ami a mintavételezési időket tartalmazza. Ezekkel ábrázoljuk a jelet.

In [2]:
adatok = load("../data/black_hole.npy")
t = linspace(0, len(adatok)/44100, len(adatok))
plot(t, adatok)
xlabel("idö", size=12)
ylabel("Jelerösség", size=12)
title("Az adatfájl adatai", size=18, y=1.05)
Out[2]:
<matplotlib.text.Text at 0x7f3f6897c748>

Ezután, legyártjuk a jel spektrumát, és ezt is ábrázoljuk:

In [3]:
ujfreq,ujt,ujadatok=spectrogram(adatok,44100)
In [4]:
pcolor(ujt,ujfreq,ujadatok)
xlabel("Idö [s]", size=12)
ylabel("Frekvencia [Hz]", size=12)
title("A spektrumban lévö frekvenciák\naz idö függvényében", size=18, y=1.05)
colorbar()
Out[4]:
<matplotlib.colorbar.Colorbar at 0x7f3f67f9c320>

A jel alapján, ahol ténylegesen jelenvan egy frekvencia, ott az intenzitás 2000 körüli, míg a többi helyen 400 alatti. Ha a kritikus határt 1000-nél rögzítjük, ez alapján meg lehet vizsgálni, hogy a mintavétel során mely frekvenciák érik el a kritikus szintet. Ezek közül keressük a legkisebbet és a legnagyobbat:

In [5]:
jelenvan = []
for i in range(len(ujadatok[:,0])):
    if max(ujadatok[i,:]) > 1000:
        jelenvan += [ujfreq[i]]
print("A jel spektrumában jelenlévő legkisebb fekvencia {} Hz, a legnagyobb {} Hz".format(min(jelenvan), max(jelenvan)))
A jel spektrumában jelenlévő legkisebb fekvencia 5167.96875 Hz, a legnagyobb 19638.28125 Hz

A jel spektrumának részletes vizsgálatával pedig azt is megállapíthatjuk, hogy a feketelyukak a spájzban vannak.