Decimate signal that contains NANs

4 visualizzazioni (ultimi 30 giorni)
Sina Salehi
Sina Salehi il 28 Dic 2019
Modificato: Sina Salehi il 10 Gen 2020
Hi
How could I decimate signal that contains NAN values?

Risposte (3)

Ajay Pattassery
Ajay Pattassery il 31 Dic 2019
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 il 1 Gen 2020
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 Commento
Ajay Pattassery
Ajay Pattassery il 2 Gen 2020
You could make the signal zero whenever NaN appears. There by keeping the position.
x(positionNaN) = 0;

Accedi per commentare.


Sina Salehi
Sina Salehi il 10 Gen 2020
Modificato: Sina Salehi il 10 Gen 2020
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