in data 06-04-2019 03:39 AM
Salve,
sto cercando di implementare un algoritmo che integra in modo discrteo un segnale rispetto a una finestra mobile. Questo algoritmo che prima lavorarava con il segnale acquisito vorrei ora farlo lavorare in real time. Se però campiono in un ciclo while a ogni ciclo i dati si riscirivono e non riesco a muovere la mia finestra di integrazione in maniera continua punto a punto. Vorrei capire come fare.
Grazie
Risolto Andare alla soluzione.
in data 06-05-2019 02:32 AM
Salve,
potresti per favore allegare il codice al quale stai lavorando (e magari anche la versione precedente), o almeno un frammento (snippet) sufficientemente completo per comprenderne la struttura e suggerirti il modo migliore per risolvere il problema?
Saluti
Alessia
in data 06-05-2019 09:59 AM
Per motivi di copyright non posso. Quello che devo fare è avere sempre a disposizione 100 campioni da un segnale e analizzarli quindi spostandomi temporalmente; ad esempio [1-100] [2-101] [3-102], il problema nasce dal fatto che se campiono il segnale e ottengo 100 punti all'interazione di while successiva non riesco a muovere la mia finestra di 1 campione ma di 100 quindi analizzo [101-201]. Spero di essere stato sufficentemente esauriente.
in data 06-06-2019 03:30 AM
Salve,
ti ringrazio per la spiegazione, che in effetti è servita a chiarirmi almeno in parte la situazione. La soluzione più semplice che mi era venuta in mente era quella di acquisire a ciascuna iterazione non cento campioni, ma soltanto uno, da aggiungere ai campioni acquisiti nelle 99 iterazioni precedenti; il problema è che questa strada potrebbe non essere praticabile se la frequenza di acquisizione richiesta fosse troppo elevata.
In realtà LabVIEW (nelle versioni Full e Professional) offre una gamma di VI già pronti, pensati proprio per applicazioni come quella da te descritta: i Point By Point VIs, che sono versioni punto-punto dei normali VI di analisi, ovvero sono progettati per analizzare i dati in modo continuo un punto alla volta anziché blocchi di dati.
Segnalo anche una user guide introduttiva che, sebbene un po' datata, rappresenta un buon punto di partenza, e un paio di esempi tratti dal forum relativi al calcolo delle medie e alla gestione delle code.
Spero di esserti stata utile.
Saluti
Alessia
in data 06-06-2019 04:03 AM
Grazie dell'aiuto, la tua soluzione mi sembra ragionevole proverò a implementarla e guarderò i link che mi hai suggerito. La frequenza minima che posso usare è 10kHz, devo quindi vedere se il tempo applicato per l'analisi dei campioni non mi fa perdere troppa informazione dal segnale.
in data 06-06-2019 05:08 AM
Ciao,
se la frequenza minima che puoi usare è 10 kHz, con un tempo di ciclo pertanto inferiore al millisecondo, dovresti associare un'acquisizione bufferizzata a un'elaborazione punto-punto.
Buona giornata!
Alessia