Oscilloscopio CSV

Da Andreabont's Wiki.

Il seguente articolo è basato sull'output CSV dell'oscilloscopio Siglent SDS1102CNL.

Esempio file CSV

Il file CSV esportato è composto da una parte iniziale riguardante le informazioni generali dei dati campionati, seguiti dai dati stessi. Per elaborarlo ricordarsi di eliminare la parte iniziale non relativa ai campioni.

Record Length,20480,,Source,CH1
Sample Interval,CH1:0.0000000100000,,Second,Volt
Vertical Units,CH1:V,,-0.00009780000,-0.36000,
Vertical Scale,CH1:1.00,,-0.00009779000,-0.36000,
Vertical Offset,CH1:-1.28000,,-0.00009778000,-0.32000,
Horizontal Units,s,,-0.00009776999,-0.36000,
Horizontal Scale,0.0000010000,,-0.00009776000,-0.36000,
Model Number,SDS1102CML,,-0.00009775000,-0.36000,
Serial Number,SDS00002141246,,-0.00009774000,-0.36000,
Software Version,5.01.02.22,,-0.00009773000,-0.36000,
,,,-0.00009771999,-0.36000,
,,,-0.00009771000,-0.36000,
,,,-0.00009770000,-0.40000,
,,,-0.00009769000,-0.40000,
,,,-0.00009768000,-0.36000,
,,,-0.00009767000,-0.36000,

Offset sulla tensione

Nella parte delle informazioni sul campionamento troviamo l'offset della tensione, che è il terzo valore della linea Vertical Offset nel nostro caso è -0.32000. Questo valore va sommato ai campioni di tensione per normalizzarli.

Disegnare il grafico con scilab

  • Carica i dati del CSV (dopo aver tolto la parte iniziale)
dati = csvRead('file.csv');
  • Estrai i dati relativi al tempo:
tempo = dati(:,4);
  • Estrai i dati relativi alla tensione, e normalizzali applicando l'offset:
tensione = dati(:,5);
tensione = tensione + 0.32;
  • Disegna il grafico dela tensione rispetto al tempo:
plot(tempo,tensione);