software:qview:qview_6:qcl_library:vc10lpfilter

VC10LPFilter

V = Variabili

C = Funzioni di Calcolo

La funzione VC10LPFilter implementa un filtro digitale passa basso del primo ordine (per la precisione un filtro RC) per dati di dimensione WORD.

VC10LPFilter (Tsample, Tau, FilterIn, FilterOut)

Parametri:

IN/OUTTIPO VARIABILENOME DI ESEMPIODIM
INSYSTEMswTsampleWTempo di campionamento filtro (msec) [0÷32767].
INSYSTEMswTauWCostante di tempo del filtro(ms)
[0÷32767]
INGLOBALgwFilterInWValore della variabile da filtrare(UM)
[-32768÷32767]
OUTGLOBALgwFilterOutWValore della variabile filtrata (UM)
[-32768÷32767]

La funzione VC10LPFilter 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 è

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
	VC10LPFilter (swTsample, swTau, gwFilterIn, gwFilterOut)
 
WAIT 1
JUMP MAIN

Note

  • La funzione contiene un timer che scandisce il tempo di campionamento del filtro. E' importante quindi che la funzione venga posto del software che viene eseguito ad ogni ciclo task.
  • Ultima modifica: 2019/08/29 17:01