Extras din proiect
Filtru numeric derivativ
A. Calcularea filtrului numeric
Ecuaţia filtrului numeric este o ecuaţie diferenţială de aproximare prin derivare:
Coeficientii a, b, c se exprimă nu numai în functie de parametrii filtrului (perioada
proprie F0 si coeficientul de amortizare m) ci si în functie de perioada de esantionare Te:
luând .
Pentru un exemplu de aplicatie (f0=50 Hz, m=0,10 si F0=500 Hz) valorile
coeficiennilor filtrului numeric sunt:
a= -0,65770;
b= 1,39805;
c= 0,25965.
B. Realizarea programului
Pentru a realiza filtrul numeric se alege o structură de calcul repetitiv de tipul For
Loop cu registre de decalare (Shift Register) care permit să se memoreze valorile
precedente. Memorarea a 2 valori precedente se realizează cu ajutorul unui registru de decalare cu 2 elemente.
Diagrama bloc aferenta instrumentului virtual este prezentata in figura urmatoare:
Fig.1: Diagrama bloc aferenta instrumentului virtual
In Fig.1 apare programul de calcul pentru răspunsul la impuls al unui filtru
numeric care simulează un filtru analogic de ordinul 2 aproximat prin derivare.
Valorile initiale ale registrelor sunt nule; frecventa proprie este 20 Hz, iar perioada de esantionare de 2 ms.
Semnalul de intrare (impuls la t=0) este format cu ajutorul unui registru de decalare initializat la 1 si care furnizează un impuls cu amplitudinea 1.
Operatiile din structura repetitivă reproduc ecuatia diferentială a filtrului cu
coeficientii calculati anterior. Pasul de trasare grafică este egal perioadei de esantionare
(2ms) pentru a avea un afisaj exprimat în ms si astfel comparabil curbei trasate pentru
filtrul analogic.
Pentru a reprezenta semnalul analogic si a obtine forma dorita se realieaza o scalare a semnalului ultilizand functia Bundle. Aceasta functie face o scalare a fiecarui element in functie de valoarea elementului maxim din array.
In figura de mai jos se poate observa Panoul de Control al instrumentului virtual
Fig.2: Panoul de control al instrumentului virtual
Ca si elemente principale pentru Panoul de Control avem un graf pentru afisarea semnalului filtrat. Output-ul din partea superioara reprezinta matricea rezultata in urma aplicarii ecuatiei diferentiale de aproximare prin derivare in 40 de puncte (echivaland cele 40 de iteratii ale buclei For) si trei indicatoare pentru afisarea dimensiunii matricii, a elementului minim, respectiv a maximului.
Din Waveform Graph (Filtered Signal) se observa ca semnalul generat prezinta o reglare rapida, dupa un scurt timp disparand oscilatiile si semnalul se stabilizandu-se la valoarea 0.
Preview document
Conținut arhivă zip
- Filtru Numeric Derivativ.docx
- filtru.vi