Forum Italiano sui Prodotti NI

cancel
Showing results for 
Search instead for 
Did you mean: 

intergare segnale su finestra temporale mobile

Solved!
Go to solution
Highlighted

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

0 Kudos
Message 1 of 6
(304 Views)

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

0 Kudos
Message 2 of 6
(270 Views)

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.

 

0 Kudos
Message 3 of 6
(257 Views)
Solution
Accepted by topic author inno95

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

0 Kudos
Message 4 of 6
(241 Views)

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.

Message 5 of 6
(236 Views)

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

0 Kudos
Message 6 of 6
(227 Views)