How can I compute spectrogram for data vector containing NaN values?

6 次查看(过去 30 天)
Dear community,
I am currently working on seismic recordings and I need to compute the spectrogram. The dataset has been cleaned in advance, and thus the original vector contains small portions of NaN values (about a few seconds each with a sample rate of 100 Hz).
However, spectrogram function cannot be applied to NaN values without compromising the entire result, and applying it to not NaN values (applied to data(~isnan(data)) would provide incorrect results (spectrogram function assumes that the sample rate is homogeneous which would no longer be the case).
I do not really know how to manage this issue, and to compute a correct power spectral density for my data, if anyone has a clue...
Thank you

采纳的回答

KSSV
KSSV 2019-6-14
编辑:KSSV 2019-6-14
Multiple options:
  1. Discard NaN's
  2. Fill the NaN's using interpolation (interp1, spline)
  3. Fill the NaN's using fillmissing
  4. Fill the NaN's using fillgaps
My favourite is 4 th option.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Seismology 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by