Forum Italiano sui Prodotti NI

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

intergare segnale su finestra temporale mobile

Risolto!
Vai alla soluzione

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
Messaggio 1 di 6
3.631Visualizzazioni

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
Messaggio 2 di 6
3.597Visualizzazioni

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
Messaggio 3 di 6
3.584Visualizzazioni
Soluzione
Accettato da 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
Messaggio 4 di 6
3.568Visualizzazioni

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.

Messaggio 5 di 6
3.563Visualizzazioni

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
Messaggio 6 di 6
3.554Visualizzazioni