software:qview:qview_6:qcl_library:vc21lpfilter

VC21LPFilter

V = Variabili

C = Funzioni di Calcolo

La funzione VC21LPFilter implementa un filtro digitale passa basso del primo ordine per valori compresi nel range da -999999 a +999999. E' prevista anche l'opzione di precarica del filtro.

VC20LPFilter (Mode, Tsample, Tau, FilterIn, FilterOut)

Parametri:

IN/OUTTIPO VARIABILENOME DI ESEMPIODIM
INCONST / GLOBALModeFModo di funzionamento (0=precarica, 1=esecuzione filtro).
INCONST / SYSTEMTsampleWTempo di campionamento filtro (msec) [0÷32767].
INCONST / SYSTEMTauWCostante di tempo del filtro(ms)
[0÷32767]
INGLOBALFilterInLValore della variabile da filtrare
[-999999÷999999]
OUTGLOBALFilterOutLValore della variabile filtrata
[-999999÷999999]

La funzione VC21LPFilter implementa un filtro passa basso digitale del primo ordine la cui costante di tempo (Tau) è definita nei parametri passati alla funzione stesso. Supponendo di partire da un valore della variabile di ingresso pari a zero, l'uscita del filtro assume un valore pari al 63% dell'ingresso dopo il tempo Tau. Allo stesso modo la frequenza di taglio del filtro è . L'argomento Mode se vale zero permette di precaricare il filtro ad un valore impostabile con l'argomento FilterIn.

Esempio

;---------------------------------------------
; Project           : REG_012
; Module Name  : ReadTemp
; Author            : 
; Description     : Read temperature & filter
;---------------------------------------------
MAIN:
	CALL ReadTemp
	swTsample = 100		;100 ms tempo campionamento filtro
        swTau = 5000		;5 sec costante di tempo filtro
        gfMode = 1		; normale esecuzione
	VC21LPFilter (gfMode,swTsample, swTau, gwFilterIn, gwFilterOut)
 
        WAIT 1
    	JUMP MAIN

Note

  • La funzione contiene all'interno un timer per eseguire effettivamente il filtro ogni Tempo di campionamento (Tsample). La funzione deve essere quindi eseguita ad una frequenza superiore rispetto al Tempo di campionamento (Tsample), in genere ad ogni ciclo task.
  • Ultima modifica: 2019/08/29 17:01