Find duration of signal

2 visualizaciones (últimos 30 días)
Marc Elmeua
Marc Elmeua el 9 de Sept. de 2020
Comentada: Xavier el 10 de Sept. de 2020
I have a set of signals that due to some unknown error have been acquired with millions of empty datapoints. Is there a way I can automatically detect the moment the signal ends so I can delete everything from that point onwards?
Thanks everyone.
  4 comentarios
Star Strider
Star Strider el 9 de Sept. de 2020
There are no actual ‘missing’ values, just a very low amplitude signal after about element 40:
T1 = readtable('sampledata.csv');
figure
semilogy(abs(T1{:,1}))
grid
producing:
That would appear to be legitimate data.
.
Xavier
Xavier el 10 de Sept. de 2020
This depends on how you define legitimate data, if you unplug a probe/sensor from an oscilloscope it will continue to display numbers and a waveform. If you're trying to measure a signal then it is fair to call recorded noise invalid data

Iniciar sesión para comentar.

Respuesta aceptada

Xavier
Xavier el 10 de Sept. de 2020
Something like this may work for you
Raw data:
data = readmatrix('sampledata.csv');
avgdat = movmean(abs(data), 5);
threshold = 0.01;
data(avgdat < threshold) = [];
plot(data)
  2 comentarios
Marc Elmeua
Marc Elmeua el 10 de Sept. de 2020
This worked perfectly!! thanks a lot.
Xavier
Xavier el 10 de Sept. de 2020
No problem!

Iniciar sesión para comentar.

Más respuestas (1)

Steven Lord
Steven Lord el 9 de Sept. de 2020
If the empty data points are represented by NaN then find the 'last' 1 element of the vector that isfinite.
x = [1:10 NaN(1, 5)]
find(isfinite(x), 1, 'last')
If the vector has no missing data inside it, you could instead just rmmissing.
rmmissing(x)
  1 comentario
Marc Elmeua
Marc Elmeua el 9 de Sept. de 2020
Thanks for the reply! The missing values aren't really missing in the matlab file. They are missing in the original data collection software but as soon as you retrieve them, they turn into zeros so this code will not work :(
I'm in touch with the developers of the software but they still haven't been able to solve this.

Iniciar sesión para comentar.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by