Decimate signal that contains NANs

5 次查看(过去 30 天)
Sina Salehi
Sina Salehi 2019-12-28
Hi
How could I decimate signal that contains NAN values?

回答(3 个)

Ajay Pattassery
Ajay Pattassery 2019-12-31
I understand you want to decimate signals that contain NaN.
I assume you would like to decimate a signal by a factor r if it contains NaN values.
I have removed the NaN values from the signal and then decimate it as follows.
x is assumed as the signal.
positionNaN = isnan(x);
x(positionNaN) = [];
y = decimate(x,r) ;
Here positionNaN is a logical array of the same size as x containing 1 whenever a NaN value is present otherwise zero.

Sina Salehi
Sina Salehi 2020-1-1
Hi Ajay
My signal is time seriese and I need to keep the position of each values including NANs. So I can not easily removing NANs.
Thanks,
  1 个评论
Ajay Pattassery
Ajay Pattassery 2020-1-2
You could make the signal zero whenever NaN appears. There by keeping the position.
x(positionNaN) = 0;

请先登录,再进行评论。


Sina Salehi
Sina Salehi 2020-1-10
编辑:Sina Salehi 2020-1-10
Can't replace NAN data with any arbitary values. They have to be NAN after decimate either.

标签

Community Treasure Hunt

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

Start Hunting!

Translated by