Filtrele Analogice

Cuprins

I. Introducere în filtrarea semnalelor

I.1 O scurtă introducere

I.2 Despre filtrele analogice

I.3 Clasificare în funcție de componența constructivă a filtrelor analogice

I.4 Filtrarea digitală

I.5 Tipuri de filtre digitale

I.6 Comparație ăntre filtrele analogice și cele digitale

I.7 Concluzii

II. Introducere în limbajul de programare grafică LABVIEW

II.1. Ce reprezintă un instrument virtual

II.2 Mediul de programare LabVIEW

II.3. Instrumentația virtuală

III. Achiziția datelor în Labview

III.1. Generalitǎți privind mǎsurarea cu achiziție de date

III.2. Conversia semnalului analog în semnal digital

III.3. Reprezentarea semnalului în domeniul timp sau în domeniul frecvență

III.4. Etapele premergătoare măsurării

III.5. Alte soluții pentru măsurarea cu achiziție de date

III.6 Achiziții de date cu LabView

IV. Prezentarea tipurilor de filtre

IV.1 Filtre analogice

IV.2 Tensiunea și curentul de offset

IV.3 Tipuri de filtre

IV.4. Aproximarea de tip Butterworth

IV.5. Aproximarea de tip Cebâșev

IV.6. Aproximarea de tip Bessel

IV.7. Scurtă introducere în filtrarea digitală

IV.8. Avantaje ale filtrelor digitale comparativ cu cele analogice sunt:

IV.9. Dezavantaje, comparativ cu filtrele analogice avem:

IV.10. Filtre digitale: filtre FIR și filtre IIR

V. Principii de programare în LABVIEW

VI. Realizarea panoului frontal al instrumentlor virtuale realizate

Fig.6.2. Panoul frontal al lucrării: Reprezentarea datelor înainte și după filtrare

VII. Realizarea diagramei bloc a instrumentelor virtuale realizate

VII.1. Diagrama bloc

VII.2. Structura repetitivă cu conditie de terminare (bucla While) 68

VII.3. Funcția Simulate Signals

VII.4. Setarea parametrilor blocului ales Simulate signal (generator semnal)

VII.5. Setarea parametrilor blocului ales (Filtru)

VII.6. Setarea parametrilor blocului ales (Amplitudine si nivel de masurare)

VII.7. Setarea parametrilor celor 2 blocuri alese ( Comparatie )

VII.8. Setarea parametrilor blocului ales (Reducere esantion)

VII.9. Setarea parametrilor blocului ales (Masuratori spectrale)

VII.10. Setarea parametrilor blocurilor alese (Stocheaza fiser de masurare)

VII.11. Funcția Merge Signals

VII.12. Funcția STOP

VII.13. Execuția programului

VII.14. Diagrama propriuzisă

VII.15. Fluxul de date

Fig.7.16. Diagrama bloc a instrumentului virtual creat

Bibliografie

I. Introducere în filtrarea semnalelor

I.1 O scurtă introducere

Printre dispozitivele de bază folosite în electronică, filtrele ocupă un loc privilegiat, datorită frecventei lor utilizări. Nu există nici un echipament electronic a cărui structură să nu conțină cel puțin un filtru. Teoria filtrelor analogice a fost elaborată la începutul secolului XX

Dezvoltarea acestei teorii a fost stimulată de necesități practice. Una dintre acestea, poate cea mai importantă, a fost problema transmiterii informației pe canale afectate de zgomot. Există două tipuri de soluție pentru această problemă:

-creșterea imunității la perturbații a semnalului emis prin codarea canalului

-îmbunătățirea raportului semnal pe zgomot, (RSZ), prin filtrarea semnalului

recepționat.

Printre matematicienii care au adus cele mai de seamă contribuții la rezolvarea acestei probleme prin filtrare se numără și profesorul Norbert Wiener.

Modificarea relativă a amplitudinilor componentelor armonice ale unui semnal

periodic sau chiar eliminarea sau selectarea anumitor componente armonice reprezintă

o operație de filtrare. Modificarea densității spectrale a unui semnal aperiodic, în sensul

sau defavorizării unor segmente spectrale reprezintă de asemenea o operație de filtrare.

Filtrarea reprezintă modificarea relativă a amplitudinilor componentelor armonice ale unui semnal periodic sau chiar eliminarea sau selectarea anumitor componente

armonice,modificarea densității spectrale a unui semnal aperiodic, în sensul favorizării sau defavorizarii unor segmente spectrale.

Inginerul român Augustin Maior a observat ca pe un circuit telefonic s-ar putea transmite mai multe convorbiri simultan. Pentru aceasta a transferat spectrul vocal al unei convorbiri într-o bandă de frecvență, distinctă de altă convorbire, prin modulare.

La recepție separarea convorbirilor se realizează printr-o operație de atenuare a tuturor componentelor spectrale cu excepția unei benzi, în care a fost plasată convorbirea. În acest mod, prin filtrare, se separă convorbirile ce au fost amestecate.

Fig1.1 Augustin Maior născut la Reghin 1882 fondatorul telefoniei multiple

Teoria filtrelor electrice constituie unul dintre cele mai importante domenii de aplicație a teoriei cuadripolului .

Filtrul electric reprezintă un cuadripol pasiv , a cărui constantă de atenuare este mică sau nulă dacă filtrul se consideră fără pierderi :

-în anumite intervale de frecvență , numite intervale de trecere, sau benzi de trecere ;

-în celelalte intervale de frecvență , numite intervale de eliminare sau benzi de oprire , constanta de atenuare este foarte mare.

Filtrele electrice sunt formate din una sau mai multe celule , numite și secțiuni de filtrare, conectate în lanț. Acestea reprezintă , în general, structuri cuadripolare în Γ , în T, în Π, în punte sau altele.

I.2 Despre filtrele analogice

Un filtru analogic poate fi privit ca un cuadrupol (două borne de intrare și două de ieșire) alcătuit din diferite elemente de circuit, care are un comportament diferit față de semnalele cu diferite frecvențe. Când spunem comportament, diferit ne referim la modul în care filtrul acționează asupra mărimii (amplitudinii) semnalelor cu diferite frecvențe, sau asupra mărimii (amplitudinii) componentelor din spectrul de frecvențe al semnalului de la intrare.

În funcție de modul în care filtrele acționează asupra semnalelor aplicate la intrare, ele pot fi clasificate în:

-filtre „trece-jos” („taie-sus”), care lasă semnalele cu frecvențe până la o anumită valoare

(frecvența de tăiere) să treacă neatenuate, sau atenuate foarte puțin, iar pe cele cu

frecvențe superioare frecvenței de tăiere le atenuează foarte puternic.

-filtre „trece-sus”(„taie jos”), care sunt complementare filtrelor „trece-jos”. Ele atenuează

drastic semnalele cu frecvențe mai mici decât frecvența de tăiere și lasă să treacă

neatenuate, sau atenuate foarte puțin, semnalele cu frecvențe superioare frecvenței de

tăiere.

-filtre „trece-bandă” care lasă să treacă neatenuate, sau atenuate foarte puțin, semnalele

cu frecvențe cuprinse într-un anumit domeniu de frecvențe, numit bandă de trecere, și

atenuează drastic semnalele cu frecvențe aflate în afara benzii de trecere.

-filtre „oprește-bandă”, care sunt complementarele filtrelor „trece bandă”. Ele atenuează

drastic semnalele cu frecvențe cuprinse într-un anumit domeniu de frecvențe, numit

bandă de tăiere și lasă să treacă neatenuate, sau atenuate foarte puțin, semnalele cu

frecvențe aflate în afara benzii de tăiere.

I.3 Clasificare în funcție de componența constructivă a filtrelor analogice

filtre pasive, alcătuite numai din elemente pasive de circuit (rezistori, bobine,

condensatori). Consecința unei astfel de structuri este aceea că amplitudinea semnalului

de la ieșirea filtrului nu poate fi mai mare decât amplitudinea semnalului de la intrarea lui. Cu alte cuvinte, valoarea maximă a funcției de transfer nu poate fi supraunitară.

Cele mai simple filtre pasive sunt cele construite doar din două elemente: rezistor + condensator sau rezistor + bobină. Ele se mai numesc și celule elementare de filtrare sau filtre de ordinul 1, putând fi doar de tipul „trece-jos” sau „trece-sus”, în funcție de poziția celor două elemente în circuitul care reprezintă filtrul. Filtrele în care bobina, respectiv condensatorul, ocupă aceeași poziție în circuit sunt complementare: dacă unul este de tip „trece-jos”, celălalt este de tip „trece-sus”. Fiind circuite de tip cuadrupol, comportamentul filtrelor poate fi caracterizat cu ajutorul diagramelor Bode: caracteristica de transfer în tensiune și caracteristica de fază. Prima ne dă informații despre tipul filtrului, iar cea de a doua ne spune care este defazajul semnalului de la ieșire față de semnalul aplicat la intrare.

Modalitatea de calcul a parametrilor caracteristici ai unui filtru elementar este foarte simplă, mai ales atunci când elemntele de circuit se consideră ca fiind ideale.

Pentru simplificarea și mai mult a calculelor, vom considera că filtrul lucrează în condițiile cele mai bune: în domeniul util de frecvențe, impedanța filtrului este mult mai mare decât impedanța de ieșire a sursei de semnal și mult mai mică decât impedanța sarcinii pe care el debitează energie.

Filtre active, care reprezintă o combinație de filtre pasive și elemente active de circuit(decele mai multe ori, amplificatoare operaționale). Prezența elementelor active (și a

eventualelor circuite de reacție) asigură, pe de o parte o amplificare a semnalelor cu frecvențe aflate în banda de trecere și pe de alta, o îmbunătățire a caracteristicilor filtrului.

Am menționat anterior că în cazul folosirii filtrelor pasive, nivelul semnalului de ieșire este cel mult identic cu nivelul semnalului de intrare. S-a arătat că panta unui filtru poate fi îmbunătățită prin conectarea în cascadă a mai multor filtre pasive de ordinul 1, identice.

În plus, performanțele unui filtru pasiv sunt afectate și de caracteristicile electrice ale sursei care furnizează semnalul pe care trebuie să-l prelucrăm și ale sarcinii pe care filtrul debitează energie.

Dacă dorim ca semnalul util, filtrat de zgomote, să fie și amplificat și să reducem influențele sursei de semnal și a sarcinii asupra performanțelor filtrului, atunci vom apela la filtrele active. Filtrele active sunt combinații de filtre pasive și elemente active de circuit, în special amplificatorare operaționale.

I.4 Filtrarea digitală

Un filtru digital este un algoritm matematic implementat în hardware sau/și în software care operează pe un semnal numeric (digital) de intrare pentru a produce un semnal numeric de ieșire cu scopul de a atinge un obiectiv al filtrării. Termenul de filtru digital se referă deci la resursele hardware, sau programele specifice, care realizează algoritmul de filtrare.

Deasemeni un filtru este un sistem sau o rețea care modifică selectiv forma unei unde, caracteristicile de amplitudine-frecvență și / sau fază-frecvență ale semnalului într-o manieră dorită. Obiectivele generale ale filtrelor sunt:

-să îmbunătățească calitatea unui semnal (de exemplu, să reducă zgomotul),

-să extragă informația din semnale,

-să separe două sau mai multe semnale combinate anterior, (de exemplu pentru a face eficientă utilizarea unui canal de comunicații disponibil.

Un filtru digital sau numeric este un sistem discret care scalează și/sau defazează în mod selectiv componentele spectrale ale semnalului discret de intrare, oferind la ieșire un semnal discret optim pentru scopul dorit. Scopul filtrării este de a îmbunătăți calitatea semnalului (de a reduce sau înlătura zgomotul), de a extrage informații sau de a separa două sau mai multe semnale combinate.

Avantajele filtrarii numerice comparativ cu filtrele analogice

1. Filtrele numerice pot avea caracteristici imposibil de realizat cu filtrele analogice, (de exemplu, fază perfect liniară, în cazul filtrelor FIR).

2. Spre deosebire de filtrele analogice, performanțele celor digitale nu variază cu variabilele mediului, de exemplu, temperatura. Aceasta elimină necesitatea calibrării periodice.

3. Răspunsul în frecvență poate fi ajustat automat prin implementarea filtrelor cu procesoare programabile, motiv pentru care se folosesc în filtrarea adaptivă, mai eficient decât cele analogice.

4. ctarea în cascadă a mai multor filtre pasive de ordinul 1, identice.

În plus, performanțele unui filtru pasiv sunt afectate și de caracteristicile electrice ale sursei care furnizează semnalul pe care trebuie să-l prelucrăm și ale sarcinii pe care filtrul debitează energie.

Dacă dorim ca semnalul util, filtrat de zgomote, să fie și amplificat și să reducem influențele sursei de semnal și a sarcinii asupra performanțelor filtrului, atunci vom apela la filtrele active. Filtrele active sunt combinații de filtre pasive și elemente active de circuit, în special amplificatorare operaționale.

I.4 Filtrarea digitală

Un filtru digital este un algoritm matematic implementat în hardware sau/și în software care operează pe un semnal numeric (digital) de intrare pentru a produce un semnal numeric de ieșire cu scopul de a atinge un obiectiv al filtrării. Termenul de filtru digital se referă deci la resursele hardware, sau programele specifice, care realizează algoritmul de filtrare.

Deasemeni un filtru este un sistem sau o rețea care modifică selectiv forma unei unde, caracteristicile de amplitudine-frecvență și / sau fază-frecvență ale semnalului într-o manieră dorită. Obiectivele generale ale filtrelor sunt:

-să îmbunătățească calitatea unui semnal (de exemplu, să reducă zgomotul),

-să extragă informația din semnale,

-să separe două sau mai multe semnale combinate anterior, (de exemplu pentru a face eficientă utilizarea unui canal de comunicații disponibil.

Un filtru digital sau numeric este un sistem discret care scalează și/sau defazează în mod selectiv componentele spectrale ale semnalului discret de intrare, oferind la ieșire un semnal discret optim pentru scopul dorit. Scopul filtrării este de a îmbunătăți calitatea semnalului (de a reduce sau înlătura zgomotul), de a extrage informații sau de a separa două sau mai multe semnale combinate.

Avantajele filtrarii numerice comparativ cu filtrele analogice

1. Filtrele numerice pot avea caracteristici imposibil de realizat cu filtrele analogice, (de exemplu, fază perfect liniară, în cazul filtrelor FIR).

2. Spre deosebire de filtrele analogice, performanțele celor digitale nu variază cu variabilele mediului, de exemplu, temperatura. Aceasta elimină necesitatea calibrării periodice.

3. Răspunsul în frecvență poate fi ajustat automat prin implementarea filtrelor cu procesoare programabile, motiv pentru care se folosesc în filtrarea adaptivă, mai eficient decât cele analogice.

4. Diferite semnale de intrare pot fi filtrate de un singur filtru digital, fără modificarea structurii hard, prin multiplexare.

5. Atât datele filtrate cât și cele nefiltrate pot fi stocate pentru o prelucrare ulterioară.

6. Folosind avantajele tehnologiei VLSI, aceste filtre pot fi realizate la dimensiuni mici, putere mică, preț scăzut.

7. În practică, precizia unui filtru analogic este limitată, atenuarea în banda de oprire pentru filtrele active fiind în jur de 60 ÷ 70 dB, la filtrele digitale, aceasta este limitată numai de lungimea cuvântului folosit, ajungându-se în mod curent la 80-100 dB.

8. Performanțele filtrelor digitale sunt repetabile de la procesor la procesor, fără necesitatea reglajelor.

9. Filtrele digitale pot fi folosite la frecvențe foarte scăzute, unde cele analogice nu sunt utilizabile, acoperind un larg domeniu de frecvențe prin simpla schimbare a frecvenței de eșantionare.

Dezavantaje, comparativ cu filtrele analogice:

-Limitări în viteză. În cazul filtrelor digitale ce lucrează în timp real banda maximă de frecvență a semnalelor ce pot fi prelucrate este mult mai mică decât cea corespunzătoare filtrelor analogice. În situații de timp real timpul de conversie și timpul de stabilizare al DAC limitează frecvența maximă ce poate fi procesată. În plus viteza de efectuare a operațiilor filtrului digital depinde de viteza procesorului utilizat și de complexitatea filtrului implementat.

-Efectele lungimii finite a cuvintelor. Filtrele digitale sunt susceptibile la zgomotul de cuantizare și la zgomotul de aproximare (rotunjire) necesar în timpul calculului numeric. La filtrele recursive de ordin mare, acumularea zgomotului de aproximare (care este de fapt tot un "zgomot de cuantizare") poate conduce la instabilitate.

-Timpi de proiectare și construcție lungi. Timpul necesar proiectării și construcției filtrelor digitale, în special în cazul implementărilor hardware, poate fi mult mai lung decât cel necesar proiectării și construirii filtrelor analogice.

I.5 Tipuri de filtre digitale

Filtrele digitale pot fi împărțite în două clase, filtre cu răspuns finit la impuls (RFI) sau FIR (Finite Impulse Response) și filtre cu răspuns infinit la impuls (RII) sau IIR (Infinite Impulse Response). Oricare din aceste două tipuri poate fi reprezentat prin răspunsul la impuls

h[n], ( n∈ N pentru filtre cauzale).

Avantajul principal al filtrelor IIR este că permit o tăiere abruptă între frecvențele care sunt filtrate și cele care nu sunt filtrate. Filtrele FIR necesită măști mai largi și deci mai multe operații aritmetice pentru a avea aceeași eficiență de filtrare. De asemenea FIR necesită mai multă memorie și timp de prelucare.

Alt avantaj al IIR este că aceste filtre se pot proiecta din filtrele corespunzătoare analogice. Filtrele FIR nu au corespondente analogice.

Avantajul filtrelor FIR este că pot fi constrânse să aibe un răspuns liniar de fază (deplasările de fază ale componentelor de frecvență sunt proporționale cu frecvența). Astfel frecvențele armonice sunt deplasate în aceeași proporție și relațiile dintre armonice nu sunt distorsionate (foarte important în muzică).

Alt avantaj al filtrelor FIR este că nu sunt așa de senzitive la zgomot rezultat din adâncimea mică de biți și eroarea de rotunjire.

I.6 Comparație ăntre filtrele analogice și cele digitale

Apariția filtrelor numerice poate fi explicată prin tendința de a simula filtrele analogice cu

ajutorul unui calculator digital. Drept exemplu poate servi crearea unor sisteme de prelucrare a vorbirii (în ex-URSS aceste sisteme se numeau sintezatoare ale vorbirii, anii 1965 – 1968), care, în mod semnificativ au contribuit la perceperea tehnică a filtrării numerice.

Caracteristicile filtrelor acestor sisteme, în general pot afecta în mod neprevăzut prelucrarea semnalelor. În cazul simulării pe calculator caracteristicile filtrelor pot fi ajustate și calitatea sistemului în ansamblu poate fi evaluată înaintea realizării filtrului analogic.

Astfel,calculatorul numeric oferă avantaje considerabile în flexibilitatea sintezei sistemului final. De menționat însă că prelucrarea semnalelor nu se petrece în timp real, de aceea calculatorul numeric se va utiliza pentru a aproxima sau pentru a simula un filtru analogic.

Ca rezultat al acestei idei – de simulare a filtrelor analogice au început să fie utilizate filtrele numerice – o modalitate de realizare a filtrelor analogice programate pe calculator.

Sistemul este alcătuit în acest caz dintr-un convertor analognumeric (CAN), un filtru digital și un convertor numeric-analog (CNA) și, de fapt aproximează un filtru analogic. Ultimul deceniu al secolului XX este remarcabil prin faptul că în domeniul sistemelor numerice s-au obținut progrese tehnologice impresionante, ceea ce a condus la evidențierea aplicațiilor, în care tehnicile filtrării numerice se utilizează pe larg: circuitele integrate cu nivel înalt și foarte înalt de integrare (LSI & VLSI – ULSI); dispozitivele cu cuplaj prin sarcină (CCD) etc.

În baza acestor circuite a fost implementată o varietate mare de structuri și parametri ale filtrelor numerice. Există o gamă largă de posibilități și în privința utilizării în tehnica

filtrării numerice a calculatoarelor:

– destinate prelucrării volumelor enorme de informații – calculatoarele de uz general; – destinate rezolvării eficiente și rapide a problemelor specifice

– calculatoarele mici (microprocesoarele), strict specializate pe direcții concrete, sub controlul unor programe memorate (așa-zis „cusute” sau cablate). Mai multe rațiuni stau la baza tendinței utilizării microprocesoarelor în realizarea filtrelor numerice, în special a

celor care funcționează în timp real:

– dimensiuni mici și un grad înalt de fiabilitate;

– flexibilitate și eficacitate ridicată a filtrelor numerice realizate;

– contribuție la utilizarea tot mai largă a sistemelor numerice de comunicație și transfer de date. Din teoria circuitelor liniare analogice este cunoscut că selecția semnalelor prin frecvență poate fi realizată cu ajutorul circuitelor simple, ce conțin elemente pasive,

L – inductanțe și C – condensatoare.

Se știe bine de asemenea că teoria și practica sintezei filtrelor pasive LC este suficient de bine pusă la punct. Dezavantajul major al acestor dispozitive de selecție a semnalelor prin frecvență, care au fost utilizate cu succes multe decenii la rând constă în impasul, în care s-au pomenit în epoca miniaturizării și îndeosebi a microminiaturizării complexe a aparatajului electronic de prelucrare a semnalelor: incompatibilitatea fabricării inductanței L cu tehnologiile microelectronicii moderne.

I.7 Concluzii

1. De menționat că filtrele numerice reprezintă dispozitive electronice care pot fi utilizate cu succes în diverse echipamente și instalații moderne de prelucrare adecvată a semnalelor de natură electrică.

2. Filtrele numerice pot modela orice caracteristică și realiza orice funcție de transfer, deci pot servi ca dispozitive pentru selecția semnalelor prin frecvență.

3. Aceste filtre posedă însă un grad avansat de redundanță − exces de elemente pasive și active (tranzistoare, amplificatoare operaționale) și, în comparație cu filtrele active RC − un nivel mult mai înalt de zgomot electronic propriu.

II. Introducere în limbajul de programare grafică LABVIEW

II.1. Ce reprezintă un instrument virtual

Prin instrument virtual se înțelege, de regulă, un sistem de măsurare controlat prin intermediul unei aplicații software instalate pe un calculator. În prezent, instrumentele fizice pot fi controlate cu ajutorul echipamentelor periferice specifice calculatorului (tastatură, mouse și monitor). Conceptul de instrumentație virtuală, în sens mai larg, include, de asemenea, o varietate de aplicații software utilizate în scopul modelării și simulării proceselor sau realizării unor animații care simulează sistemele de măsură. În acest sens toate aplicațiile LabVIEW reprezintă Instrumente Virtuale, denumite prescurtat VI-uri (Virtual Instruments).

Instrumentația Virtuală poate fi folosită nu doar pentru construirea unor instrumente reale ci și pentru construirea unor aplicații care simulează dispozitive reale și instrumente operaționale. De asemenea, instrumentația virtuală permite modelarea unor procese fizice reale, în scopul testării modului de desfășurare a acestora. În același timp, LabVIEW poate fi folosit pentru elaborarea unor instrumente utile în procesul educațional, inclusiv în cel specific învățării la distanță (de exemplu: explicarea fundamentelor fenomenelor fizice sau demonstrarea metodologiei realizării experimentelor fizice.

  În general, termenul de "Instrument Virtual" se folosește cu referire la un instrument de măsură sau de automatizare simulat printr-un program și se realizează pe baza unui software, un program de simulare și a unui element hardware, compus din module de prelucrare a semnalelor și plăci de achiziție de date.

Denumirea provine de la faptul că, în primele sale versiuni, LabVIEW a fost strict dedicat pentru realizarea unor programe de monitorizare a proceselor. Programele respective înlocuiau o serie de aparate și instrumente electronice, primind, astfel, numele de Instrumente Virtuale. Acestea înlocuiesc instrumentele de măsură clasice, sunt de sine stătătoare, mult mai flexibile, fiind suficientă o modificare a programului pentru a reproduce un alt instrument, cu același sistem fizic.

II.2 Mediul de programare LabVIEW

Proiectele acestui mediu au fost inițiate în anul 1983. Trei ani mai târziu el însemna pionieratul într-o nouă abordare a instrumentației, depunând bazele instrumentației virtuale.

Combinând unele periferice performante cu facilitățile de calcul, afișare și conectivitate ale calculatoarelor Macintosh, foarte populare, acest sistem centrat în jurul unui software de aplicație oferea funcțiile unui instrument dedicat, deosebit de performant, la un preț redus.

Flexibilitatea totală în configurație și mecanismul matematic deosebit de puternic au fost argumente puternice în favoarea acestui soft specializat. Este o abordare revoluționară a ingineriei software: este un mediu de programare grafică. Oferă flexibilitatea unui limbaj de programare puternic, fără ca utilizatorul să scrie măcar un rând de cod-program.

Oferă avantajele semnificative ale unui mediu multitasking, putând rula simultan mai multe instrumente virtuale sau instanțe ale acestora. Fluxul de date schițat în diagrama funcțională specifică implicit și operațiile ce se execută simultan.

Având un design modular, există posibilitatea ca orice instrument virtual deja creat să poată deveni o componentă a alteia.

Compilatorul integrat generează un cod executabil optimizat, pe 32 de biți, cu viteza de rulare comparabilă cu un program C/C++ compilat.

LabVIEW este un mediu de programare utilizat mai ales pentru realizarea măsurătorilor și

monitorizarea unor procese automatizate. Mediul LabVIEW conține mai multe biblioteci de funcții predefinite pentru achiziția, prelucrarea, afișarea și transmiterea datelor.

Programele realizate în LabVIEW se numesc instrumente virtuale (Visual Instruments – VIs), la baza acestora stând conceptele de modularizare și ierarhizare arborescentă. Când se proiectează și se implementează un IV, trebuie să se țină cont de natura modulară a acestuia : să poată fi utilizat atât ca program principal cât și ca subrutină în componența unui alt IV.

Un IV folosit la realizarea unui alt IV se numește sub IV, având rolul unei subrutine. Prin crearea și utilizarea de sub IV la realizarea altor IV, utilizatorul definește ierarhii de IV.

Bibliotecile aferente conțin funcții-sistem puternice, axate pe următoarele domenii:

– achiziție de date și control ( drivere pentru dispozitive I/O și automate programabile, regulatoare numerice, dispozitive de înregistrare /vizualizare)

– control dispozitive ( GPIB, VXI,RS-232,CAMAC)

– analiză de date (evaluări statistice, elemente de algebră liniară, funcții de calcul pentru domeniul timp și frecvență, filtre numerice) etc.

Mediul LabVIEW oferă dezvoltatorilor de programe două metode de asistență, care pot fi utilizate pe parcursul dezvoltării unui IV : fereastra (Help Windows) și utilitarul (Online Help) de asistență.

Fereastra de asistență se utilizează în cazurile următoare :

-la afișarea descrierii pentru obiectele din Panoul frontal și diagrama bloc;

– la consultarea casetei cu funcții, se prezintă semnătură și o descriere de utilizare;

– în diagrama bloc, terminalul conductorului IV, asupra căruia se folosește unealta de

interconectare, este evidențiat prin afișare intermitentă în fereastra de asistență ; metoda de

asistare este utilizată frecvent în realizarea conexiunilor la nodurile dotate cu mai multe

terminale, pentru selectarea exactă a parametrilor așteptați ;

– în diagrama bloc se permite afișarea structurii de date, folosită pentru valoarea care se transfera între acele noduri, pe o legătură existentă; se oprește unealta de interconectare deasupra legăturii ; se reamintește faptul, că nodul reprezintă elementul de execuție din limbajul G.

II.3. Instrumentația virtuală

Prin instrumentația virtuală se înțelege facilitatea / modalitatea oferită de un computer dotat cu echipamente periferice de intrare / ieșire specializate, pentru a modela și simula caracteristicile și funcționarea unui instrument / sistem de măsurare, de testare sau de înregistrarea datelor.

La ora actuală există, la nivel mondial, o concurență acerbă pentru lansarea pe scară largă a unei game variate de produse noi (din domeniul măsurărilor: osciloscoape, multimetre digitale, voltmetre s.a.m.d.), cu calități superioare celor de pe piață sau cu soluții noi pentru monitorizarea unor procese automatizate. Un utilizator își poate construi un produs virtual destinat unei anumite aplicații cu caracteristicile dorite. Acest produs îl vom denumi în continuare instrument virtual ( Virtual Instruments – VI).

Instrumentația virtuală a devenit „ținta” mai multor medii de lucru specializate. Unul dintre cele mai răspândite și care s-a impus pe plan mondial este LabVIEW (Laboratory Virtual Instrument Engineering Workbench). Aceste este un mediu de programare bazat pe limbajul de programare grafică G. Firma National Instruments (NI) a introdus în anul 1986 conceptul de instrumentație virtuală și a lansat pe piață prima versiune a mediului LabView.

Instrumentul virtual se definește ca: program în LabView care modelează forma și funcția unui instrument fizic.

Pentru atingerea scopului dorit, realizarea unui instrument virtual, este necesară o dotare minimă – un sistem de calcul și un mediu de programare:

folosind mediul de programare se realizează, pentru instrumentul dorit, panoul frontal (interfața instrumentului) și funcționalitatea sa;

calculatorul devine “gazda” noului instrument creat de utilizator oferindu-i totodată facilitățile clasice: capacitate ridicată de prelucrare, analiză, stocare a informațiilor, conectare la rețea, imprimare a datelor etc.

Mediul de programare utilizat pentru “modelarea” instrumentului virtual, fără corespondent real, permite utilizatorului să-și dezvolte în continuare proceduri proprii de prelucrare a informației pe care să le poată utiliza în “construirea” altor VI.

Limbajele de programare de circulație extinsă – FORTRAN, PASCAL, C, BASIC se bazează în construcția unui program prin scrierea unor instrucțiuni utilizând textul. Realizarea unui program în aceste medii poate să devină dificilă pentru un începător în special în perioada de depanare. Grafica este extrem de intuitivă, potențialul graficii fiind susținut prin principalele metode de instruire existente și care și-au dovedit rolul esențial.

Limbajul grafic G – “inima” mediului LabVIEW – se bazează pe existența unor biblioteci de funcții definite care prin asamblare grafică “construiesc” în mod intuitiv un program.

Instrumentele virtuale au o structură ierarhică și modulară. Un instrument virtual utilizat pentru construcția unui alt instrument virtual poartă denumirea de subinstrument virtual (subVI).

III. Achiziția datelor în Labview

III.1. Generalitǎți privind mǎsurarea cu achiziție de date

O schemă generală a unui sistem de măsurare cu achiziție de date în calculator este prezentată în figura 3.1. În prima grupǎ de componente apar:

– traductorul (senzorul), care transformă o mărime fizică intr-o mărime electrică (un semnal analog de tensiune sau curent),

– adaptorul de semnal, cu rol de condiționare a semnalului provenit de la traductor,

– actuatorul, adicǎ elementul ce acționează asupra sistemului fizic care se studiază (de exemplu, cilindru hidraulic, excitator de vibrații, sau sarcinǎ care apare in funcționarea unei mașini).

Fig3.1 Sistem de măsurare cu achiziție de date

Elementele enumerate: traductorul, elementul de execuție, adaptorul de semnal, au în comun utilizarea unor semnale analogice. Placa de achiziție realizează conversia semnalului din analog în numeric (digital) A/D și invers (D/A), pentru a-l adapta la calculator sau la sistemul de comandǎ al unui element de execuție. Un semnal analogic variază continuu în timp. Un semnal digital sau binar, are două valori discrete: zero și unu.

În general, placa de achiziție se poate monta, ca și alte componente (placǎ video, placǎ de sunet etc.), într-un slot liber al calculatorului. Existǎ și posibilitǎți de conectare prin USB (Universal Serial Bus) sau interfațǎ paralelǎ.

În figura 3.2. este prezentatǎ structura generalǎ a unei plǎci de achiziție.

Fig3.2. Structura generalǎ a unei plǎci de achiziție

Calculatorul poate avea legǎturi numerice directe cu procesul fizic controlat dar și cu alte sisteme, de exemplu, cu instrumente de mǎsurǎ.

Prelucrarea numericǎ a semnalelor are loc in trei etape: eșantionarea, cuantificarea și restituirea.

Eșantionarea constǎ în reprezentarea unui semnal analogic continuu printr-un ansamblu de valori discrete (eșantioane). Un sistem de tip „cronometru declanșator” comandǎ achiziția de eșantioane la intervale egale de timp. În figura 3.3 sǎgețile indicǎ valorile reținute în memoria calculatorului în momentele în care a fost declanșatǎ achiziția. Perioada de eșantionare se alege de cǎtre utilizator în domeniul permis de placa de achiziție, precizând numǎrul de semnale ce vor fi achiziționate pe secundǎ.

Fig 3.3 Achiziția de eșantioane.

Cuantificarea conduce la exprimarea valorilor achiziționate în cod binar.

Restituirea are ca scop refacerea semnalului analogic prin interpolare între valorile discrete achiziționate. Reprezentarea precisǎ a semnalului analogic real este asiguratǎ prin utilizarea plǎcilor de achiziție cu rezoluție mare. Rezoluția este variația minimǎ de semnal ce produce saltul cu o cuantǎ în convertorul A/D și este determinatǎ de numǎrul de biți utilizați la reprezentarea binarǎ a unui semnal analogic.

Comanda achiziției de eșantioane se poate realiza cu ajutorul ferestrelor analogice de declanșare. O fereastrǎ este delimitatǎ de douǎ nivele, superior și inferior, ale semnalului

Declanșarea achiziției are loc fie la intrarea semnalului analog in fereastrǎ (fig. 3.4,a), fie la ieșirea din aceasta (fig. 3.4,b).

Fig 3.4. Declanșarea achiziției de semnal

III.2. Conversia semnalului analog în semnal digital

Un convertor A/D cu trei biți divide domeniul în care se achiziționeazǎ eșantioane (ales de utilizator în interiorul intervalului permis) în 23 = 8 ferestre (fig. 3.5). Fiecare fereastrǎ (subdomeniu) este reprezentatǎ prin coduri binare între 000 și 111.

Fig 3.5. Conversia A/D cu trei biți

Convertorul A/D transformǎ fiecare mǎsurare a semnalului analogic în diviziune digitizatǎ. În figura 3.5 se observǎ cǎ reconstituirea semnalului analogic real (sinusoidal) nu este fidelǎ. Semnalele de la mai multe canale de măsurare sunt citite prin intermediul unui multiplexor care realizeazǎ conexiunile cu acestea, pe rând (fig. 3.6), ceea ce permite utilizarea unui singur convertor A/D pentru mai multe intrǎri. Numărul de citiri pe secundă depinde de frecvența de eșantionare.

Valoarea maximă a acesteia este o caracteristică a plăcii de achiziție, iar valoarea efectivă se programează. Un numǎr mic de citiri conduce la o reconstrucție eronată a semnalului real, in timp ce un număr prea mare de citiri duce la un consum nejustificat de resurse de calcul. Se recomandă ca numărul de citiri să fie de cel puțin zece ori mai mare decât frecvența semnalului care se măsoară. Alte mărimi care se setează sunt valorile extreme (maximă și minimă) ale tensiunii de intrare. Precizia datelor măsurate crește dacă aceste limite sunt apropiate de cele ale semnalului care se măsoară, dar depășirea lor conduce la pierderi de eșantioane.

Fig 3.6. Utilizarea unui singur convertor A/D pentru mai multe intrǎri.

De regulǎ, tensiunea acceptatǎ de placa de achiziție este de 20¸ 25 V, iar o valoare mai mare poate conduce la defectarea acesteia. Fiecare placă de achiziție este însoțită de un program (driver) care controleazǎ legǎtura între calculator și un instrument programabil (imprimantă, cameră video ș.a). În achiziția datelor, driverul are următoarele funcții:

a) intrarea/ieșirea datelor și controlul frecvenței la care se realizează acestea;

b) realizarea legăturii între resursele hard ale plăcii de achiziție și ale calculatorului (memorie, întreruperi, DMA – direct memory access), respective cu alte plăci sau cu sistemul de condiționare a semnalului.

Analiza datelor este necesară deoarece asupra semnalului achiziționat trebuie să se efectueze o serie de operații, cum ar fi:

– eliminarea zgomotului (fig.3.7. prezintǎ semnalul original și pe cel prelucrat);

– corecția semnalului ca urmare a unor defecțiuni ale aparaturii;

– compensarea efectelor temperaturii sau a altor factori care intervin;

– prezentarea datelor în forma convenabilă, ceea ce presupune o serie de calcule, de la cele mai simple pană la prelucrări matematice complexe (de exemplu, analiza Fourier).

Fig 3.7. Eliminarea zgomotului: semnalul original și pe cel prelucrat

Filtrarea semnalului este utilizatǎ pentru reducerea zgomotului. Sunt utilizate filtre trece-jos, care nu afectează componentele cu frecvență joasă,dar atenuează componentele cu frecvență înaltă.

Frecvența la care semnalul este atenuat (frecvența de tăiere) va fi suficient de ridicată pentru a nu pierde componente ale semnalului care prezintă interes și va fi compatibilă cu frecvența de eșantionare.

III.3. Reprezentarea semnalului în domeniul timp sau în domeniul frecvență

Reprezentarea în domeniul timp, permite determinarea amplitudinii semnalului în timp (în momente din perioada când acesta a fost măsurat). Orice semnal în domeniul timp, poate fi reprezentat în domeniul frecvență, ca o sumă de funcții armonice (sinus și cosinus, conform teoremei lui Fourier), deci prin perechi amplitudine-fază corespunzătoare fiecărei frecvențe. În multe cazuri (vibrații, acustică) este necesară cunoașterea conținutului în frecvență.

III.4. Etapele premergătoare măsurării

Pregǎtirea aparaturii de mǎsurare cuprinde ca etape principale:

a) realizarea montajului; b) calibrarea semnalelor; c) testele preliminare.

Realizarea montajului presupune efectuarea tuturor legăturilor electrice necesare între traductoare, aparate, placa de conexiuni, placa de achiziție, calculator.

În etapa de calibrare se stabilește corespondența între nivelul unui semnal la un moment dat și valoarea instantanee a mǎrimii mǎsurate.

De cate ori este posibil, măsurarea va fi precedată de teste pentru verificarea întregului lanț de măsură și pentru efectuarea ultimelor corecții care sǎ previnǎ apariția unor erori inadmisibile.

III.5. Alte soluții pentru măsurarea cu achiziție de date

O soluție intermediară între placa de achiziție care lucrează ca o placă a calculatorului și un aparat de măsură independent, o reprezintă utilizarea unor instrumente specializate care conlucrează cu un calculator. Avantajul este dat de un preț redus (față de un aparat clasic), deoarece se utilizează resursele hard și soft ale calculatorului – de exemplu, ecranul calculatorului servește drept tub catodic pentru osciloscop. În plus, soluția nu depinde de tipul de magistralǎ a calculatorului, care se poate schimba de la o generație de calculatoare la alta (o placă de achiziție pentru laptop cu interfață PCMCIA nu va putea fi utilizată pe un PC cu interfață PCI).

Dezvoltarea tehnicii de calcul a produs schimbǎri importante în domeniul sistemelor de mǎsurare, concretizate în urmǎtoarele:

-posibilitatea de a efectua măsurǎri mai precise, datoritǎ unui volum mare de date care pot fi stocate sau transmise la distanțǎ;

-perfecționarea aparatului matematic și a programelor utilizate la prelucrarea informației;

-crearea premizele pentru ca utilizatorii să proiecteze direct aplicația pe care vor sǎ o dezvolte, prin programare vizuală.

III.6 Achiziții de date cu LabView

Diagrama bloc din figura 3.8 arată cele mai bune componente ale unui sistem de achiziții de date. Un traductor transformă o proprietate fizică, ca temperatura, într-un semnal electric. Semnalul – condiționând modulul execută funcții diverse ca filtrare, amplificare, izolare, excitația traductorului, și liniarizare. Semnalul condiționat este trimis la cardul de achiziții de date care este montată în interiorul calculatoarelor noastre.

Cardul de achiziții de date transformă  un semnal de tensiune analogică într-o valoare digitală. Deoarece el doar transformă semnalul de tensiune, semnalul condiționând modulul transformă proprietatea fizică într-o valoare de tensiune. Cardul de achizitți de date are alte posibilități de transformare din digital în analogic, circuite counter/timer, și porturi digitale de intrare/ieșire. Driverele permit plăcii de achiziții de date să comunice și să stocheze informația binară în computer. Softul National Instruments LabVIEW furnizează capacitatea pentru a fi prelucrată și afșată pe un monitor.

Fig.3.8. Sitemul de achiziții de date

Cercetătorii pot  dezvolta programe în C sau Basic care să convertească semnalele analoage în valori digitale și scrierea lor în fișiere, afișarea  controalelor și graficelor pe monitor sau analiza datelor. Se preferă să se concentreze activitatea pe experimente și nu pe programare. LabVIEW reduce timpul de dezvoltare și arată programele de achiziții de date cu un limbaj grafic de programare, care să creeze programe sub forma diagramelor bloc. În plus LabVIEW are vaste librării de funcții pentru analiza de date, prezentare de date și stocare de date. De asemenea LabVIEW include unelte de dezvoltare a programului convențional așa că putem seta punctele de întrerupere, animarea execuțiilor pentru a vedea cum datele trec prin program, și  o simplă trecere prin program face mutarea și dezvoltarea programului mai ușoară.

IV. Prezentarea tipurilor de filtre

IV.1 Filtre analogice

Sunt de două tipuri: pasive și active;

Filtrele pasive nu depind de o sursă externă de alimentare și au în componența lor rezistențe, bobine și condensatoare;

Bobinele blochează semnalele de frecvență înaltă și le lasă să treacă pe cele de joasă frecvență, în timp ce condensatoarele se comportă invers;

Filtrele active au în componență și amplificatoare operaționale;

Sunt utilizate pentru a elimina frecvențele (armonicile) nedorite din semnalul de la intrare, sau pentru a selecta o anumit[ frecvență;

Sunt implementate utilizând atât elemente pasive cât și active (amplificatoare operaționale, elemente semiconductoare) de circuit și necesită o sursă de putere exterioară;

Amplificatoarele operaționale diferențiale sunt foarte frecvent utilizate în componența acestor filtre pentru realizarea unei filtrări a semnalelor mai precisă și pentru realizarea fenomenului de rezonanță fără utilizarea bobinelor;

Avantaje:

Bobinele pot fi înlocuite cu amplificatoare operaționale pentru obținerea unui factor de calitate(Q) bun-amortizare/atenuare redusă

Raspunsul filtrului și frecvența de acordare pot fi reglate foarte ușor prin modificarea unei rezistențe variabile;

Amplificatorul poate fi folosit și ca buffer (impedanță mica la ieșire);

Dezavantaj:

Limitarea frecvenței superioare datorită lățimii de bandă redusă a amplificatoarelor.

Sunt filtre electronice având în componență una sau mai multe elemente active de circuit;

Filtrarea reprezintă modificarea relativă a amplitudinilor componentelor armonice ale unui semnal periodic sau chiar eliminarea sau selectarea anumitor componente armonice deasemeni reprezintă modificarea densității spectrale a unui semnal aperiodic, în sensul favorizării sau defavorizării unor segmente spectrale.

Banda de trecere este definită ca fiind gama de frecvențe deasupra cărora semnalele trec în fapt neatenuate prin circuit. Banda de trecere se extinde până la punctul unde răspunsul cade la 3dB, care este cunoscută ca frecvență de tăiere (f3dB). Este posibil să se proiecteze filtre care să nu aibă riplu deasupra acestei benzi de trecere , dar de obicei se acceptă un anumit nivel al riplului în această regiune în schimbul unei mai rapide atenuări a amplitudinii cu frecvență în zone de tranziție.

Zona de tranziție este suprafața dintre banda de trecere și banda de oprire. Această rată de modificare a amplitudinii cu frecvența este un alt criteriu important în estimarea performanțelor filtrului.

Banda de oprire este aleasă de proiectant în funcție de cerințe. De exemplu figura 4.1. ea poate fi definită acolo unde răspunsul în amplitudine scade sub –40dB. În altă aplicație banda de oprire trebuie să fie întotdeauna sub specificațiile de proiectare. Există câteva tipuri de filtre (de exemplu cu riplu egal figura 4.3. ) care au riplu în banda de oprire. Atâta vreme cât acest riplu este sub nivelul cerut al benzii de oprire, aceasta are mică importanță.

Fig.4.1 Compunere filtru passband

Mărimile uzuale de performanță pentru răspunsul unui filtru în domeniul timp sunt:

Timp de creștere: timpul necesar pentru ca ieșirea să atingă 90% din valoarea maximă

Timp de stabilire: timpul necesar pentru ca ieșirea să se stabilizeze în plaja de 5% din valoarea finală.

  Supramodularea: valoarea cu care ieșirea depășește momentan valoarea dorită, după nivelul tranziției

  Ringing: oscilații spre valoarea finală (medie)

Fig. 4.2 Exemplu de riplu (pulsație)după redresarea și filtrarea unei tensiuni

Fig. 4.3 Exemplu de riplu (pulsație)- filtru cu riplu egal (Chebyshev)

IV.2 Tensiunea și curentul de offset

La un AO ideal dacă valoarea de curent continuu (c.c.) a tensiunii de intrare este zero

atunci și la ieșire valoarea de c.c. a tensiunii este tot zero.

Exemplu: la un AO real, chiar dacă tensiunea de intrare este nulă, la ieșire se măsoară o

tensiune de c.c. diferită de zero, numită tensiune de decalaj la ieșire sau de offset. Printr-o

proiectare îngrijită a circuitului realizat cu AO, tensiunea de decalaj la ieșire se poate menține laun nivel foarte scăzut.

Pentru a aduce la zero tensiunea de decalaj, majoritatea AO prezintă două borne, numite borne de ajustare a nulului. Dacă proiectarea nu este corectă, la ieșirea AO se obțin nivele ridicate de decalaj. Chiar dacă se folosesc metodele de anulare a offsetului, în circuit se manifestă variația tensiunii de decalaj cu temperatura, numită drift, care impiedică menținerea la zero a tensiunii de offset la ieșire. De aceea este important să se înțeleagă efectele offsetului și să se cunoască tehnicile de proiectare prin care aceste efecte pot fi reduse.

Efectele offsetului sunt mai importante în cazul amplificatoarelor de c.c. decât al celor de

c.a. Dacă nu este nevoie să se prelucreze și semnale de c.c., atunci, utilizând un cuplaj capacitive între etajele de amplificare realizate cu AO, se pot transmite numai semnalele variabile, cele de c.c. fiind blocate. In acest caz efectele offsetului nu mai sunt importante, în afară de situația în care componenta de c.c. de la ieșire are un asemenea nivel încât ar putea provoca saturarea AO.

În amplificatoarele de c.c., importanța offsetului este relativă, depinzând de nivelul

semnalului prelucrat. De exemplu, o tensiune de offset de 10 mV poate fi relativ neimportantă în cazul unui repetor de tensiune cu rol de separare (izolare) a unei tensiuni de 12 V c.c. În schimb, aceeași valoare a tensiunii de offset poate fi dezastruoasă dacă nivelul semnalului prelucrat este și el tot de 10 mV. Din această cauză când se lucrează cu nivele mici de semnal trebuie să se utilizeze AO cu parametrii de offset foarte mici și să se folosească tehnici de proiectare speciale pentru minimizarea efectelor offsetului.

IV.3 Tipuri de filtre

IV.3.1 Filtrul trece jos

Sunt folosite la netezirea imaginilor, diminuarea efectelor zgomotelor (se folosesc de obicei înaintea aplicării detectorilor de puncte de muchie)

-Permit trecerea neatenuată a frecvențelor spațiale joase

-Atenuează sau blochează trecerea frecvențelor înalte

– Folosite în reducerea zgomotului din imagini

Răspunsul în frecvență al unui filtru trece jos (FTJ) ideal destinat prelucrării semnalelor analogice este prezentat în figura 4.4.

Figura 4.4. Răspunsul în frecvență al unui filtru trece jos ideal.

Spectrul din domeniul < c este neafectat de acest filtru dar componentele

spectrale cu frecvențe din exteriorul acestei benzi sunt anulate. Valoarea c , ce separă

benzile de trecere și de blocare, este numită frecvență de tăiere. Se obișnuiește să se

introducă o mărime, numită atenuare, definită ca inversul modulului răspunsului în

frecvență. Pentru cazul din figura 4.5 atenuarea în banda de trecere este 1 iar în

banda de oprire este infinită. Răspunsul la impuls al filtrului trece jos ideal este:

Se constată că acest răspuns la impuls este nenul și la momente negative. Deaceea filtrul trece jos ideal este un sistem nerealizabil. În consecință caracteristica de frecvență din figura 4.5 poate fi doar aproximată prin caracteristici de frecvență ale unor filtre realizabile.

Fig. 4.5 Caracteristica reală a filtrului trece jos

IV.3.2 Filtrul trece sus

Favorizează accentuarea frecvențelor înalte (muchii), ele pot fi combinate:

(ex: formarea de filtre trece bandă – band-pass).

Datorită caracterului liniar, combinarea se poate face prin înmulțire în spatiu Fourier și convoluție în spațiul real.

Caracteristici

Permit trecerea neatenuată a frecvențelor spațiale înalte și atenuează sau blochează trecerea frecvențelor joase.

Este folosit la accentuarea frecvențelor înalte (muchii)

Filtrul trece sus ideal blochează toate frecvențele mai mici decât o frecvență de tăiere

Răspunsul în frecvență al unui filtru trece sus (FTS) ideal este prezentat în figura 4.6

Fig. 4.6. Răspunsul în frecvență al unui fitru trece sus ideal.

Răspunsul la impuls al acestui sistem este:

Nici acest sistem nu este cauzal și deci nici realizabil. De aceea și filtrele trece sus ideale pot fi doar aproximate în practică.

Fig. 4.7 Caracteristica reală a filtrului trece sus

IV.3.3 Filtrul trece bandă

Filtrarea trece bandă (TB) ideală a semnalelor în timp continuu se realizează cu

un sistem cu răspunsul în frecvență de tipul celui prezentat în figura 4.8

Fig.4.8 Răspunsul în frecvență al unui filtru trece bandă ideal.

Se remarcă prezența a două frecvențe de tăiere, una inferioară și una

superioară. Expresia răspunsului la impuls al filtrului trece bandă ideal este:

În consecință nici filtrul trece bandă ideal nu este un sistem realizabil.

Fig. 4.9 Caracteristica reală a filtrului trece bandă

IV.3.4. Filtrul oprește bandă ideal

Răspunsul în frecvență al filtrului oprește bandă (OB) ideal este prezentat în

figura 4.10.

Fig. 4.10 Răspunsul în frecvență al unui filtru oprește bandă ideal.

Răspunsul la impuls al filtrului oprește bandă ideal este:

În consecință nici filtrul oprește bandă ideal nu este un sistem realizabil.

Aproximarea filtrelor ideale

Caracteristicile de frecvență ale filtrului trece jos ideal au trei proprietăți remarcabile:

1. Modulul răspunsului în frecvență este perfect plat (constant) în banda de trecere ;

2. Tranziția din banda de trecere în banda de blocare este făcută abrupt

3. Caracteristica de fază este liniară.

Circuitele reale, cu răspunsul în frecvență H(ω), care simulează filtrul trece jos ideal, pot fi construite pe baza unor criterii de aproximare care minimizează eroarea de aproximare a caracteristicilor de frecvență ale filtrului ideal într-o anumită bandă de frecvență.

Fig. 4.11 Caracteristica reală a filtrului oprește bandă

IV.4. Aproximarea de tip Butterworth

Sunt proiectate pentru a avea raspunsul în frecvență foarte neted (fara ripluri) în banda de trecere și căzut spre zero în banda de oprire.

Filtrele Butterworth pot fi analogice sau digitale

Se obține un filtru trece jos maxim plat în banda de trecere, cu funcția de transfer HB(ω), cu proprietatea:

Fig. 4.12 Aproximarea de tip Butterworth

Filtrul Butterworth (figura 4.13.)are un răspuns în amplitudine complet plat de-a lungul benzii de trecere și este adeseori menționat ca filtrul cel mai plat.

Această bandă de trecere plată este realizată pe seama regiunii de tranziție, care are o cădere foarte ușoară și a răspunsului în fază care este neliniar în jurul frecvenței de tăiere.

Câștigul unui astfel de filtru este dat de formula:

unde n este ordinul filtrului.

Dacă mărim ordinul filtrului, regiunea plată a benzii de trecere devine mai apropiată de frecvența de tăiere înainte ca aceasta să cadă și astfel putem îmbunătăți panta

Filtrul Butterworth poate apare ca o soluție ideală pentru toate proiectele dar, de multe ori nu satisface cerințele circuitului, fie din cauză că trebuie să utilizăm un filtru cu un ordin excesiv de mare pentru a realiza căderea specificată, fie din cauza relativ slabului său răspuns în fază.

În cele mai multe aplicații putem tolera o anumită mărime a riplului în banda de trecere, în schimbul unei mai mari pante în regiunea de tranziție.

Fig. 4.13 Aproximarea de tip Bandpass Butterworth

IV.5. Aproximarea de tip Cebâșev

Pot fi analogice sau digitale;

Sunt proiectate pentru a minimiza eroarea dintre caracteristica ideală a filtrului și cea actuală pentru un anumit domeniu, dar cu oscilații (riplu) în banda de trecere;

Filtrul Chebyshev furnizează acest schimb: el permite o anume mărime a riplului în banda de trecere însă are o foarte mare pantă de cădere. Răspunsul în amplitudine al uni filtru Chebyshev este dat de:

unde Cn este un polinom special care este funcție de n (ordinul filtrului) și ε este o constantă care determină mărimea riplului în banda de trecere.

Chiar dacă setăm niște limite strânse pentru riplul benzii de trecere, îmbunătățirea constând în mărirea pantei este considerabilă în comparație cu filtrele Butterworth.

Se poate vedea că pentru un riplu de 0.1 dB în banda de trecere și o atenuare de 20 dB în banda de oprire la 25% după frecvența de tăiere (f3dB), avem nevoie de un filtru Chebyshev de ordinul 8 sau un filtru Butterworth de ordinul 19.

Deși filtrul Chebyshev este o îmbunătățire a filtrului Butterworth cu privire la pantă, ambele au un răspuns de fază prost, cel al filtrului Chebyshev fiind chiar mai slab.

Stilul filtrului Chebyshev (figura 4.14)este uneori numit filtru echiriplu, deoarece riplurile sale sunt totodeauna egale în mărime de-a lungul benzii de trecere. În plus, numărul riplurilor crește cu ordinul filtrului.

Fig. 4.14 Aproximarea de tip Bandpass Chebyshev

IV.6. Aproximarea de tip Bessel

Sunt filtre analogice proiectate pentru a întârzia banda de trecere păstrând forma de undă a semnalului;

Până acum este clar că răspunsul în amplitudine este numai o parte din cerințele filtrelor.

Un răspuns prost în fază este de nedorit în cele mai multe aplicații, cel mai evident exemplu fiind acela al sistemelor audio.

Un filtru prost proiectat în astfel de cazuri poate fi dezastruos. Aici se înscriu și filtrele Bessel sau Thomson care au un răspuns în fază extrem de plat în banda de trecere.

Răspunsul în amplitudine al funcției Bessel este comparat cu filtre RC, Butterworth sau Chebyshev de același ordin(figura 4.15).

Fig. 4.15 Aproximarea de tip Bandpass Bessel

Se obține un filtru trece jos cu răspunsul în frecvență HBe(ω), cu proprietatea:

Fig. 4.16 Comparație între tipurile de filtre prezentate

IV.7. Scurtă introducere în filtrarea digitală

Un filtru este un sistem sau o rețea care modifică selectiv forma unei unde, caracteristicile de amplitudine-frecvență și / sau fază-frecvență ale semnalului într-o manieră dorită.

Obiectivele generale ale filtrelor sunt:

-să îmbunătățească calitatea unui semnal (de exemplu, să reducă zgomotul),

-să extragă informația din semnale,

-să separe două sau mai multe semnale combinate anterior, (de exemplu pentru a face eficientă utilizarea unui canal de comunicații disponibil.

Un filtru digital este un algoritm matematic implementat în hardware sau/și în software care operează pe un semnal numeric (digital) de intrare pentru a produce un semnal numeric de ieșire cu scopul de a atinge un obiectiv al filtrării. Termenul de filtru digital se referă deci la resursele hardware, sau programele specifice, care realizează algoritmul de filtrare.

IV.8. Avantaje ale filtrelor digitale comparativ cu cele analogice sunt:

-Permit obținerea de performanțe deosebite, unele fiind imposibil de realizat la filtrarea analogică (de exemplu obținerea unui răspuns în fază perfect liniar).

-Performanțele filtrelor digitale nu depind de modificările de mediu, de exemplu variațiile termice. Această calitate elimină necesitatea calibrării periodice.

-Permit modificarea ușoară a unor caracteristicilor răspunsului în frecvență. De exemplu răspunsul în frecvență al unui filtru digital poate fi ajustat automat dacă acesta este implementat utilizând un procesor programabil.

-Un filtru digital implementat poate prelucra mai multe semnale de intrare, sau canale, fără necesitatea de a multiplica resursele hardware în funcție de numărul de canale.

-Atât datele filtrate cât și cele ne-filtrate pot fi stocate în formă digitală pentru utilizare ulterioară.

-Precizia filtrelor digitale este mult mai bună decât a filtrelor analogice ea fiind limitată doar de lungimea cuvântului binar utilizat la reprezentarea numerică.

-Performanțele filtrelor digitale sunt repetabile.

-Filtrele digitale pot fi utilizate la frecvențe foarte scăzute, frecvențe întâlnite de exemplu în multe aplicații medicale, unde utilizarea unor filtre analogice nu este practică.

-Filtrele digitale, o dată implementate, pot fi făcute să lucreze pentru diferite domenii de frecvență, doar prin simpla modificare a frecvenței de eșantionare.

IV.9. Dezavantaje, comparativ cu filtrele analogice avem:

-Limitări în viteză. În cazul filtrelor digitale ce lucrează în timp real banda maximă de frecvență a semnalelor ce pot fi prelucrate este mult mai mică decât cea corespunzătoare filtrelor analogice. În situații de timp real timpul de conversie al ADC2 și timpul de stabilizare al DAC limitează frecvența maximă ce poate fi procesată. În plus viteza de efectuare a operațiilor filtrului digital depinde de viteza procesorului utilizat și de complexitatea filtrului implementat.

-Efectele lungimii finite a cuvintelor. Filtrele digitale sunt susceptibile la zgomotul de cuantizare al ADC și la zgomotul de aproximare (rotunjire) necesar în timpul calculului numeric. La filtrele recursive de ordin mare, acumularea zgomotului de aproximare (care este de fapt tot un "zgomot de cuantizare") poate conduce la instabilitate.

-Timpi de proiectare și construcție lungi. Timpul necesar proiectării și construcției filtrelor digitale, în special în cazul implementărilor hardware, poate fi mult mai lung decât cel necesar proiectării și construirii filtrelor analogice.

IV.10. Filtre digitale: filtre FIR și filtre IIR

După modul de implementare a funcției de filtrare, filtrele digitale pot fi clasificate în:

a)-filtre cu răspuns finit la impuls (FIR) – implementate prin operații de tip convoluție

b)-filtre cu răspuns infinit la impuls (IIR) – implementate prin operații recursive.

În general, filtrele digitale pot fi reprezentate prin secvența lor de răspuns la impuls, h(k), pentru k = 0, 1, … ca în figura 4.17

Fig. 4.17 Reprezentare conceptuală a unui filtru digital

Semnalele de intrare și de ieșire sunt în relație prin suma de convoluție, indicată în relația (1). pentru filtrele IIR și în relația (2) pentru filtrele FIR.

Ecuațiile de mai sus evidențiază că pentru filtrele IIR răspunsul la impuls este de durată infinită în timp ce pentru FIR este de durată finită (pentru că h(k) la FIR are doar un număr finit, N, de valori). În practică nu este avantajos să se calculeze ieșirea filtrului IIR utilizând relația (1) din cauză că lungimea răspunsului său la impuls este prea mare (teoretic infinită)

Ecuația filtrării IIR se exprimă de obicei într-o formă recursivă:

unde ak și bk sunt coeficienții filtrului. Ecuațiile 2 și 3 sunt denumite ecuații cu diferențe finite pentru filtrele FIR și respectiv IIR. Din aceste ecuații se observă că un obiectiv important în proiectarea filtrelor digitale îl constituie calculul valorilor coeficienților h(k) în cazul FIR, respectiv ak și bk în cazul IIR.

Se observă că în ecuația 3 eșantionul curent de ieșire, y(n), este funcție de ieșirile anterioare și de intrările prezentă și anterioare, deci filtrul IIR este un sistem cu reacție.

La filtrul FIR, care se poate obține și din ecuația 3 punând coeficienții bk egali cu zero, ieșirea depinde doar de intrările prezentă și anterioare. Funcțiile de transfer pentru filtrele FIR și IIR sunt prezentate în ecuațiile 4a și respectiv 4b. Ele sunt utile în evaluarea răspunsului în frecvență al filtrelor.

Alegerea, pentru o anumită aplicație, între utilizarea unui filtru FIR sau IIR depinde de comparația între avantajele oferite de fiecare dintre implementări:

(1) Filtrele FIR pot avea un răspuns strict liniar în fază; ca urmare a răspunsului liniar în fază nu se introduc erori de fază în semnalul prelucrat. Filtrele fără erori de fază sunt importante în multe aplicații, de exemplu la tele-transmisia datelor, în prelucrarea semnalelor biologice, în procesarea audio și a imaginilor. Răspunsul în fază al filtrelor IIR este neliniar, în special la capetele de bandă.

(2) Filtrele FIR realizate nerecursiv, adică prin evaluarea directă a ecuației(2), sunt întotdeauna stabile. Teoretic, stabilitatea filtrelor IIR nu poate fi garantată totdeauna.

(3) Efectele utilizării unui număr limitat de biți pentru implementarea filtrelor, efecte cum ar fi zgomotul de aproximare și erorile de cuantizare a coeficienților, sunt mult mai puțin severe la FIR față de IIR.

(4) Atunci când sunt necesare benzi de tranziție foarte înguste (tranziții bruște) filtrele FIR necesită, la implementare, mai mulți coeficienți decât cele IIR. Astfel, pentru o anumită specificație a răspunsului în amplitudine, la implementarea FIR sunt necesari timpi și spații de stocare mai mari. Totuși există metode de creștere a vitezei de calcul prin utilizarea FFT și a tehnicilor cu rate multiple de eșantionare, ceea ce poate îmbunătăți semnificativ eficiența implementărilor FIR.

(5) Filtrele analogice pot fi imediat transformate în filtrele digitale IIR echivalente, cu specificații similare. Aceasta nu este posibil la filtrele FIR pentru că ele nu au un echivalent în analogic. Totuși cu FIR este mai ușor să se sintetizeze filtre cu răspuns arbitrar în frecvență.

(6) În general este mai dificil din punct de vedere algebric să se sintetizeze FIR, dacă suportul CAD nu este disponibil.

Se poate concluziona că alegerea, pentru o anumită aplicație, a unui filtru FIR, sau a unuia IIR se bazează pe următoarele recomandări:

Se utilizează filtre IIR atunci când se impun performanțe deosebite în ceea ce privește tranziții rapide, aproximare cât mai exactă a unei caracteristici dorite și număr cât mai mic de coeficienți.

Se utilizează FIR dacă numărul calculat al coeficienților filtrului nu este prea mare și dacă se doresc distorsiuni de fază mici sau nule. Trebuie remarcat că multe dintre noile procesoare DSP au arhitecturi croite pentru implementarea filtrelor FIR.

IV.11. Exemplu: Filtrul SAW – Surface Acoustic Wave

Filtrul SAW – Surface Acoustic Wave(filtru acustic cu undă de suprafață) este un element pasiv, un cristal piezoelectric din Litiu și oxid de Tantal (LiTaO3), care are proprietatea de a rezona pe anumite frecvențe. Filtrele SAW sunt utilizate în general în radiocomunicatii: televiziune și radiodifuziune, radiocomunicatii mobile, CATV, receptoare de satelit, telecomandă, pentru limitarea spectrului de frecvență în aplicatiile din domeniile amintite.

Banda de trecere și fronturile filtrului SAW, pot fi stabilite în funcție de configurația acestuia. Fronturile sunt în general abrupte și depind de componența elementelor circuitului echivalent și de modul de dispunere a acestora.

În figura 4.18 si 4.19 este prezentat raspunsul amplitudine/frecvență a unui filtru SAW utilizat în amplificatorul de frecvență intermediară. Atenuarea în afara benzii de trecere este foarte mare (> 50 dB) și este ilustrată în figura.4.18. Uniformitatea caracteristicii (fig. 4.19) în banda de trecere este de asemenea foarte bună. În aceasta figură scara verticală a fost marită foarte mult pentru a pune în evidenta variațiile palierului care sunt mai mici decât

1 dB.

Tot pe această caracteristică se poate vedea și adaptarea filtrului, respectiv unda reflectată 

Fig. 4.18 Caracteristica globală

Fig. 4.19 Caracteristica marită în zona palierului

Din punct de vedere constructiv, filtrul este așezat pe un substrat ceramic    (fig. 4.20 ) peste care se fixează cu ăun capac, de asemenea ceramic, iar totul este închis într-o capsulă metalică, permițând accesul la terminale.

Fig. 4.20 Mod de incapsulare și prezentare a filtrului SAW

Filtrul SAW îndeplinește următoarele funcții:

– asigură, în principal, caracteristica de selectivitate globală a receptorului prin caracteristica filtrului cu undă de suprafață;

– asigură o anumită caracteristică a întârzierii de timp de grup, necesare reproducerii corecte a imaginii, dată tot de FUS;

– asigură un factor de zgomot corespunzător, astfel încât nivelul de zgomot introdus de acest modul să fie nesemnificativ, raportat la nivelul semnalului prelucrat;

V. Principii de programare în LABVIEW

Mediul de programare LABVIEW este un mediu de programare grafică orientat pe obiecte, ce permite realizarea unor programe care să reprezinte instrumente de măsură virtuale iar utilizatorul acestora lucrand cu ele la fel ca și cu instrumentele de măsură obișnuite.Fiecare program in LABVIEW are două componente principale:

– o componentă ce reprezinta panoul frontal al aparatului de măsură virtual.Această componenta va permite citirea respectiv afișarea valorilor mărimilor măsurate și introducerea unor date de intrare. Această componentă poartă numele de fereastra panoului cu instrumente (Panel)

– o componentă care va descrie operațiile pe care le realizează programul pornind de la datele de intrare și valorile mărimilor achiziționate pe diferite canale, iar această componentă poartă numele de fereastra blocului diagramă.

Fiecare din cele două componente este disponibilă simultan la realizarea și rularea unui program în LabVIEW, programul fiind conceput să lucreze sub sistemul de operare WINDOWS, trecerea de la o fereastră la alta se realizează cu ajutorul „mouse-ului”. Atunci cand se face salvarea programului ambele componente sunt salvate intr-un fișier cu extensia „vi” iar apelarea unui fișier cu extensia „vi” va determina deschiderea ferestrei panel. Pentru prima vizualizarea a ferestrei blocului diagramă este necesară selectarea opțiunii „arată diagrama” din meniul „windows” din bara de meniuri a ferestrei panoului cu instrumente.

V.1. Prezentarea mediului de programare LABVIEW

Programele realizate în mediul LabVIEW se numesc instrumente virtuale (IV).

Un IV are trei părți componente:

• Panoul frontal;

• Diagrama bloc;

• Pictograma și conectorul

V.2. Panoul frontal

Panoul frontal definește interfața grafică cu utilizatorul sau ceea ce va vedea utilizatorul pe ecranul calculatorului. Obiectele grafice de interfață disponibile pentru realizarea panoului frontal se împart în controale și indicatoare. Prin intermediul controalelor, utilizatorul introduce sau actualizează valorile datelor de intrare (obiecte de tip Get); indicatoarele sunt folosite pentru a se afișa rezultatele prelucrărilor (obiectelor de tip Say). Dacă IV se privește ca sub IV (deci ca subrutină), atunci controalele corespund parametrilor formali de intrare, iar indicatoarele sunt parametri formali de ieșire.

Mediul LabView oferă dezvoltatorului de aplicații o colecție de obiecte predefinite pentru proiectarea panoului frontal : butoane, comutatoare, cursoare, obiecte pentru reprezentări grafice, rezervoare s.a

Panoul frontal (figura.5.1) este o combinație de elemente de control și indicatoare. Elementele de control simulează sursele de informații pentru instrumentul virtual. Indicatoarele simulează elementele de ieșire și vizualizare pentru informațiile achiziționate.

Fig.5.1 Elementele panoului forntal

V.3. Tipuri de controale și indicatoare

Sunt disponibile controale și indicatoare pentru majoritatea tipurilor de date: numeric, șir de caractere, boolean, tabel, tablou, grupare de date, grafic, s.a. Pentru un anumit tip de date sunt disponibile mai multe variante de controale și indicatoare, utilizatorul putând să opteze pentru cea mai sugestivă realizare.

În etapa construirii panoului frontal, utilizatorul alege pe rând elementele de interfață necesare din caseta de controale și indicatoare și le așează în interiorul panoului frontal. Procedura este prezentată și în figura de mai jos:

Semnificația elementelor din caseta cu controale și indicatoare se prezintă în continuare.

Acestea sunt:

• Componente numerice;

• Componente booleene;

• Componente șir de caractere și tabel;

• Lista cu opțiuni: lista circulară / inel, meniuri derulante, cutie listă;

• Tablou și grupare de date;

• Reprezentări grafice;

• Cale de fișier;

• Elemente decorative;

• Componente utilizator;

• Componente pentru suport ActiveX;

• Opțiuni pentru selectarea unui control stocat într-un fișier.

Bara de unelte

Fig. 5.2. Opțiunile barei orizontale

Opțiunile barei orizontale (pagina panou frontal) sunt specifice LabView (fig.5.2):

a – Run – lansează în execuție programul de lucru. Programul de lucru este modulul principal al aplicației și apelează alte VI;

b – Run Continuously – programul este executat continuu;

c – Abort Execution – realizează oprirea rulării;

d – Pause – realizează o oprire temporară a rulării programului;

e – …Font – opțiuni pentru selectarea fontului de text dorit;

f – Sunt patru opțiuni în ordine – Align Objects, Distribute Objects, Resize Objects, Reorder – care permit alinierea, distribuirea obiectelor selectate în panoul frontal, redimensionarea sau reordonarea acestora.

V.4. Caseta cu instrumente (Tools Palette)

O altă componentă importantă a interfeței acestui program este caseta de unelte generale.

Aceasta cuprinde instrumente pentru crearea, editarea sau trasarea execuției instrumentelor virtuale.

Afișarea / ascunderea casetei cu unelte generale se face prin opțiunea « Windows / Show Tool /Palette ».

Fig. 5.3. Caseta cu instrumente

Pentru a fi activă una dintre facilitățile oferite de casetă este necesar să fie selectată cu ajutorul mouse-lui. În figura 5.3 este activă facilitatea a2. Semnificația fiecăreia dintre aceste facilități este următoarea:

a1 – instrumentul de operare – permite manipularea controalelor și indicatoarelor pe panoul frontal;

a2 – instrumentul de editare – permite selectarea, deplasarea sau redimensionarea obiectelor;

a3 – instrumentul de etichetare – permite introducerea textului de la tastatură;

b1 – instrumentul interconectare – se folosește în diagrama bloc, pentru a realiza legăturile între noduri (elementele de execuție) în conformitate cu schema logică de lucru. Firele definesc fluxul datelor;

b2 – instrument pentru afișarea meniului aparent – permite deschiderea casetei meniu a obiectului vizat din panoul frontal prin butonul stâng al mouse-lui;

b3 – instrumentul de defilare – permite defilarea conținutului ecranului, fără a se utiliza barele de defilare ale ferestrei de lucru;

c1 – instrumentul de depanare : permite întreruperea execuției IV. Se folosește la depanarea programului;

c2 – instrument sondă (probă) : permite vizualizarea valorii transmise pe un fir de legătură în faza de execuție a programului. Se utilizează în general în faza de depanare a programului

c3 – instrumentul pentru culoare – permite preluarea culorii obiectului asupra căruia se execută “clic” cu butonul stânga al mouse-lui;

d – instrumentul de colorare: permite stabilirea culorilor pentru prim planul și fundalul obiectelor.

Numele fiecăreia dintre facilități devine vizibil pentru un scurt timp la poziționarea mouse-lui deasupra iconu-lui corespunzător instrumentului.

V.5. Controale și indicatoare de tip numeric

Transmiterea valorilor numerice spre program sau afișarea rezultatelor numerice se face prin intermediul controalelor și indicatoarelor numerice. Există mai mute reprezentări ale componentelor de interfață, corespunzătoare tipului de dată numeric. Din caseta cu controale se selectează grupul „Numeric”, care va afișa colecția cu variantele de realizare a elementelor de interfață corespunzătoare tipului numeric.

Pentru realizarea de interfețe grafice mediul LabVIEW oferă mai multe tipuri de obiecte grafice care se găsesc pe paleta de controale ale panoului.

V.6. Obiecte grafice pentru introducerea numerelor

Acestea se găsesc în paleta de controale ca în figura următoare:

Figura.5.4. Obiecte grafice pentru introducerea numerelor în LabVIEW.

– Obiectul Num Ctrl permite introducerea de numere prin apăsarea cu mouse-ul pe săgețile laterale.

Fig.5.5.Reprezentarea pe panou Reprezentarea pe diagramă

– Obiectele Fill Slide și Pointer Slide permite introducerea unei valori prin umplerea unei zone pe orizontală cu o culoare distinctă de cea de bază prin intermediul mouse-ului.

Fig.5.6. Reprezentarea pe panou Reprezentarea pe diagramă

– Obiectele Fill Slide și Pointer Slide permite introducerea unei valori prin umplerea unei zone pe verticală cu o culoare distinctă de cea de bază prin intermediul mouse-ului.

Fig.5.7. Reprezentarea pe panou Reprezentarea pe diagramă

– Obiectele Knob și Dial permit introducerea unui număr prin rotirea cu ajutorul mouse-ului a unui indicator care poate fi ca în figurile următoare.

Fig.5.8. Reprezentarea pe panou Reprezentarea pe diagramă

– Obiectul Color Box permite introducerea unei culori de către utilizator.

Fig.5.9. Reprezentarea pe panou Reprezentarea pe diagramă

V.7. Obiecte grafice pentru afișarea numerelor

Acestea se găsesc în paleta de controale ca în figura următoare:

Figura .5.10. Obiecte grafice pentru afișarea numerelor în LabVIEW.

– Obiectul Num Ind permite afișarea unei valori numerice.

Fig.5.11. Reprezentarea pe panou Reprezentarea pe diagramă

– Obiectele Progress Bar și Grad Bar permit afișarea unei valori prin umplerea unei zone pe orizontală cu o culoare distinctă de cea de bază.

Fig.5.12. Reprezentarea pe panou Reprezentarea pe diagramă

– Obiectele Progress Bar și Grad Bar permit afișarea unei valori prin umplerea unei zone pe verticală cu o culoare distinctă de cea de bază.

Fig.5.13. Reprezentarea pe panou Reprezentarea pe diagramă

Obiectele Meter și Gauge permit afișarea unei valori prin rotirea unui ac indicator.

Fig.5.14. Reprezentarea pe panou Reprezentarea pe diagramă

– Obiectele Tank și Thermometer permit afișarea unei valori prin umplerea unei zone pe verticală cu o culoare distinctă de cea de bază.

Fig.5.15. Reprezentarea pe panou Reprezentarea pe diagramă

V.8. Butoane

Acestea se găsesc în paleta de controale ca în figura următoare:

Figura .5.16. Butoane în LabVIEW.

– Butoanele Rocker au două poziții între care se poate comuta prin apăsarea cu mouse-ul pe poziția dorită.

Fig.5.17. Reprezentarea pe panou Reprezentarea pe diagramă

– Butoanele Slide Switch au două poziții între care se poate comuta prin tragerea cu mouse-ul pe poziția dorită.

Fig.5.18. Reprezentarea pe panou Reprezentarea pe diagramă

– Butoanele Toggle Switch au două poziții între care se poate comuta prin tragerea cu mouse-ul pe poziția dorită.

Fig.5.19. Reprezentarea pe panou Reprezentarea pe diagram

– Butoanul Push Button are două poziții între care se poate comuta prin apăsarea cu mouse-ul.

Fig.5.20. Reprezentarea pe panou Reprezentarea pe diagramă

– Butoanele de tip Text, OK, Cancel și Stop permit utilizatorului să introducă anumite comenzi.

Fig.5.21. Reprezentarea pe panou Reprezentarea pe diagram

V.9. Leduri

Acestea se găsesc în paleta de controale ca în figura următoare:

Fig. 5.22. Paleta de controale

Ledurile sunt de două feluri Round LED și Square LED și au următoarele reprezentări.

Fig.5.23. Reprezentarea pe panou Reprezentarea pe diagram

V.10. Meniul contextual și variantele pentru acțiunea mecanică

Pictograma asociată opțiunilor comportării mecanice pune în evidență în mod grafic succesiunea operațiilor prin trei diagrame: acțiunea utilizatorului cu mouse-ul asupra controlului (M), noua valoare logică a controlului (V), momentul preluării valorii controlului la nivelul diagramei bloc (RD).

Semnificația comportării mecanice a controalelor booleene este următoarea:

a1 – controlul își modifică valoarea logică la fiecare apăsare a butonului mouse-lui. Valoarea controlului nu este afectată de preluarea în timp a în diagrama bloc (RM lipsă);

a2 – valoarea logică a controlului se modifică după eliberarea butonului mouse-lui. Controlul își păstrează valoarea până la următoarea interacțiune a utilizatorului. Valoarea controlului nu este afectată în timp de diagrama bloc.

a3 – valoarea logică a controlului se modifică la apăsarea butonului, se reține până la eliberarea butonului mouse-lui după care revine la valoarea inițială anterioară apăsării. . Valoarea controlului nu este afectată în timp de diagrama bloc.

b1 – valoarea logică a controlului se modifică la apăsarea butonului, este reținută la starea actuală până când este preluată de diagrama bloc (există o scurtă “temporizare”) și revine la starea anterioară acționării după preluarea valorii în diagrama bloc.

b2 – valoarea logică a controlului se modifică la eliberarea butonului mouse-lui, rămâne la noua stare până când este preluată de diagrama bloc după care revine la starea inițială anterioară interacțiunii.

b3 – valoarea logică a controlului se modifică la apăsare și rămâne în starea rezultată până când diagrama bloc a preluat noua valoare și a fost eliberat butonul mouse-lui.

Fig.5.24. Pictograma asociată opțiunilor comportării mecanice

V.11. Controale și indicatoare de tip șir de caractere

Comportamentele de interfață tip șir de caractere permit citirea /afișarea mărimilor

aparținând acestui tip de dată. În etapa construirii panoului frontal, se introduce o valoare pentru un control șir de caractere prin unealta de etichetare sau de operare.

V.12. Controale si indicatoare tip tablou si grupare de date

Tablou (Array) este o structura de date compusă, (figura 5.25.) cu elemente aparținând aceluiași tip: numeric, boolean, șir de caractere, cale de fișier (path), identificator unic (refnum) grupare de date (cluster). Se spune ca tabloul este o structură omogene de date. Elementele dețin în cadrul structurii compuse o poziție bine determinată; accesul la o celulă se face prin indexare.

Pentru un tablou cu N elemente, primul element se găsește la poziția 0, iar ultimul element din tablou la poziția N-1. Un tablou poate avea mai multe dimensiuni; numărul maxim de elemente /dimensiuni este 231 – 1.

Fig5 25.. Tablou uni- multi dimensional

Pentru crearea în panoul frontal a unui control / indicator de tip tablou, se selectează din

căsuța cu controale (Array & Cluster), un obiect „ Tablou” așa cum se indica în fig.5.26

Fig.5.26. Array & Cluster

După plasarea obiectului de interfață tip tablou la șirul dorit, pe suprafața panoului frontal, se va indica eticheta proprie a variabilei. Astfel s-a definit o variabilă de tip tablou, pentru care urmează să se indice tipul elementelor. Numai variabila tip tablou singură nu poate fi folosită, neavând asociată vreo semnificație de control sau indicator; se spune despre o variabilă de tip tablou că este indicator sau control după tipul elementelor.

Pentru componenta tablou sunt afișate două căsuțe: căsuța indicelui, din partea stângă și

căsuța valoare din partea dreapta; într-o căsuță valoare se afișează valoarea elementului tabloului de pe poziția prezentată în căsuța indice.

V.13. Grupare de date (Cluster) este o structură compusă de date. Nu este obligatoriu ca elementele componente să aparțină aceluiași tip, spre deosebire de limitarea apartenenței unice a tipului la elementele unui tablou (Array).

Fig.5.27. Clustere

Prin operația de grupare programatorul are acces simultan la toate elementele conținute într-o variantă de tip grup, spre deosebire de tablouri unde prin indexare se obține accesul la un singur element. Fiecare element dintr-o structură de tip grupare de date are asociat un număr de ordine.

Numărul de ordine asociat elementelor grupului este actualizat automat în momentul realizării operațiilor de adăugare sau eliminare elemente.

V.14. Controale și indicatoare pentru reprezentări grafice

Prin intermediul acestor componente de interfață plasate în panoul frontal, se permite

vizualizarea reprezentărilor grafice. Indicatoarele primesc valori numerice necesare realizării

reprezentării grafice, în urma prelucrării din diagrama bloc. Controalele se utilizează în locul

indicatoarelor dacă valorile necesare realizării reprezentării grafice sunt primite ca parametri de intrare pentru IV curent, folosit drept subrutina (sub IV). Nu se permite utilizatorului să realizeze o reprezentare grafică interacționând direct asupra unui control.

Caseta cu unelte grafice reține elementele, care se pot folosi de către utilizator în faza de

execuție a IV, prin care se realizează operații de scalare și de stabilire a unor opțiuni asociate

reprezentării. Componentele de interfață, dedicate reprezentărilor grafice, se împart în doua categorii generale:

• Diagrama (chart);

• Grafic (graph).

Diagramele sunt reprezentări grafice ale unei mărimi, care se modifica pe o perioadă de

timp. Graficele reprezintă variația a doua mărimi: y în funcție de x.

Diagrama spre deosebire de grafic păstrează punctele reprezentate anterior, permițând

vizualizarea variației în timp a procesului; noile puncte sunt afișate în continuarea celor vechi.

Reprezentarea punctelor curente în grafic se face după ștergerea reprezentării anterioare. Sunt disponibile 5 tipuri de componente de interfață pentru vizualizarea reprezentării grafice:

1. diagrama unda (waveform charts);

2. grafice unda (waveform graphs);

3. grafice XY (XY graphs);

4. diagrame intensitate (intensity charts);

5. grafice intensitate (intensity graphs).

V.15. Graficele undă

Se utilizează pentru reprezentarea funcțiilor de o variabilă, având punctele distribuite

uniform pe axa absciselor. Aceasta se aseamănă cu diagrama undelor; se permite realizarea uneia sau mai multor reprezentări simultane.

Diagrama undă

Diagrame undă (waveform charts) reprezintă indicator grafic pentru vizualizarea unuia sau mai multor reprezentări grafice simultan, pentru care se urmărește variația în timp.

Diagrama undă dispune de un meniu contextual (asemănător cu cele pentru restul controalelor / indicatoarelor) prin intermediul căruia indicatorul poate fi particularizat funcție de problema de rezolvat (fig.5.28.

Unui element de tip Chart i se pot trimite în mod succesiv, punct cu punct, valorile ordonatelor punctelor pe care sa le traseze grafic.

Un element de tip Chart consideră valorile succesive pe care le primește drept ordonate ale punctelor de pe grafic.

Abscisele punctelor sunt considerate automat crescătoare din unitate în unitate (0 pentru prima valoare primită, 1 pentru a doua s.a.m.d.).

Atunci când primește o nouă valoare, un element Chart trasează un segment de dreaptă din punctul cel mai recent (ultimul de pe grafic) până în punctul determinat de noua valoare primită.

Selectarea elementelor pentru care se dorește a fi vizibile din Visible Items;

-Formatarea scalei X și Y prin opțiunile X Scale și respectiv Y Scale;

-Vizualizarea mai multor grafice pe aceeași diagramă prin selectarea opțiunii Stack Plots. Revenirea la forma inițială se realizează prin selectarea opțiunii Overlay Plots.

-Actualizarea diagramei prin selectarea opțiunilor Advanced / Update Mode:

Diagrama tip panglică (strip chart) – noile puncte se afișează în partea dreaptă a celor existente, în timp ce punctele vechi sunt retrase spre stânga;

Diagrama tip osciloscop (scope chart) – noile puncte se afișează în partea dreaptă a celor existente. În momentul în care reprezentarea atinge marginea din dreapta a zonei vizibile, reprezentarea este ștearsă și reîncepută din marginea din stânga;

Diagrama tip baleiere (sweep chart) – noile puncte se afișează în partea dreaptă a celor existente. La atingerea marginii din dreapta a zonei vizibile, noile puncte sunt afișate începând din partea stângă, peste cele vechi. O linie verticală baleiază zona de vizualizare delimitând zona punctelor noi și a celor vechi (din dreapta).

Ștergerea ferestrei de afișare prin selectarea opțiunii Data Operations / Clear Chart;

Selectarea modului de reprezentare a curbei (puncte sau linie, culoare, grosime,..) din legenda Plot.

Fig.5.28. Transmiterea unei singure valori în reprezentarea grafică prin diagramă undă

V.16. Graficul XY

Este componenta cea mai generală, care permite realizarea reprezentărilor grafice ale

funcțiilor de două variabile X și Y. De asemenea se pot realiza una sau mai multe reprezentări simultane(figura 5.29).

Graficul XY se găsește în subpaleta Grapf a paletei de controale. Graficul XY este un grafic în coordonate carteziene. Pentru reprezentare este necesară specificarea coordonatelor punctelor de reprezentat (x, y). În același timp prin această facilitate pot fi reprezentate funcții circulare sau elipsoidale.

Un element de tip XY Graph acceptă la intrare un Cluster format din două șiruri (Array) de valori. Primul șir reprezintă abscisele iar cel de-al doilea ordonatele punctelor de pe grafic. Evident, cele două șiruri trebuie să conțină același ăde valori.

Atunci când se primește o astfel de structură de date, graficul anterior este șters.

Fig.5.29. Graficul XY

V.17. Diagrama intensitate

Permite reprezentarea grafică a valorilor numerice prin intermediul unor dreptunghiuri pline, colorate. Valorile numerice sunt reținute într-o structură tip matrice; elementele matricii reprezintă codurile culorilor de umplere a zonelor dreptunghiulare. Codurile culorilor sunt preluate dintr-o structură care reține corespondența cod-culoare.

V.18. Graficul intensitate

Are o comportare asemănătoare diagramei intensitate, deosebirea constă în faptul că la

graficul intensitate, în momentul afișării noilor puncte, se șterg prima data reprezentările anterioare.

V.19. Diagrama Bloc

Fig. 5.30. Diagrama bloc

Părții din interfața grafică cu utilizatorul, dată de panoul frontal, îi corespunde diagrama

bloc, care reține codul programului și definește funcționalitatea IV.

Elementele utilizate la realizarea diagramei bloc sunt clasificate în trei grupe generale:

1. noduri;

2. terminale;

3. fire.

V.20. Nodurile

Sunt elemente de execuție din limbajul G, ale unui IV. Nodurile din limbajul G corespund operatorilor, funcțiilor predefinite, instrucțiunilor, subrutinelor realizate de utilizator – din limbajele convenționale de programare structurată.

Exista șapte tipuri de noduri:

• Funcții predefinite;

• Subrutine;

• Instrucțiuni pentru controlul execuției programelor;

• Formule de calcul;

• Noduri proprietate;

• Variabile locale și globale;

Un nod se execută doar în momentul, în care există valori disponibile pentru toți parametrii de intrare; date-rezultat sunt furnizate simultan în exterior, doar după ce toate operațiile din corpul nodului s-au realizat.

V.21. Terminalele

Reprezintă „porți” prin intermediul cărora se realizează transferul datelor:

– între panoul frontal și diagrama bloc (bidirecțional);

– între nodurile diagramei bloc (unidirecțional).

Terminalele se regăsesc în diagrama IV și au asociată o reprezentare grafică sugestivă.

Exista 4 tipuri de terminale:

– asociate controalelor și indicatoarelor din panoul frontal;

– asociate nodurilor;

– constante;

– particulare instrucțiunilor pentru controlul execuției programelor.

Cele 4 tipuri se grupează în :

– terminale sursă;

– terminale destinație.

V.22. Firele

Definesc și reprezintă grafic fluxul datelor (între noduri se realizează schimbul de

informații) în diagrama bloc. Fluxul datelor este de la terminalele sursa spre terminalele destinație.

Fiecare tip de dată este codificat cu ajutorul culorilor după cum se observă și în figura de

mai jos:

Fig.5.31. Codificarea datelor dupa culoarea firelor

A treia componentă unui IV este pictograma și conectorul. Prin stabilirea pictogramei și conectorului, acel instrument virtual va putea fi folosit ca și subrutină în diagrama bloc a altui IV.

V.23. Instrucțiuni pentru controlul execuției programelor

Instrucțiunile pentru controlul execuției programelor îmbunătățesc posibilitatea de realizare a funcționalității IV. Există 4 instrucțiuni pentru controlul execuției programelor:

-instrucțiunea repetitivă While (While Loop);

-instrucțiunea repetitivă (For Loop);

-instrucțiunea de selecție (Case); de decizie

– instrucțiunea secvențială (Sequence)

Fiecărei instrucțiuni de control îi este asociată o reprezentare grafică distinctivă, pe baza

căreia poate fi recunoscută vizual în diagrama bloc a IV. Blocul operațiilor care definesc corpul instrucțiunii constituie subdiagrama.

V.23.1. Instrucțiunea repetitive While (iterative)

Reluarea execuției corpului instrucțiunii repetitive „While” este condiționată de valoarea

logică a expresiei de oprire: pentru valoarea logică „Adevărat” se reia execuția subdiagramei

structurii iar pentru valoarea logica „ Fals” are loc încheierea instrucțiunii.

Instrucțiunea „While” este o structură repetitivă, cu test final; corpul instrucțiunii se

execută cel puțin o dată și se repetă, cât timp valoarea este „Adevărat” (True).

Prin intermediul registrelor de transfer se permite furnizarea rezultatelor între iterații

succesive ale instrucțiunii repetitive. Auto-indexarea nu se aplică implicit pentru un tunel (intrare – ieșire) de pe structura While: programatorul trebuie să indice explicit pentru fiecare tunel, dacă se dorește utilizarea auto-indexării.

Numărul de repetări ale corpului nodului While este controlat, în primul rând de

valoarea logica („Adevărat”) a expresiei de oprire și mai puțin de dimensiunea unui tablou furnizat diagramei printr-un tunel de intrare, care folosește autoindexarea. După parcurgerea tuturor elementelor tabloului, valoarea implicită asociată tipului elementului de tablou se va transfera corpului buclei, în toate iterațiile următoare, astfel:

• Dacă tipul elementului de tablou este real, atunci valoarea implicită este 0.00E+0;

• Dacă tipul elementului de tablou este un număr întreg sau natural, valoarea implicită

este 0.

Principalele elemente ale unei structuri „While” sunt:

– terminalul expresiei de ieșire;

– terminalul contor de ciclu pentru instrucțiunea „While” (terminalul iterații);

– butonul de părăsire a subIV curent și revenire în IV apelant.

Fig. 5.32. Bucla While și terminalele aferente

V.23.2. Instrucțiunea repetitivă For

Instrucțiunea repetitivă (ciclică) For asigură reluarea instrucțiunilor, care alcătuiesc corpul ciclului de un număr de ori. Stabilirea valorii numărului de iterații se poate face prin doua metode:

– se furnizează o valoare printr-o legătură la terminalul N;

– dimensiunea tabloului transferat instrucțiunii For printr-un tunel de intrare (care

permite auto-indexarea) este atribuită numărului de ciclări.

Fig5.33. . Structura repetitivă For

Contorul “N” care indică numărul de cicluri n de executat din operațiile considerate. Valoarea acestuia se impune să fie un număr natural.

Indexul “i” care indică valoarea curentă a iterației și ia valori în intervalul

Fig. 5.34. Exemplificarea buclei For prin construcția funcției „sin”

Valoarea iterației curente este dată de terminalul contor. După prima iterație valoarea

terminalului este 0, după a doua iterație este 1,… pentru iterația N este N-1.

Transferul elementelor unui tablou (aflat în exteriorul structurii repetitive) în interiorul

subdiagramei instrucțiunii „For” se face printr-un tunel de intrare, situat pe chenarul buclei.

Tunelul de intrare permite implicit și auto-indexarea în cazul instrucțiunii For: elementele subdiagramei sunt furnizate pe rând subdiagramei, câte unul la fiecare iterație, începând cu primul element (de indice 0); dimensiunea tabloului dă valoarea numărului de cicluri.

V.23.3. Instrucțiunea de selecție CASE

Este o instrucțiune de tip decizională (de ramificație)

Instrucțiunea condițională sau de selecție multiplă permite executarea unei instrucțiuni

(poate fi compusă) din mai multe alternative, pe baza valorii unei singure expresii, numită expresie selector. Instrucțiunea cuprinde două sau mai multe subdiagrame: fiecare subdiagramă corespunde unei alternative /caz.

Instrucțiunile condiționale și de selecție multiplă sunt realizate în limbajul G prin

instrucțiunea CASE. Este vorba de două instrucțiuni reunite într-una singură, selecția făcându-se după tipul expresiei selector:

– tipul boolean selectează instrucțiunea condițională (echivalenta cu IF-THEN-ELSE din

limbajele de programare bazate pe text);

– tipul numeric sau șir de caractere selectează instrucțiunea de selecție multiplă

(echivalenta cu Case sau Swich din limbajele de programare bazate pe text)

Fig. 5.35. Structura Case

Fig. 5.36. Exemplficarea structurii Case cu variabilă de control numerică:

a – panoul frontal; b – diagrama bloc

V.23.4. Instrucțiunea secvențială

Instrucțiunea secvențială permite programatorului să impună ordinea de execuție a anumitor subdiagrame, între care nu există dependența datelor; de exemplu înaintea subdiagramei de prelucrare a datelor este necesar să se execute subdiagrama, care realizează inițializarea /salvarea mediului curent de lucru.

Corpul instrucțiunii secvențiale este format din una sau mai multe subdiagrame; fiecare

subdiagramă este reținută de un cadru. Cadrele sunt dispuse unul sub celalalt, la un moment dat fiind afișat conținutul unui singur cadru. Ordinea de execuție a subdiagramelor reținute de

instrucțiunea secvențială este dată de numărul de ordine al cadrului; primul cadru are valoarea 0, al doilea are valoarea 1, al treilea cadru are valoarea 2 și așa mai departe. Numărul de ordine al subdiagramei curente este afișat în partea superioara a chenarului instrucțiunii.

Semnificația elementelor din diagrama bloc a IV se prezintă în continuare:

– numărul subdiagramei curente;

– control pentru trecerea la subdiagrama anterioară;

– lista derulantă conținând numerele cadrelor;

– terminalul tip tunel de intrare;

– terminalul de ieșire local al secvenței;

– terminalul de intrare local al secvenței;

Trecerea de la o subdiagramă la alta se face prin elementele de control aflate în partea

superioară și centrală a cadrului instrucțiunii.

Fig. 5.37. Exemplu de structură secvențială plată cu 3 cadre

Structurile secvențiale plate se execută de la stânga la dreapta când toate datele legate la cadru sunt disponibile. Se recomandă structura secvențială plată pentru a evita secvențele locale și pentru o documentare mai bună a diagramei bloc. În figura 5.37 se prezintă o editare a unei structuri secvențiale plate formate din trei cadre.

În primul cadru se realizează operația de multiplicare a valorii controlui introdus în panoul frontal iar rezultatul este transferat spre cadrul 2. În cadrul 2 și 3 se execută alte două operații matematice care se bazează pe rezultatul anterior. Condiționarea privind succesiunea operațiilor și o ordonare clară a diagramei s-a soluționat astfel prin structura secvențială plată.

VI. Realizarea panoului frontal al instrumentlor virtuale realizate

Panoul frontal al unui IV definește interfața grafică cu utilizatorul sau ceea ce va vedea utilizatorul pe ecranul calculatorului. Instrumentul virtual este un program. La execuția instrumentului virtual, se vede panoul frontal(figura 6.2) pe monitorul calculatorului. Obiectele grafice de interfață, disponibile pentru realizarea panoului frontal, se împart în controale și indicatoare. Prin intermediul controalelor, utilizatorul introduce sau actualizează valorile datelor de intrare; indicatoarele sunt folosite pentru a afișa rezultatele prelucrărilor.

Obiectele care trebuie selectate pe panoul frontal sunt:

– Obiectul Num Ctrl permite introducerea de numere prin apăsarea cu mouse-ul pe săgețile laterale reprezentând amplitudinea(amplitude)

– Obiectul Num Ctrl permite introducerea de numere prin apăsarea cu mouse-ul pe săgețile laterale reprezentând faza(phase)

– Obiectul Num Ctrl permite introducerea de numere prin apăsarea cu mouse-ul pe săgețile laterale reprezentând frecvența(frequency)

– Obiectul Num Ctrl permite introducerea de numere prin apăsarea cu mouse-ul pe săgețile laterale reprezentând tensiunea de decalaj(offsetul)

– Obiectul Num Ctrl permite introducerea de numere prin apăsarea cu mouse-ul pe săgețile laterale reprezentând zgomotul amplitudinii(noise amplitude)

– Obiectul Num Ctrl permite introducerea de numere prin apăsarea cu mouse-ul pe săgețile laterale reprezentând frecventa de taiere inferioara (lower cut-off)

-Butonul de resetare semnal intrare

-Butonul STOP ce oprește rularea buclei While

-Butonul "salveaza fisier" care salveaza valorile pozitive ale varfului semnalului filtrat (positive peak) atunci cand utilizatorul face click pe el .

– Obiectul Num Ind permite vizualizarea valorilor pozitive ale varfului semnalului filtrat (positive peak)

– Obiectul Num Ind permite vizualizarea valorilor negative ale varfului semnalului filtrat (negative peak)

– 2 round leds care ne avertizeaza cand valoare depaseste o limita specifica ( in cazul nostru 2.5 pentru positive peak; -2.5 pentru negatie peak).

– un tabel care afiseaza valorile medii pentru fiecare 7 esantioane ale semnalului sinusoidal.

-Sase obiecte de tip XZ Graph

-un element de tip grafic cu ajutorul căruia se simulează un osciloscop ce reprezintă sinusoida nefiltrată fara zgomot + sinusoida nefiltrata cu zgomot

-un element de tip grafic cu ajutorul căruia se simulează un osciloscop ce reprezintă semnalul filtrat

-un element de tip grafic cu ajutorul căruia se simulează un osciloscop ce reprezintă cele două semnale descrise anterior pentru o vizualizare și comparare mai bună a celor două semnale (prelucrat și neprelucrat)

– un element de tip grafic cu ajutorul caruia se simuleaza un osciloscop ce reprezinta semnalul filtrat + semnal redus cu un factor de 7 esantioane.

– un element de tip grafic cu ajutorul caruia se simuleaza un osciloscop ce reprezinta spectrul amplitudinii(amplitude)- grafic ce arata valoarea amplitudinii tututor aromonicilor a unui semnal .

– un element de tip grafic cu ajutorul caruia se simuleaza un osciloscop ce reprezinta spectrul fazei initiale(phase)- grafic ce arata valoarea fazelor initiale a tuturor armonicilor.

Fig.6.1. Paleta de controale

Un element de tip Graph consideră de asemenea valorile succesive pe care le primește drept ordonate ale punctelor de pe grafic.

În modul implicit, abscisele punctelor sunt considerate automat crescătoare din unitate în unitate (0 pentru prima valoare primită, 1 pentru a doua ș.a.m.d.).

Spre deosebire de elementele Chart, atunci când primește un șir de valori, elementul Graph șterge graficul pe care îl afișase anterior și afișează doar graficul format din noile puncte primite. Graficul din figura alăturată se va schimba la fiecare secunda. Valorile afișate anterior se vor pierde.

Fig.6.2. Panoul frontal al lucrării: Reprezentarea datelor înainte și după filtrare

Indicatoarele booleene sunt reprezentări vizuale ale valorii logice și se prezintă sub forma unor led-uri rotunde sau pătrate. În unele variante există o suprapunere de funcție prin existența indicatorului optic în control. În figura 6.3 se prezintă varianta grafică a două controale . În scop demonstrativ fiecare control este conectat la un indicator suplimentar.

Există mai multe realizări grafice de controale tip boolean: butoane care pot fi apăsate, comutatoare orizontale și verticale, întrerupătoare de tip pârghie (bistabile).

Controalele / indicatoarele de tip boolean dispun de un meniu contextual asemănător în partea superioară celor numerice dar diferit în ceea ce privește referirile la tipul de dată reprezentat. Controalele au activă opțiunea Mechanical Action (figura 6,3) care permite selectarea modului de comutare sau zăvorâre funcție de apăsare sau eliberare. Prin alegerea opțiunii Change to Indicator / Change to Control rolul obiectului în panoul frontal poate fi schimbat.

Fig.6.3. Obiecte Num Ctrl/Obiecte Num Ind

Buton al buclei While (figura 6.4)ce va permite efectuarea ciclurilor până la infinit adică atâta timp cât acest buton nu este apăsat rezultă: condiție logică adevărată.

Dacă butonul va fi apăsat bucla While nu va mai rula.

Dacă instrucțiunea va fi falsă ciclul se va efectua doar o singură dată.

Butonul Abort execution opreste VI-ul imediat inainte ca , inainte ca VI-ul sa termine itereatia curenta. Daca VI-ul utilizeaza resurse externe precum hardware-ul extern, si este intrerupt ar putea parasi resursa fara a o elibera corespunzator. De aceea este bine sa configuram butonul stop cum se cuvine.

Fig.6.4. Butonul buclei While/buton abort execution.

VII. Realizarea diagramei bloc a instrumentelor virtuale realizate

VII.1. Diagrama bloc 

    Diagrama bloc (figura 7.16)însoțește panoul frontal și poate fi imaginată ca fiind un cod sursă, așa cum este cunoscut în limbajele de programare clasice. Componentele sale reprezintă nodurile programului, precum structurile de decizie, operatorii matematici, funcțiile de prelucrare logice etc. Între componente interiorul instrumentului virtual creat de program.

În fereastra diagramă, după amplasarea obiectelor de intrare și de ieșire, se construiește o diagramă a fluxului de date, utilizând funcțiile instrumentelor virtuale disponibile în paleta de funcții, legăturile se realizează prin fire (wire) care descriu fluxul de date în cadrul diagramei.

Instrumentul de cablare este folosit în realizarea programului pentru a lega elementele programului conform diagramei fluxului de date corespunzător aplicației. Cablarea aplicației cu fir continuu denotă o legătură corectă.

Fig.7.1. Paleta de funcții

În continuare vor fi prezentate toate componentele ce au fost utilizate pentru realizarea diagramei bloc. Ele sunt enumerate în ordinea în care au fost puse în diagramă.

VII.2. Structura repetitivă cu conditie de terminare (bucla While)

O bucla While (figura 7.2) executa portiunea de diagrama pe care o conține până când la terminalul de continuare (aflat în colțul dreapta – jos) apare o anumită valoare booleană. Atunci când o buclă While este dispusă în diagramă, terminalul său de continuare se află în starea implicită Continue If True. Bucla va continua să execute iterații succesive atât timp cât la terminalul său de continuare ajunge o valoare logică True. Dacă la terminalul de continuare ajunge o valoare logică False, bucla While nu mai trece la următoarea iterație ci își încheie execuția.

Starea implicită a terminalului de continuare poate fi modificată. Terminalul poate fi trecut în starea Stop If True fie cu unealta de operare, fie apăsând butonul drept al mouse-ului și selectând starea din meniul propriu. În starea Stop If True bucla While își va încheia execuția atunci când la terminalul de continuare ajunge valoarea logică True.

În colțul stanga – jos, bucla While dispune de un terminal numărător (notat cu i) care generează o valoare naturală reprezentând indicele iterației curente (aflate în curs de execuție). Indicii iterațiilor sunt numerotați începand cu valoarea 0.

Fig.7.2. Structura repetitivă cu condiție de terminare (bucla While)

VII.3. Funcția Simulate Signals

În realizarea diagramei bloc s-au folosit instrumente virtuale de tip Express și anume VI-ul Express pentru simularea diferitelor forme de semnal(figura 7.3), cu stabilirea parametrilor lor (Functions> Express > Signal Analysis > Simulate Signals)

VII.4. Setarea parametrilor blocului ales Simulate signal (generator semnal)

Din aceasa fereastră se pot seta următorii parametri :

-Forma semnalului(sinusoidal, dinte de fierastrău, undă pătrată, triunghiular, DC)

– Semnal cu sau fără zgomot

– Frecvență

-Amplitudinea

-Tensiunea de decalaj(offset)

-Perioada

-Faza

-Opțiune de numire (editare) tip semnal

– Previzualizare semnal setat

Fig.7.3. Icon și tablou de configurare parametri bloc ales (Generator semnal )

VII.5. Setarea parametrilor blocului ales (Filtru)

Din aceasa fereastră(figura 7.4) se pot seta următorii parametri :

-Topologia filtrului(Buterworth, Chebyshev, Eliptic , Bessel)

– Frecvențele de lucru (inferioare și superioare)

– Tipul fitrului (FTJ, FTS, FTB, FOB)

– Filtru de tip IIR sau FIR

– Tipul armonicii

-Funcția de transfer

-Previzualizare semnal setat

Fig.7.4. Icon și tablou de configurare parametri bloc ales (Filtru)

VII.6. Setarea parametrilor blocului ales (Amplitudine si nivel de masurare)

Din aceasa fereastră(figura 7.5) se pot seta următorii parametri :

– Valoarea varfului maxim (maximum peak)

– Valoarea varfului minim (minimum peak)

– Valoarea varf la varf a semnalului (peak to peak)

– Semnalul de intrare ( input signal)

– Previzualizare semnal (result preview)

Fig.7.5. Icon și tablou de configurare parametri bloc ales (Amplitudine si nivel de masurare)

VII.7. Setarea parametrilor celor 2 blocuri alese ( Comparatie )

Din aceasa fereastră(figura 7.6) se pot configura următorii parametri :

– elemente de comparare( items to compare) : puncte de date ( data points) , time between points ( timp intre puncte ) numarul punctelor de date ( number of data points )

– conditie de comparare (compare condition) > mai mare (greater) < mai mic ( less ) = egal (equal)

– semnal intrare ( signal input )

– previzularizare semnal (preview signal) se afiseaza valoarea pe un numeric indicator pe panoul frontal la rularea aplicatiei si se aprinde ledul de avertizare in caz ca se indeplineste conditia .

Fig.7.6. Icon și tablou de configurare parametri bloc ales (Comparatie)

VII.8. Setarea parametrilor blocului ales (Reducere esantion)

Din aceasa fereastră(figura 7.7) se pot seta următorii parametri :

– factor de reducere ( reduction factor) se introduce o valoare care reduce numarul de esantioane ( in cazul nostru 5)

– metode de reducere ( reduction methods ) : mediu ( mean) mai precis valoare medie a celor 5 esantioane reduse a semnalului filtrat , minim (minimum) , maxim ( maximum)

– semnal de intrare ( input signal)

– previzulizare semnal ( preview signal)

Fig.7.7. Icon și tablou de configurare parametri bloc ales (Reducere esantion)

VII.9. Setarea parametrilor blocului ales (Masuratori spectrale)

Din aceasa fereastră(figura 7.8) se pot seta următorii parametri :

– marimea varfului ( magnitude peak)

– previzualizare marimea amplitudinii rezultate ( magnitude result preview) mai pe scurt spectrul amplitudinii.

– previzualizare faza rezultata (rad) de aseamenea se poate converti in grade ( degree) prin bifarea casutei convert to degree ( spectrul fazei)

Fig.7.8. Icon și tablou de configurare parametri bloc ales (Masuratori spectrale)

VII.10. Setarea parametrilor blocurilor alese (Stocheaza fiser de masurare)

Si in final din aceasa fereastră(figura 7.9) se pot seta următorii parametri :

– numele fisierului(file name) si locatia unde se vor stoca datele

– descrierea fisierului ( file description )

– o observatie importanta este acea ca noi avem 2 VI- uri write to measurment file pe care le-am configurat diferit : – acesta este configurat sa salveze datele varfului maxim al unui semnal filtrat doar in momentul cand se apasa pe butonul "salveaza fisier" de pe panoul frontal. – celalalt este configurat sa stocheze datele varfului minim al unui semnal filtrat intr-un fisier pe toata perioada cand ruleaza programul.(mai precis acestuia nu i-am legat un buton la intrarea enable a VI-ului)

Fig.7.9. Icon și tablou de configurare parametri bloc ales (Stocheaza fisier de masurare )

Fig.7.10. Reprezentarea pe diagramă a butoanelor de control/indicatoarelor

Dupa cum se poate observa controalele (marimile de intrare au o sageata in partea din dreapta ) prin intermediul lor utilizatorul introduce datele de intrare iar indicatoarele (marimile de iesire au o sageata in partea stanga) sunt folosite pentru a afisa rezultatele prelucrarilor.

Fig.7.11. Reprezentarea pe diagramă a grafurilor

VII.11. Funcția Merge Signals

Pentru a compara pe același grafic semnalul generat de simulate signal expres VI și semnalul modificat prin filtrare putem utiliza functia Merge Signals

Această funcție reprezintă un element încorporat de execuție, comparabilă cu un operator sau o instrucție într-un limbaj de programare. Funcția Merge Signal preia două semnale separate și le combină astfel încât ambele pot fi afișate pe același grafic. În urma aducerii acestei funcții graficul va apărea ca în fig.7.12.

Fig.7.12. Functia Merge Signals

De asemenea o functie aproximativ la fel dar totusi diferita cu cea Merge Signal este functia Formula .

Aceasta functie Formula preaia cele doua semnale nefiltrate : unul fara zgomot si celalalt cu zgomot generate de cele 2 Simulate signal si le afiseaza pe acelasi grafic efectuand operatia de adunare "+" . Daca pe graficul cu semnalul nefiltrat introducem o amplitudine de valoare (2 de exemplu) pe graficul semnalului nefiltrat amplitudinea apare cu valoarea de 4 pentru ca s-a efectuat operatia matematica de adunare.

sinus fara zgomot + sinus cu zgomot = 2 + 2 = 4 , desigur aceasta formula poate fi configurata cu orice operatie ( + – x / ) .

Fig.7.13. Icon-ul (Formulei) configurarea a fost descrisa mai sus.

VII.12. Funcția STOP

În cadrul unei structuri repetitive de tip While (care se execută până în momentul opririi programului din butonul STOP), se găsesc elementele de reglare a mărimilor simulate.

Fig.7.14. Butonul STOP din bucla de tip While

VII.13. Execuția programului

Barele de butoane ale panoului și diagramei conțin o serie de elemente ce permit stabilirea modului de rulare a unui program(figura 7.15).

Apăsarea butonului Run va conduce la rularea o singura data a programului. Va fi parcurs întreg fluxul de date din diagrama, după care programul se va opri.În timpul rulării programului, butonul Run își schimbă forma și se aprinde un buton Abort execution.

Apăsarea acestui din urma buton în timpul rulării va determina întreruperea acesteia.Apăsarea butonului Run Continuously va conduce la rularea repetată, fără oprire, a programului. Pe parcursul acestui mod de rulare, își schimbă forma atât butonul Run Continuously cât și butonul Run, și se aprinde de asemenea butonul Abort execution.

Întreruperea rulării nu are loc decât la comanda utilizatorului, prin apăsarea butonului Abort execution. Atât pe parcursul rulării simple cât și pe cel al rulării continui, utilizatorul are posibilitatea de a suspenda rularea prin apăsarea butonului Pause.

Apăsarea acestui buton îi schimba forma și îl transformă în butonul Continue, prin a cărui apăsare se comandă reluarea unei rulări suspendate. Dacă, atunci când rularea este suspendată, se trece în fereastra diagrama, programul semnalizează prin aprindere intermitentă zona ce era în curs de execuție atunci când s-a comandat suspendarea. În diagramă, atunci când rularea este suspendată, utilizatorul are posibilitatea de a continua rularea pas cu pas, utilizând setul de trei butoane din dreapta.

În orice mod de rulare, prin apăsarea butonului Highlight Execution, utilizatorul are posibilitatea de a urmări o animație ce sugerează deplasarea valorilor prin fluxul de date.

Atunci când o valoare părăsește o componenta a diagramei ce este o sursa a unei legături, valoarea respectiva este afișata în diagramă.

Fig.7.15. Moduri de rulare a unei aplicații

Aplicația se execută prin intermediul panoului frontal. Execuția poate fi realizată în varianta simplă (săgeată unică) sau în varianta continuă (săgeți în cerc)

In diagrama bloc am folosit si un delay (intarziere) care are rolul de a adauga un timp de intarziere la diagrama bloc. Intervalul de timp pe care l-am selectat este de 1 secunda timp ce specifica cat de repede se executa bucla while.

VII.14. Diagrama propriuzisă

Diagrama este fereastra în care programatorul descrie algoritmul după care aplicația va efectua calculele și raționamentele necesare pentru prelucrarea informațiilor. În majoritatea cazurilor, după ce programatorul a realizat o aplicație și a livrat-o unui utilizator, acesta din urma nu mai are acces la diagramă.

VII.15. Fluxul de date

Fluxul de date este format din totalitatea legăturilor ce conectează diversele terminale de elemente, simboluri de funcții sau proceduri și structuri de programare din cadrul diagramei.

Rolul fluxului de date este acela de reprezentare grafica a algoritmului după care aplicația va prelucra datele de intrare pentru a calcula valorile de ieșire. Traseele ce formează fluxul de date pot fi simple, cu o sursă și o destinație, sau ramificate, cu o sursă și mai multe destinații.

Indiferent de modul sau sensul în care traseele sunt dispuse pe diagrama, "circulația" datelor în cadrul fluxului se efectuează doar de la surse către destinații.

Fig.7.16. Diagrama bloc a instrumentului virtual creat

Bibliografie

Bogdan Mihai, Măsurări electrice, Editura Universității , Sibiu, 2004

Bogdan Mihai, Instrumentație de Măsurare, Editura Universității "Lucian Blaga", ISBN 973-651-206-1, Sibiu, 2001

Bogdan Mihai, Măsurări Electrice și Electronice, Editura Universității "Lucian Blaga", ISBN 973-651-367-x, Sibiu, 2001

Bogdan Mihai, Analiza și Prelucrarea Numerică a Semnalelor din Sistemele Electroenergetice, Editura Mediamira, ISBN 973-9358-38-1, Cluj-Napoca, 2000

Bogdan Mihai, Panu Mihai, Noțiuni Generale de Inginerie Electrică și Electronică, Editura Universității “Lucian Blaga”, ISBN 973-651-190-1, Sibiu, 2000

Posca P., Ilie Beriliu, Spatari Ovidiu, Bogdan Mihai, Masurari electrice si electronice , Editura Universitatii "Lucian Blaga", Sibiu , 1999

Rosca Petru, Ilie Beriliu, Spatari Ovidiu Nicolae, Bogdan Mihai, Masurari electrice si electronice , Editura Universitatii , , 1999

Jawerth, B., Sweldens, W.An Overview of WaveletBased Multiresolution,Rep.of Dep.Mat. S.C.1998.

Van der Ziel A. Noise Surses, characterizationand measurement, Prentice-Hall. Inc. 1970.

Guțu V. Zgomotul electronic al filtrelor activeRC. Monografie, „TEHNICA INFO”, Chișinău 2010.

. Guțu V. The calculation of devices andequipment electronics own noise (SallenKes_scircuits), SIELMEN 2011 – 8th InternationalConference on Electromechanical and PowerSistems, Craiova, Iași – România, 2011.

Dementiev E.P. Elementy obshhej teorii linejnyxshumyashhix czepej. Gosenergoizdat, M-L 1968.

Ceangă E. and al. Sisteme, circuite și semnale.Partea I:Analiza semnalelor. Editura

ACADEMICA,Galați 2001.

LabVIEW Basics I, Course Manual. Austin, National Instruments, March 1998 LabVIEW Basics II, Course Manual. Austin, National Instruments, January 1998

LabVIEW User Manual. National Instruments, january 1998

Cottet, F, Ciobanu, O., Bazele programării în LabVIEW, Ed. Matrix Rom, Bucuresti 1998

Maier,V.,Maier C.D., LabVIEW în calitatea energiei electrice, Ed. Albastră, Cluj-Napoca 2002

Munteanu,M., Logofătu,B., Instrumentație virtuală LabVIEW, Ed. Credis, București 2003

Bibliografie

Bogdan Mihai, Măsurări electrice, Editura Universității , Sibiu, 2004

Bogdan Mihai, Instrumentație de Măsurare, Editura Universității "Lucian Blaga", ISBN 973-651-206-1, Sibiu, 2001

Bogdan Mihai, Măsurări Electrice și Electronice, Editura Universității "Lucian Blaga", ISBN 973-651-367-x, Sibiu, 2001

Bogdan Mihai, Analiza și Prelucrarea Numerică a Semnalelor din Sistemele Electroenergetice, Editura Mediamira, ISBN 973-9358-38-1, Cluj-Napoca, 2000

Bogdan Mihai, Panu Mihai, Noțiuni Generale de Inginerie Electrică și Electronică, Editura Universității “Lucian Blaga”, ISBN 973-651-190-1, Sibiu, 2000

Posca P., Ilie Beriliu, Spatari Ovidiu, Bogdan Mihai, Masurari electrice si electronice , Editura Universitatii "Lucian Blaga", Sibiu , 1999

Rosca Petru, Ilie Beriliu, Spatari Ovidiu Nicolae, Bogdan Mihai, Masurari electrice si electronice , Editura Universitatii , , 1999

Jawerth, B., Sweldens, W.An Overview of WaveletBased Multiresolution,Rep.of Dep.Mat. S.C.1998.

Van der Ziel A. Noise Surses, characterizationand measurement, Prentice-Hall. Inc. 1970.

Guțu V. Zgomotul electronic al filtrelor activeRC. Monografie, „TEHNICA INFO”, Chișinău 2010.

. Guțu V. The calculation of devices andequipment electronics own noise (SallenKes_scircuits), SIELMEN 2011 – 8th InternationalConference on Electromechanical and PowerSistems, Craiova, Iași – România, 2011.

Dementiev E.P. Elementy obshhej teorii linejnyxshumyashhix czepej. Gosenergoizdat, M-L 1968.

Ceangă E. and al. Sisteme, circuite și semnale.Partea I:Analiza semnalelor. Editura

ACADEMICA,Galați 2001.

LabVIEW Basics I, Course Manual. Austin, National Instruments, March 1998 LabVIEW Basics II, Course Manual. Austin, National Instruments, January 1998

LabVIEW User Manual. National Instruments, january 1998

Cottet, F, Ciobanu, O., Bazele programării în LabVIEW, Ed. Matrix Rom, Bucuresti 1998

Maier,V.,Maier C.D., LabVIEW în calitatea energiei electrice, Ed. Albastră, Cluj-Napoca 2002

Munteanu,M., Logofătu,B., Instrumentație virtuală LabVIEW, Ed. Credis, București 2003

Similar Posts