欢迎光临
我们一直在努力

用gwpy绘制引力波时频图

文章目录

    • 时频图
    • spectrogram

时频图

一般来说,针对某一物理过程,探测器往往在时域上进行采样,获取数据之后,通过Fourier变换等方法,可将其转换到频域上。这里存在一个问题,即必须假设这种变换关系是不随时间变化的,比如正弦函数

sin

ω

t

\\sin\\omega t

sinωt,其角频率一直是

ω

\\omega

ω,而对于类似

sin

ω

t

t

\\sin\\omega_t t

sinωtt这样频率随时间变化的函数,传统的频域分析就会失效,此时会自然地产生一个新的需求,能否在特定时刻

t

t

t附近,得到信号在普通频率上的分布,由此得到的图像就是时频图。

为了得到时频图,需要进行短时Fourier变换(STFT),

h

~

(

t

k

,

f

m

)

=

+

h

(

τ

)

w

(

τ

t

k

)

e

2

π

i

f

m

τ

d

τ

\\tilde h(t_k, f_m)=\\int^{+\\infty}_{-\\infty}h(\\tau)w(\\tau-t_k)e^{-2\\pi if_m\\tau}\\mathrm d\\tau

h~(tk,fm)=+h(τ)w(τtk)e2πifmτdτ

式中,

t

k

t_k

tk是第

k

k

k个时间窗中心,其他部分和传统Fourier变换几乎一致。其离散形式为

h

~

(

t

k

,

f

m

)

=

n

=

0

M

1

h

[

n

+

k

L

]

w

[

n

]

e

2

π

i

m

n

/

M

\\tilde h(t_k, f_m)=\\sum^{M-1}_{n=0}h[n+kL]w[n]e^{-2\\pi imn/M}

h~(tk,fm)=n=0M1h[n+kL]w[n]e2πimn/M

式中,

M

,

L

M,L

M,L为每段的样本数和时间步长,

h

~

\\tilde h

h~的功率谱为

P

(

t

k

,

f

m

)

=

2

f

s

S

2

1

T

h

~

(

t

k

,

f

m

)

2

P(t_k, f_m)=\\frac{2}{f_sS_2}\\frac{1}{T}\\vert\\tilde{h}(t_k, f_m)\\vert^2

P(tk,fm)=fsS22T1h~(tk,fm)2

式中

  • P

    (

    t

    ,

    f

    )

    P(t,f)

    P(t,f)为功率谱密度,单位

    strain

    2

    /

    H

    z

    \\operatorname{strain}^2/Hz

    strain2/Hz

  • h

    ~

    (

    t

    k

    ,

    f

    m

    )

    \\tilde{h}(t_k, f_m)

    h~(tk,fm)为第

    k

    k

    k个时间窗的Fourier变换

  • T

    T

    T为窗时长,对应函数中的【fftlength】

  • S

    2

    S_2

    S2为窗函数归一化因子

spectrogram

【spectrogram】是gwpy中用于计算时频图的函数,其主要参数包括

  • stride 为时间步长
  • fftLength 为每段FFT时长
  • overlap 为相邻窗重叠时长 (秒),通常 = fftlength/2

from gwpy.timeseries import TimeSeries
# hdata = TimeSeries.get("H1", 1126259446, 1126259478) # 获取GW150914
hdata = TimeSeries.read("gw150914.hdf5")

spec = hdata.spectrogram(2, fftlength=1, overlap=.5) ** (1/2.)
plot = spec.imshow(norm="log", vmin=5e-24, vmax=1e-19)
ax = plot.gca()
ax.set_yscale("log")
ax.set_ylim(10, 2000)
ax.colorbar(label=r"Gravitational-wave amplitude [strain/$\\sqrt{\\mathrm{Hz}}$]")
plot.show()

绘图结果为

在这里插入图片描述 此为官方示例,地址:Plotting a Spectrogram

赞(0)
未经允许不得转载:171主机测评 » 用gwpy绘制引力波时频图
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址