Un'operazione che può risultare utile lavorando con dei segnali digitali è contare il numero di cambi di stato da 0 a 1 e da 1 a 0.
Si consideri un segnale digitale, come primo passaggio è necessario
- creare un segnale virtuale che rappresenti lo stesso segnale sfasato di un'unità, per fare riferimento al valore precedente
Il segnale virtuale va creato utilizzando la formula
- kf(ago(x0),2)
E' quindi possibile
- creare un segnale virtuale che filtri il segnale originale, restituendo solo i cambi di stato
Importando i due segnali come variabili nel virtuale avremo il segnale originale come x0 e il segnale sfasato come y0, la formula per isolare i cambi di stato è
- x0+y0==1 ? 1 : undefined
Per concludere
- impostare il segnale come contatore differenziale in quanto i valori ricevuti di volta in volta rappresentano gli incrementi e non il totale accumulato
Per visualizzare il numero di cambi di stato giornalieri è sufficiente impostare la granularità giornaliera sul segnale.
Se si vuole invece considerare solo il numero di cambi di stato da 0 a 1, ovvero le accensioni, procedere allo stesso modo, utilizzando nel segnale virtuale finale la formula
- x0+y0==1 and x0>y0 ? 1 : undefined
Allo stesso modo per considerare solo gli spegnimenti, ovvero i passaggi da 1 a 0, la formula sarà
- x0+y0==1 and x0<y0 ? 1 : undefined
0 Commenti