software:qview:qview_6:qcl_library:vc21lpfilter

no way to compare when less than two revisions

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.


software:qview:qview_6:qcl_library:vc21lpfilter [2019/08/29 17:01] (versione attuale) – creata - modifica esterna 127.0.0.1
Linea 1: Linea 1:
 +====== 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.
 +
 +===== IMPLEMENTAZIONE =====
 +
 +**VC20LPFilter (Mode, Tsample, Tau, FilterIn, FilterOut)**
 +
 +Parametri:
 +
 +^IN/OUT^TIPO VARIABILE^NOME DI ESEMPIO^DIM^^
 +|IN|CONST / GLOBAL|Mode|F|Modo di funzionamento (0=precarica, 1=esecuzione filtro).|
 +|IN|CONST / SYSTEM|Tsample|W|Tempo di campionamento filtro (msec) [0÷32767].|
 +|IN|CONST / SYSTEM|Tau|W|Costante di tempo del filtro(ms) \\ [0÷32767]|
 +|IN|GLOBAL|FilterIn|L|Valore della variabile da filtrare \\ [-999999÷999999]|
 +|OUT|GLOBAL|FilterOut|L|Valore della variabile filtrata  \\ [-999999÷999999]|
 +
 +==== Descrizione ====
 +
 +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 è {{:software:qview:qview 5:funzioni_qcl:vc21lpfilter:vc21lpfilter_01.png?nolink120|}}. L'argomento Mode se vale zero permette di precaricare il filtro ad un valore impostabile con l'argomento FilterIn. 
 +
 +{{:software:qview:qview 5:funzioni_qcl:vc21lpfilter:vc21lpfilter_02.png?nolink400|}}
 +
 +=== Esempio ===
 +
 +<code QCL>
 +;---------------------------------------------
 +; 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
 +</code>
 +
 +=== 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