def multi_taper_psd(psd_generator):
"""
Calculates an MTM PSD from the signal.
Parameters:
psd_generator : see iter_mt()
Returns:
pxx : NxMxT matrix of power values at each frequency,
where T is the number of tapers
freqs : vector of size N containing frequency at each index
N
times : vector of size M containing times corresponding to
each index M
"""
pxx = []
t = []
for spectrum, time in psd_generator:
pxx.append(spectrum)
t.append(time)
pxx = np.swapaxes(np.array(pxx), 0, 1) # freq needs to be first dim
return pxx, np.array(t)
# --- Multi-taper machinery ---
评论列表
文章目录