.06.studiul Reţelelor De Microfoane Utilizate Pentru Localizarea Surselor De Semnal [303494]

ROMÂNIA

MINISTERUL APĂRĂRII NAȚIONALE

ACADEMIA TEHNICĂ MILITARĂ „FERDINAND I”

FACULTATEA DE SISTEME ELECTRONICE ȘI INFORMATICE MILITARE

Specializarea: Transmisiuni

STUDIUL REȚELELOR DE MICROFOANE UTILIZATE PENTRU LOCALIZAREA SURSELOR DE SEMNAL

CONDUCĂTOR ȘTIINȚIFIC:

Col. conf. univ. dr. ing. Teofil-Cristian OROIAN

ABSOLVENT: [anonimizat]. Daniel TOMA

BUCUREȘTI

2018

Abstract

This paper explains a way of implementing methods of localization of acoustic signal sources based on signal processing with second order statistics. The architecture of the created device contains a web camera and five microphones connected with a data acquisition card to a laptop through a connector block.

[anonimizat]. The second chapter is meant to present theoretical notions about locating signal sources. [anonimizat]. [anonimizat].

At project’s final will pe exposed the drawn conclusions and possible improvements of system’s development.

Rezumat

Această lucrare explică o variantă de implementare a metodelor de localizare a surselor de semnal acustic bazate pe prelucrarea semnalelor prin statistici de ordinul doi. Arhitectura dispozitivului creat cuprinde o cameră web și cinci microfoane conectate cu o placă de achiziție la un laptop prin intermediul unui bloc conector.

[anonimizat]. Capitolul al doilea este destinat prezentării noțiunilor teoretice privind localizarea surselor de semnal. În capitolul al treilea va fi surprinsă în detaliu proiectarea și verificarea funcționării sistemului de achiziție. [anonimizat], cât și pentru semnale reale.

[anonimizat].

Listă abrevieri

Listă figuri

Fig. 1.1 Diapazon 17

Fig. 1.2 Separarea oarbă a semnalelor fără a se cunoaște detalii despre sursele semnalelor sau procesul de mixare 20

Fig. 1.3 [anonimizat], cu galben fiind reprezentate undele emise iar cu roșu undele sonore returnate 21

Fig. 1.4 Tipuri de rețele de microfoane 22

Fig. 1.5 Dispozitiv de localizare a [anonimizat] „Norsonic” 23

Fig. 1.6 Interfața grafică a [anonimizat], [anonimizat] a sunetului recepționat 23

Fig. 1.7 Blind source separation 25

Fig. 1.8 Urmărire dronă în timp real 25

Fig. 2.1 Metoda triangulației de către două microfoane 27

Fig. 2.2 Trilaterația de către trei microfoane 28

Fig. 2.3 Transformata Fourier inversă pentru obținerea răspunsului la impuls a canalului 29

Fig. 2.4 Poziționarea hiperbolică de către trei microfoane 30

Fig. 2.5 Eșantioanele măsurate corespunzătoare semnalului constant cu valoarea A 34

Fig. 2.6 [anonimizat] 39

Fig. 2.7 Dispunerea în plan a sursei de radiație S și a celor două receptoare 39

Fig. 3.1 Sistem de achiziție 44

Fig. 3.2 Sistem de achiziție 45

Fig. 3.3 Clasificarea microfoanelor după coeficientul de directivitate 46

Fig. 3.4 Răspunsul în frecvență a unui microfon de tip electret 46

Fig. 3.5 Răspunsul în frecvență a unui microfon dinamic 47

Fig. 3.6 Microfon de tip electret 47

Fig. 3.7 Funcționarea unui amplificator operațional neinversor 50

Fig. 3.8 Funcționarea unui amplificator inversor 51

Fig. 3.9 Schema amplificatorului în Proteus ISIS 52

Fig. 3.10 Rezultatul obținut în urma simulării circuitului de amplificare pentru un semnal cu frecvența 1 KHz și amplitudinea 1 mV 53

Fig. 3.11 Simulare amplificator pe breadboard 54

Fig. 3.12 Verificarea amplificării circuitului 55

Fig. 3.13 Vedere prin transparență (top spre bottom) a cablajului 56

Fig. 3.14 Circuitul de amplificare realizat pentru microfonul electret 57

Fig. 3.15 Placă de achiziție NI Daq USB 6212 Mass Termination 58

Fig. 3.16 Bloc conector SCB 68 58

Fig. 3.17 Cameră web Canyon CNE-CWC3 59

Fig. 3.18 Alegerea softului în funcție de placa de achiziție și sistemul de operare 60

Fig. 3.19 Recunoașterea plăcii de achiziție NI-Daq 61

Fig. 3.20 Alegerea tipului de achiziție pentru simulare 62

Fig. 3.21 Alegerea numărului de canale pentru simulare 63

Fig. 3.22 Rezultatul simulării plăcii de achiziție virtuale 64

Fig. 3.23 Tabel cu diferite versiuni de device-uri și posibilități de interfețe 65

Fig. 3.24 Verificarea bibliotecilor instalate și recunoașterea plăcii de achiziție de Matlab 66

Fig. 3.25 Setarea parametrilor pentru achiziția de date 68

Fig. 3.26 Conectarea echipamentului pentru a lucra în modul Differential 70

Fig. 3.27 Conectarea echipamentului pentru a lucra în modul RSE 71

Fig. 3.28 Conectarea echipamentului pentru a lucra în modul NRSE 71

Fig. 3.29 Achiziția pe două canale a unui semnal în Simulink 73

Fig. 4.1 Maximul funcției de intercorelație dintre două semnale cu o întârziere de 45 eșantioane 74

Fig. 4.2 Maximul funcției de intercorelație dintre două semnale însoțite de un zgomot aditiv dintr-un fișier wav 75

Fig. 4.3 Rezultatul intercorelației dintre semnalul sinusoidal generat în banda semnalului audio și același semnal întârziat 76

Fig. 4.4 Rezultatul funcției de intercorelație obținut pentru un RSZ=3 78

Fig. 4.5 Rezultatul funcției de intercorelație obținut pentru un RSZ=0 79

Fig. 4.6 Funcția de intercorelație cu fereastra de ponderare SCOT pentru semnale afectate de zgomote normale corelate la 6 eșantioane (RSZ=0 dB) pentru 1000 de realizări; valoarea reală a timpului de întârziere este de 21 eșantioane 80

Fig. 4.7 Funcția de intercorelație cu fereastră de ponderare SCOT pentru semnale afectate de zgomote normale corelate la 6 eșantioane (RSZ=-3 dB) pentru 1000 de realizări; valoarea reală a timpului de întârziere este de 21 eșantioane 80

Fig. 4.8 Funcția de intercorelație cu fereastra de ponderare ML pentru semnale afectate de zgomote normale corelate la 6 eșantioane (RSZ=0 dB) pentru 2000 de realizări; valoarea reală a timpului de întârziere este de 21 eșantioane 81

Fig. 4.9 Funcția de intercorelație cu fereastra de ponderare ML pentru semnale afectate de zgomote normale corelate la 6 eșantioane (RSZ=-3 dB) pentru 2000 de realizări; valoarea reală a timpului de întârziere este de 21 eșantioane 81

Fig. 4.10 Funcția de intercorelație cu fereastra de ponderare ROTH pentru semnale afectate de zgomote normale corelate la 6 eșantioane (RSZ=0 dB) pentru 1000 de realizări; valoarea reală a timpului de întârziere este de 21 eșantioane 82

Fig. 4.11 Funcția de intercorelație cu fereastra de ponderare ROTH pentru semnale afectate de zgomote normale corelate la 6 eșantioane (RSZ=-3 dB) pentru 1000 de realizări; valoarea reală a timpului de întârziere este de 21 eșantioane 82

Fig. 4.12 Funcția de intercorelație a semnalelor întârziate cu 21 de eșantioane, afectate de zgomote normale corelate la 6 eșantioane (RSZ=-3 dB), cu diferite tipuri de ferestre de ponderare 83

Fig. 4.13 Valorile medii ale timpului de întârziere estimat obținut prin metoda intercorelației cu diferite ferestre 84

Fig. 4.14 Schema de dispunere a 3 microfoane în linie pentru determinarea azimutului 87

Fig. 4.15 Sistemul de determinare a poziției sursei în azimut și elevație 89

Fig. 4.16 Localizarea poziției sursei de semnal și redarea în timp real 91

Fig. 4.17 Interfață grafică pentru prelucrarea semnalelor sintetice 92

Fig. 4.18 Interfață grafică pentru semnalele sintetice și zgomotele corelate 93

Fig. 4.19 Interfață grafică pentru prelucrarea semnalelor reale 93

Listă tabele

CAPITOLUL 1 Introducere

1.1 Noțiuni introductive

Sunetul constituie din punct de vedere fiziologic senzația produsă asupra organului auditiv de către vibrațiile materiale ale corpurilor și transmise pe calea undelor acustice. Urechea umană este sensibilă la vibrații ale aerului cu frecvențe între 20 Hz și 20 kHz, cu un maxim de sensibilitate auditivă în jur de 3500 Hz. Acest interval depinde mult de amplitudinea vibrației și de vârsta și starea de sănătate a individului. Sub amplitudinea de 20 μPa vibrațiile nu mai pot fi percepute. Odată cu vârsta intervalul de sensibilitate se micșorează, în special frecvențele înalte devin inaudibile. Din punct de vedere fizic, sunetul are o definiție mai largă, el nefiind legat de senzația auditivă: orice perturbație (energie mecanică) propagată printr-un mediu material sub forma unei unde se numește sunet. În această definiție se includ și vibrații la frecvențe din afara domeniului de sensibilitate al urechii: infrasunete (sub 20 Hz) și ultrasunete (peste 20 kHz). [1]

Povestea sunetului începe în momentul în care un obiect vibrează și transmite aerului această mișcare oscilatorie sub forma undelor sonore. Undele sonore iau naștere în urma vibrațiilor de natură mecanică. De obicei sunetul are la bază un obiect care vibrează și transmite acest fenomen și mediului înconjurător. Diapazonul (Figura 1.1) este un exemplu de sursă de vibrații care generează unde sonore. Dacă lovim diapazonul cu un ciocan special, se poate observa cum acesta este antrenat într-o mișcare de „du-te – vino” cu o anumită frecvență. Vibrațiile respective antrenează moleculele de aer din preajma diapazonului, creând zone de compresie în care moleculele se aglomerează și zone de rarefiere unde, dimpotrivă, moleculele de aer se depărtează unele de altele (fenomen denumit în fizică „rarefacție”). Undele sonore se propagă așadar sub forma unor variații continue ale presiunii aerului.

Fig. 1.1 Diapazon

Vocea umană este sunetul natural creat de corzile vocale ale omului, și modulat în gât, gură și cavitățile nazale. Oamenii folosesc vocea pentru a transmite informații în primul rând prin vorbit, dar și prin cântat și alte sunete, ca de exemplu prin strigăt, plâns, râs, oftat ș.a.m.d. În cazul cântatului, se poate spune că vocea umană este un instrument muzical, desigur de natură cu totul specială. Prin contrast, vocea electronică este o voce artificială (care de obicei sună nenatural), sintetizată dinamic de către un computer sau un program de rostit, pe baza unui text scris. Vocea la om se produce prin acțiunea (vibrația) celor două corzi vocale din laringe, în cadrul spațiului înconjurător disponibil din zonă. Vibrația corzilor vocale poate fi influențată în mod complex prin activarea mușchilor și țesuturilor din apropiere. Tonul de bază la bărbați este în jur de 125 Hz, la femei în jur de 250 Hz (mai înalt), iar la copiii mici este în jur de 440 Hz. Octavele superioare, care sunt parte componentă a vocii naturale, ajung la frecvențe foarte înalte, de până la 12 kHz.

Urechea este organul cu care oamenii și unele animale detectează sunetele. Urechea umană este formată din 3 secțiuni principale numite urechea externă, urechea medie și urechea internă. Secțiunea exterioară a urechii este alcătuită din pavilion și din canalul auditiv extern care se întinde până la timpan. Pavilionul are rolul de a capta undele sonore și de a le transmite către urechea medie. Odată ce undele sonore pătrund în canalul auditiv extern, se deplasează spre membrana timpanică, acolo unde undele longitudinale antrenează timpanul spre exterior sau spre interior, în funcție de frecvența și puterea sunetelor recepționate. În partea interioară a timpanului sunt localizate cele mai mici oase ale corpului omenesc, purtând numele de „ciocan”, „nicovală” și „scăriță”. Aceste trei oscioare sunt conectate la timpan și au rolul de a transmite vibrațiile acestuia, deci energia undelor sonore recepționate, către urechea internă. Rolul urechii interne este de a converti unda sonoră longitudinală într-una electromagnetică transversală, de fapt impulsul nervos care este transmis creierului spre analiză. Pentru aceasta, cele trei oscioare transmit vibrațiile lor fluidului care intră în componența urechii interne. Cohleea este cavitatea de formă spiralată care conține acest lichid numit endolimfă și este prevăzută cu o membrană acoperită cu un strat de celule senzoriale. Vibrațiile trec prin canalul cohlear, pun în mișcare această membrană și astfel sunt antrenați cilii (celulele senzoriale) care transmit semnalele către creier prin intermediul nervului cohlear, prin canalul auditiv intern.

Ochiul este un organ a cărui principală funcție este cea de a detecta lumina. Se compune dintr-un sistem sensibil la schimbările de lumină, capabil să le transforme în impulsuri nervoase. Ochii simpli nu fac altceva decât să detecteze obiectele din jur care sunt luminate sau obscure. Ochiul nu detectează doar lumină ci și culoarea și mișcarea vietăților din jur. Creierul este principalul coordonator și centrul de comandă al omului. Asemenea unei centrale telefonice, preia mesaje provenite de la ochi, urechi (nas, limba, piele) și trimite semnale spre mușchi și glande.

Creierul funcționează ca un computer, procesând și înmagazinând informații. În interiorul său se află un sistem poștal care trimite informații despre acea regiune a creierului, unde acestea trebuie să fie descifrate. Activitățile creierului implică modificări de ordin electric și chimic în interiorul neuronilor. De fiecare dată când un electron este „atins” el transmite un impuls sau un mesaj nervos asemănător cu un mic curent electric. În funcție de direcție și de sursa mesajelor și de numărul lor, fiecare centru al creierului le examinează sau le transmite unei alte porțiuni, unde vor fi procesate. Creierul este tot timpul activ, prin el circulând milioane de impulsuri în fiecare secundă, iar acesta poate ajunge la capacitatea remarcabilă de a procesa o imagine pe care o vede timp de doar 13 milisecunde. [2]

Ochii, urechile și creierul sunt cele trei elemente esențiale omului pentru a putea observa și analiza toate elementele ce se petrec în jur, implicit localizarea (cel puțin estimativă) proveniențelor sunetelor și anticiparea distanței respective până la sursa sunetului localizat. Luând în vedere aceste lucruri, se poate menționa faptul că sistemele artificiale sunt de asemenea capabile să localizeze, în ceea ce privește distanța, o sursă de sunet. Pentru acest lucru, este necesar un procesor care să acționeze precum un creier, o cantitate mare de memorie pentru baza de date și de o rețea de senzori audio puternică asemenea urechilor.

1.2 Ipoteze de lucru. Utilitatea problemei

Vorbirea, precum și alte semnale acustice, se percepe cu cele două urechi și este admirabil modul în care se pot separa și selecta frecvențele surselor sonore individuale într-un mediu aglomerat. Termenii ce reprezintă acest proces sunt „cocktail party processing” sau „blind source separation” (Figura 1.2) proveniți din studierea modului în care sistemul uman stereofonic permite selecția frecvenței conversației individuale dorite, într-un mediu foarte zgomotos. Acest fenomen ilustrează contribuția auzului stereofonic, care conferă șansa de a selecta și a separa frecvența sonoră dorită din mulțimea de frecvențe sonore prezente în jur. Mecanismele care stau la baza localizării stereofonice a sunetelor, dar și modul în care procesarea stereofonică a sistemului auditorului îmbunătățește calitatea vorbirii într-un mediu acustic aglomerat. Acest sistem îl deține fiecare persoană și prezintă niște performanțe remarcabile în separarea frecvențelor sau localizarea sunetelor, iar nivelul acestor performanțe încă nu poate fi atins de sistemele computaționale din prezent.

Fig. 1.2 Separarea oarbă a semnalelor fără a se cunoaște detalii despre sursele semnalelor sau procesul de mixare

Stadiul actual al cercetării ne oferă mai multe soluții care sunt voluminoase, scumpe, complexe sau dedicate pentru anumite aplicații. Alte inconveniente sunt că ele au raza limitată de acțiune sau au nevoie de statistici apriori despre sunet, sursa sau mediul înconjurător. Pentru ca inteligența artificială să poată face presupuneri cu privire la proprietățile mediului și să rețină o cantitate atât de mare de informație pentru recunoașterea sunetului este un lucru foarte dificil și implică costuri nejustificate. Localizarea unei emisii acustice necunoscute în ceea ce privește distanța este o problemă complexă. Soluțiile simple care nu necesită antrenare în prealabil, nu sunt în măsură să estimeze distanța pe rază mare. Cele mai multe soluții disponibile sunt limitate în rază (până la 2 metri), pentru sistemele care au aceeași dimensiune (2 metri). Raza puțin mai mare poate fi obținută cu ajutorul sistemelor complexe. Acestea sunt costisitoare și dificil de utilizat luând în considerare mărimea și costul. Așa cum am precizat, urechea este un organ simetric ce permite captarea și analizarea sunetelor din mediul înconjurător, orientarea și localizarea spațială a sursei sonore. Funcția fiziologică a analizatorului acustic este aceea de a capta undele sonore din mediul ambiant, de a le recepționa și codifica în impulsuri nervoase, care, ajunse la scoarța cerebrală vor crea senzația auditivă. Totodată, analizatorul acustic ne informează despre calitatea și parametrii sunetului (înălțime, intensitate, durată și timbru), direcția din care se propagă sau distanța dintre subiect și sursa sonoră. Excitantul fiziologic al analizatorului auditiv este sunetul. Urechea captează sunetele, le înregistrează, le codifică în impuls nervos și le conduce spre cortexul auditiv (locul de formare al senzațiilor auditive). Undele sonore stimulează organul auditiv al omului, producând astfel senzația auditivă. Analizorul auditiv al omului percepe și prelucrează semnale sonore cuprinse în domeniul 16 ÷ 20.000 Hz și o intensitate de 1 decibel. O caracteristică importantă a percepției auditive este localizarea surselor sonore, determinând direcția și distanța până la acestea. Acest lucru este posibil datorită diferențelor între percepțiile aceluiași sunet cu cele două urechi. Atunci când surse sonore identice sunt amplasate în stânga și în dreapta, creierul interpretează sunetul ca venind din spațiul gol dintre cele două surse pentru că fiecare ureche recepționează același semnal. Sunetul stereofonic nu este de fapt decât duplicarea unei surse sonore pentru două difuzoare (stânga și dreapta), diversele efecte stereofonice suprapunându-se peste semnale și creând astfel impresia că sunetul se mișcă. Localizarea se realizează în cazul sunetului monofonic, iar diferențele de percepție sunt condiționate de doi factori: diferența de drum între traseele parcurse de undele sonore care sosesc la cele două urechi și diferența de intensitate aplicată celor două urechi situate la distanța de 20 cm una de cealaltă, de o parte și de cealaltă a cutiei craniene. Datorită faptului că 80% din informațiile din mediul înconjurător se recepționează cu ajutorul vederii, ființa umană nu se bazează în principal pe această tehnică.

Fig. 1.3 Principiul ecolocației la lilieci, delfini și sonare, cu galben fiind reprezentate undele emise iar cu roșu undele sonore returnate

În ciuda acestui fapt, oamenii sunt capabili să perceapă mediul din jurul lor prin alte metode cum ar fi orientarea cu ajutorul ecoului produs de sunete. Această tehnică denumită „ecolocație”, este des întâlnită în domeniul tehnicii (radar sau sonar) cât și în lumea vie. Delfinii, liliecii și unele păsări emit unde sonore (adesea ultrasunete, cu o frecvență foarte înaltă) care se „ciocnesc” de obstacole și se întorc spre emițător, acestea le recepționează cu ajutorul organelor specializate, iar creierul le analizează, extrăgând informații privind natura obstacolului, poziția lui, iar în cazul unor obiecte în mișcare, chiar direcția și viteza deplasării (Figura 1.3).

S-a dovedit că și omul poate aplica această tehnică, în special persoanele fără vedere. Aceste sisteme de localizare însă sunt unele active, fiind nevoie de emiterea unui semnal acustic, care la ciocnirea de obiectele din mediul înconjurător să producă reflexii, iar pe baza semnalului reflectat să se determine locația obiectelor respective. Sistemele active însă nu sunt pretabile în aplicații militare deoarece în spectrul electromagnetic orice emisie este detectabilă și astfel se pierde elementul de surprindere. Pentru a construi un sistem de localizare a surselor de semnal, avem nevoie de un analizor acustic propriu, acesta fiind microfonul. Folosind două microfoane se poate depista direcția de sosire a semnalului, prin identificarea unghiului de sosire. Pentru a obține mai multe informații legate de poziția sursei sonore, este necesară o rețea de microfoane. Acestea pot fi dispuse în linie, în cerc, cu distribuție triunghiulară sau sferică, respectând regula șirului Fibonacci, ș.a.m.d. Alegerea configurației depinde de aplicația pe care dorim să o realizăm și mediul în care o folosim. Un lucru important de luat în considerare este faptul că fiecare microfon trebuie să conțină câte un amplificator, deoarece semnalul captat de un microfon este de amplitudine foarte mică, de ordinul zecilor de mV. [3]

Fig. 1.4 Tipuri de rețele de microfoane

Un criteriu în vederea alegerilor microfoanelor este cel de directivitate. Proprietatea de directivitate indică sensibilitatea captării sunetelor din diferite unghiuri față de axa lui centrală. Pentru o detecție și prelucrare corectă a semnalelor recepționate este necesar o amplificare care să asigure o amplitudine de ordinul V, în funcție de sistemul hardware folosit pentru achiziția semnalelor cât și de posibilitatea construcției amplificatoarelor. Cele din urmă pot fi realizate cu ajutorul tranzistoarelor, ideale fiind cele cu efect de câmp. O soluție mai practică și des folosită este construcția amplificatoarelor folosind circuite integrate de tipul amplificatoarelor operaționale. Pe piață se găsesc numeroase astfel de integrate precum: LM741, LM356, NE5532, TL052, TL062, etc. În funcție de numărul de pini al integratului, se pot amplifica mai multe microfoane la un singur operațional. După ieșirea din amplificator, semnalul preluat de fiecare microfon în parte trebuie adus la intrarea unui echipament care să poată face o conversie analog digitală, să afișeze semnalul și să poată fi prelucrat în baza unui algoritm software pentru detecția și localizarea sursei acustice. Pentru prelucrarea și implementarea algoritmului de localizare se pot utiliza aplicații precum Matlab, Microsoft Visual Studio etc.

1.3 Stadiul actual în domeniul localizării surselor de semnal

Încă de la sfârșitul secolului al XIX-lea s-au implementat diferite metode și proiecte privind localizarea surselor de semnal. În prezent există deja camere acustice capabile să detecteze proveniența sunetelor produse de obiecte, fie ele în mișcare sau insesizabile cu ochiul liber, până la distanțe de sute de metri. „Norsonic Nor848A” (Figura 1.5) este cel mai nou și mai performant standard pentru camerele acustice. Acest echipament are o greutate de numai 2.5 kg, poate conține 128, 256 sau 384 microfoane pe o suprafață de 0.4, 1, respectiv 1.6 metri pătrați, suportă captarea sunetelor de până la 120 dB, rezistă la temperaturi între -10 și 40 °C, iar rezoluția camerei de filmat este de 1600×1200 pixeli având o viteză de redare a imaginii de 15 cadre pe secundă (Figura 1.6). Este echipat cu două dimensiuni, în funcție de necesități, tocmai pentru a ușura operațiile de măsurare în anumite cazuri, spre exemplu cea de dimensiune mai mică face posibilă funcționarea în zone în care spațiul este redus. Numărul mare de microfoane ale acestui echipament ajută detecția la o precizie de înalt nivel. [4]

1.4 Domenii de aplicație. Soluții existente

Un caz deosebit și foarte util îl reprezintă crearea unui algoritm ce constă în separarea surselor de semnal, spre exemplu într-o încăpere în care se realizează separarea oarbă a semnalelor („blind source separation”), acestea fiind odată izolate și localizate, totodată și eliminarea zgomotului sau al ecoului, variind în funcție de tipul mediului, fie acesta închis sau deschis. Aceste lucruri au fost implementate, testate și realizate. Ca și exemplu de caz concret, s-au separat în timp real cinci surse de semnal provenite din vorbirea concomitentă și continuă a cinci persoane diferite într-un spațiu închis (Figura 1.7). A fost posibilă redarea ulterioară a vocii fiecărei persoane în parte, permițând ascultarea, analizarea și înțelegerea mesajului emis („microphone array switching/tracking”). Un alt exemplu concret este cazul în care o dronă a fost urmărită prin utilizarea unei camere acustice în timp real (Figura 1.8). Drona se afla în aer și la o distanță de aproximativ 250 metri de camera aflată la sol, iar, în ciuda zgomotelor perturbatoare provenite din mediul înconjurător și a mișcării continue a dronei, aceasta a fost în permanență detectată și afișată în timp real cu un punct digital pe display-ul camerei. Acest lucru a făcut posibilă detectarea și monitorizarea în permanență a unui obiect aflat în mișcare la o distanță relativ mare, indiferent dacă acesta este vizibil cu ochiul liber sau nu, pe baza semnalelor acustice captate. În această temă, s-a pus prima dată problema localizării semnalului acustic chiar în domeniul militar. S-a putut obține poziția în teren a inamicului pe baza sunetului produs de arma acestuia la tragere. Scopul inițial a fost detectarea în condiții scăzute sau chiar imposibile de vedere asupra sa, cum ar fi în cazul camuflării, a fumului excesiv, a condițiilor meteorologice nefavorabile sau orice alt element care ar fi dus șansele vizibilității directe cu ochiul liber sau cu alte dispozitive spre zero. Tehnica a fost abordată și aplicată în timpul Primului Război Mondial, urmând să fie îmbunătățită și utilizată în tot decursul secolului respectiv. În decursul timpului, așa cum era și de așteptat, tehnica preluării, localizării și separării semnalelor a evoluat, domeniile au devenit tot mai vaste, iar ideile și necesitățile de implementare pentru acestea s-au înmulțit.

Așadar, au apărut tehnologii inovative în diferite domenii de activitate. În domeniul naval a fost creat sonarul subacvatic (Sound Navigation and Ranging), fiind utilizat pentru descoperirea și determinarea de la suprafață a poziției obiectelor (epavelor) aflate sub apă, funcționarea sa fiind bazată pe fenomenul de reflexie a undelor ultrascurte. Navele militare le au în dotare pentru supravegherea situației subacvatice în special pentru depistarea submarinelor și, viceversa, submarinele folosesc sonarele pentru a evita o eventuală apropiere de locuri periculoase și pentru a determina direcția și distanța spre țintă. În domeniul media, implicit al televiziunii s-au implementat metode pentru localizarea surselor de semnal, spre exemplu în teleconferințe, pentru a depista mai rapid locul și care este persoana locutoare dintr-o mulțime și, totodată, îndreptarea obiectivelor și microfoanelor asupra persoanei respective.

Fig. 1.7 Blind source separation Fig. 1.8 Urmărire dronă în timp real

1.5 Scopul și obiectivele lucrării

Scopul temei acestui proiect este de a studia și implementa metodele de localizare a surselor de semnal acustic bazate pe prelucrarea semnalelor prin statistici de ordinul doi. Se vor studia și implementa algoritmii de estimare a timpului de întârziere între semnalele recepționate de către cel puțin patru senzori distincți. Se va pune în mod deosebit accent pe metodele de estimare a timpului de întârziere pornind de la analiza funcției de intercorelație și se vor aborda tehnicile utilizate pentru reducerea dispersiei estimatorilor. Se va studia influența numărului de microfoane și configurația dispunerii acestora asupra performanțelor algoritmilor de prelucrare. De asemenea, se vor analiza performanțele metodelor abordate, avantajele și dezavantajele acestora, utilizând atât semnale sintetice cât și semnale vocale reale. Cel mai important obiectiv din cele propuse prin prezenta lucrare este de a realiza practic sistemul de achiziție a semnalului acustic folosind o matrice de cel puțin patru microfoane, unde se vor întocmi pachete de programe în mediul de programare MATLAB pentru a ilustra metodele studiate, programe ce vor fi integrate într-o interfață grafică interactivă. Poziția sursei de semnal va fi indicată în timp real pe o imagine video achiziționată.

CAPITOLUL 2 Noțiuni teoretice privind localizarea surselor de semnal

2.1 Metode de determinare a timpului de întârziere

Întrebarea „Unde ?” ar putea părea una simplă la prima vedere, dar răspunsul s-ar putea să nu… De-a lungul secolelor, omenirea a încercat mereu să găsească răspunsuri acestei întrebări, explorând noi pământuri și navigând pe mări necunoscute. Primii marinari s-au bazat pe curenții de apă, pe repere sau poziții ale corpurilor cerești pentru a naviga pe ape. Odată cu descoperirea busolei acum 700 ani, marinarii au reușit să identifice direcțiile. Cu toate acestea, nevoia de a obține o poziție precisă în navigație, în primul rând din motive militare, a determinat națiunile și cercetătorii să dezvolte sisteme cât mai apropiate de atingerea acestui obiectiv. După primele evoluții în domeniul științei, începând cu prima jumătate a secolului XX, prima implementare reușită a unui astfel de sistem a venit sub forma unui sistem global de poziționare (GPS), dezvoltat de armata americană. În cei 40 de ani de dezvoltare, GPS-ul a devenit un sistem fiabil de localizare și urmărire a locațiilor, folosit nu numai de către militari, ci și de cei din mediul civil.

După cum s-a precizat, capacitatea de localizare poate fi esențială în multe aplicații și domenii. De asemenea, sistemul creat poate utiliza diferite metode de măsurare pentru obținerea informațiilor despre poziție. Cele mai frecvente dintre acesta sunt RSS (Received Signal Strength), TOA/TDOA (Time-Difference/Delay-of-Arrival) și AOA (Angle-of-Arrival). Vom avea nevoie de un număr minim de microfoane în fiecare caz pentru a putea obține o fixare a poziției. [5]

2.1.1 Metoda RSS

RSS este abrevierea de la „Received Signal Strength” (puterea semnalului recepționat). În această situație, după ce semnalul este transmis de un emițător, energia sa are pierderi care sunt proporționale cu distanța deplasării semnalului. Un model comun bazat pe propagarea radio cu o singură cale este dat de relația , unde și denotă puterile semnalului recepționat și transmis în dB. este gradientul puterii de deplasare și depinde de mediul de propagare. Pentru spațiul liber, α = 2. O gamă largă de valori sunt posibile pentru α, spre exemplu pentru un mediu de birouri de construcție din cărămidă α se raportează a fi 3.9, iar pentru un mediu de laborator cu partiție metalică se constată că este de 6.5. Fie prin folosirea modelelor simple de propagare radio, fie a modelelor empirice mai complicate, informațiile despre distanțe pot fi obținute din puterea semnalului recepționat, dat fiind puterea semnalului transmis. Deși această metodă poate fi aplicată cu ușurință, din moment ce aproape toate dispozitivele pot raporta puterea semnalului recepționat, precizia sa nu este întotdeauna acceptabilă din cauza variației canalului. Modelele de pierdere a traseului discutate în această secțiune sunt modele deterministe care nu iau în considerare efectele de estompare și de umbrire. În orice moment instant, nivelul semnalului se estompează încet și rapid, cauzat de dispersori și mișcarea nodului receptor.

2.1.2 Metoda AOA

AOA este abrevierea de la „Angle of Arrival” (unghiul de sosire). Informațiile AOA de la două microfoane diferite pot fi folosite pentru a determina poziția unui nod prin folosirea triangulării așa cum se arată în figura 2.1. Estimarea AOA este de asemenea menționată ca estimare a direcției de sosire (DOA) sau determinarea direcției în mai multe contexte. O metodă comună pentru estimarea AOA este folosirea unor structuri speciale numite mulțimi lineare uniforme (ULA).

Fig. 2.1 Metoda triangulației de către două microfoane

Elementele unei ULA cu spațiu d pot fi utilizate pentru a estima direcția de sosire a unui semnal RF bazat pe următoarea relație:

unde θ este unghiul la care semnalul atinge ULA, c este viteza luminii, Δt este diferența de timp dintre sosirile semnalului la elementele consecutive de matrice, iar d este distanța dintre elementele consecutive. Pentru a obține rezultate mai bune utilizând o anumită configurație a matricei, se pot folosi tehnici de rezoluție superioară.

2.1.3 Metoda TOA

O altă metodă de estimare a distanței este metoda TOA, abreviere de la „Time of Arrival” (timpul de sosire), în care intervalul este estimat pe baza timpului în care semnalul se atenuează călătorind de la emițător la receptor. Deoarece viteza propagării este foarte bine cunoscută atât în vid, cât și în aer, aceasta oferă o estimare directă a distanței dintre emițător și receptor după ce timpul de deplasare este estimat. Atunci când sunt luate în considerare sistemele TOA, singurul parametru important care trebuie să fie corect estimat într-un mediu de propagare multipath este TOA al căii directe (DP). Alte componente multipath nu sunt importante pentru scopuri de localizare, cu excepția cazurilor în care DP nu este disponibil. Ecuația de bază necesară pentru obținerea distanței este dată ca , unde d este estimarea distanței, este TOA a DP, iar c este viteza luminii. Exactitatea estimării TOA necesită o sincronizare perfectă între emițător și receptor. Sincronizarea se poate realiza prin schimbul obișnuit de date între emițător și receptor sau un microfon suplimentar pentru corectare. Deși sunt necesare 3 microfoane pentru a obține poziția, va fi necesar un al patrulea pentru corecția timpului.

Fig. 2.2 Trilaterația de către trei microfoane

Aprecierea locației TOA este prezentată în figura 2.2, unde se presupune o sincronizare perfectă între emițătoare și receptor. Aceeași procedură se aplică și metodei RSS în care estimările individuale de distanță sunt de asemenea utilizate pentru fixarea poziției. Cercurile punctate denotă incertitudinea în estimarea intervalului, ducând astfel la o zonă pentru o posibilă localizare a receptorului între cele trei cercuri de estimare, mai degrabă decât un singur punct. Există mai multe metode pentru estimarea TOA. Metodele tradiționale de estimare sunt transformarea Fourier inversă (IFFT) și cea de probabilitate maximă ML (maximum-likelihood). Aceasta din urmă este numită și metoda de corelație. În metoda IFFT, răspunsul canalului de frecvență observat este transformat în domeniul timp pentru a obține răspunsul în timp al canalului (Figura 2.3). Valoarea de întârziere a DP este apoi utilizată pentru calcularea distanței.

Metoda ML presupune următorul model de semnal pentru estimarea TOA:

,

unde este semnalul recepționat, este semnalul transmis, este întârzierea, iar este zgomotul. Semnalul de la recepție este în principiu o versiune întârziată a semnalului plus zgomot. ML impune ca, corelația maximă posibilă între semnalele transmise și cele recepționate să aibă loc la întârzierea reală a semnalului. Pentru a obține estimarea întârzierii, este variată pe o gamă de valori de întârziere, iar valoarea lui care dă maximul devine estimarea distanței.

Fig. 2.3 Transformata Fourier inversă pentru obținerea răspunsului la impuls a canalului

Similar cazului AOA, metodele ar putea fi utilizate pentru a extrage vârfuri nesemnificative din răspunsul canalului în domeniul timp. S-a demonstrat că această metodă este eficientă atât în estimarea TOA de bandă largă, cât și în bandă îngustă, ceea ce face ca aceste metode să fie superioare metodelor tradiționale ML și corelației.

2.1.4 Metoda TDOA

TDOA, abreviat de la „Time Delay of Arrival” (diferența timpului de întârziere), cunoscută și sub denumirea de „poziționare hiperbolică”, este o metodă prin care receptorul calculează diferențele dintre TOA-urile din diferite puncte de referință. Folosind această metodă, distorsiunile dintre emițătoare și receptoare sunt eliminate automat, deoarece numai diferențele dintre TOA-urile de la două emițătoare sunt luate în considerare. Estimarea folosind TDOA este prezentată în figura 2.4.

Fig. 2.4 Poziționarea hiperbolică de către trei microfoane

Chiar dacă nu se acordă un accent deosebit unui anumit tip de tehnologie pentru punerea în aplicare a abordărilor anterioare pentru a menține metodologia robustă și aplicabilă într-o gamă largă de sisteme, trebuie luate în considerare anumite aspecte ale caracterului practic și ale tehnologiilor candidate. Succesul metodelor bazate pe TOA / TDOA depinde în primul rând de disponibilitatea și calitatea echipamentului de detectare. De asemenea, există studii care demonstrează fezabilitatea utilizării poziționării TOA / TDOA folosind aceste sisteme.

Precizând în prealabil câteva noțiuni despre diferite metode de localizare a semnalelor, putem trage niște concluzii (avantaje și dezavantaje). Acestea sunt prezentate în tabelul de mai jos:

Tabel 2.1 Compararea metodelor de localizare a semnalelor

2.2 Noțiuni privind semnalele aleatoare

Un semnal determinist este definit printr-un număr finit de parametri. Dacă parametrii sunt cunoscuți, putem spune că semnalul determinist nu conține informație. Un semnal aleator (stocastic) ia valori nedefinite anterior. Semnalele aleatoare parametrice sunt purtătoare de informație. Într-un sistem de comunicații se suprapun: semnalele utile, care conțin mesajul informațional, cu semnalele aleatoare nedorite, care sunt perturbații (zgomote, diafonii, distorsiuni). Acestea pot fi de natură internă, cum este zgomotul de agitație termică, de natură externă, datorat, de exemplu, descărcărilor atmosferice sau radiațiilor cosmice sau artificiale, cum ar fi perturbațiile produse de instalații și echipamentele de contraacțiune radio.

Zgomotele sunt acele perturbații care nu sunt coerente cu nici unul dintre semnalele transmise. Cele ergodice sunt previzibile în medie, nu în detaliu, iar cele neergodice nu pot fi caracterizate de o singură realizare.

Diafoniile sunt perturbații care provin din semnalele utile ale altor canale. Diafoniile inteligibile sunt puternic coerente cu semnalele utile ale altor canale, iar cele neinteligibile sunt puțin coerente cu semnalele utile ale altor canale.

Distorsiunile sunt perturbații coerente cu semnalul util din canalul informațional. Distorsiunile reversibile sunt perturbații ce pot fi, teoretic, eliminate, trecând semnalul printr-un circuit de corecție de amplitudine sau de fază, cele ireversibile sunt perturbații provocate de dispozitive sau circuite neliniare. [6] [7]

2.2.1 Caracterizarea semnalelor aleatoare

După cum însuși numele lor spune, semnalele aleatoare sunt o combinație între variabile aleatore (ceea ce implică o componentă nerepetitivă) și semnalele pure (care sunt, de obicei, asociate cu o funcție de timp). Un semnal aleator asociază fiecărei realizări particulare a unui experiment un semnal în timp. Așadar semnalul aleator este o funcție de doi parametri: . Variabila t indică desfășurarea în timp, iar variabila ω fixează realizarea particulară. [8] [9] Simplificând se poate spune că:

• Pentru o realizare particulară fixată (fixăm ) semnalul aleator este o funcție numai de timp : . Acesta este un semnal în timp. Fiecare realizare particulară a unui semnal aleator este un semnal – o funcție de timp.

• Pentru un moment de timp fixat , semnalul aleator este o funcție de realizare particulară: . Aceasta este o variabilă aleatoare. La fiecare moment de timp, semnalul aleator este o variabilă aleatoare.

Pe scurt, semnalul aleator este un semnal care la orice moment de timp va lua o valoare imprevizibilă. De obicei, se consideră că partea aleatoare (legată de variabila ω) este implicită, iar semnalul se va nota pe scurt cu

În reprezentarea originală, semnalul aleator poate fi caracterizat din punct de vedere statistic sau se poate analiza din punct de vedere al desfășurării temporale, caz în care vorbim de o caracterizare temporală a lui.

Caracterizarea statistică a semnalului aleator se poate referi la:

• O variabilă aleatoare. Aceasta se obține dacă se fixează un moment de timp . Parametrii sunt cei ai unei variabile aleatoare cu precizarea că pot fi diferiți pentru fiecare moment de timp. Mai precis, se definesc:

— Funcția de repartiție de ordinul 1:

Funcția de repartiție a unui semnal aleator este o funcție de două variabile: și . Indiferent de momentul de timp ales, funcția de repartiție de o singură variabilă va respecta proprietățile unei funcții de repartiție a unei variabile aleatoare.

— Densitatea de probabilitate de ordinul 1:

Și aceasta este o funcție de două variabile. În mod similar, la orice moment de timp funcția de o variabilă obținută va respecta proprietățile unei densități de probabilitate.

— Momentele, atât centrate cât și necentrate, sunt funcții de timp. Ne vom rezuma în a defini momentele des folosite:

* Media:

* Media pătratică:

* Varianța:

• Un vector de două variabile aleatoare (o pereche). Acestea se obțin prin fixarea a două momente de timp și respectiv . În acest sens se poate vorbi despre:

— Funcția de repartiție de ordinul 2:

— Densitate de probabilitate de ordinul 2:

— Momente statistice de ordinul 2. În cazul semnalelor aleatoare

momentele statistice sunt funcții de două momente de timp. Cel mai

des folosit astfel de moment este momentul necentrat de ordinul (1,1)

– corelația. Fiindcă cele două variabile aleatoare provin din cadrul

aceluiași semnal se poate discuta despre funcția de autocorelație;

funcția de autocorelație pentru un semnal aleator se definește ca

fiind:

În continuare putem defini și funcția de intercorelație: Fie si

două semnale staționare. Funcția de intercorelație între și se

definește ca fiind:

2.3 Noțiuni privind prelucrarea statistică a semnalelor

2.3.1 Estimare și estimator. Formularea problemei de estimare

Considerăm situația în care avem de a face cu un semnal continuu, constant, având valoarea A, care este afectat de un zgomot aditiv W. Dorim să aflăm valoarea A (Figura 2.5). În aceste condiții, eșantioanele achiziționate (măsurate) sunt date de:

Fig. 2.5 Eșantioanele măsurate corespunzătoare semnalului constant cu valoarea A

Putem observa în figura 2.5 că valorile măsurate sunt împrăștiate în jurul valorii A.

Presupunem că zgomotul W[n] este Gaussian, cu valoare medie nulă și dispersia . Atunci:

Funcția de densitate de probabilitate:

sunt independente;

=

Se cunoaște faptul că orice transformare liniară aplicată unei variabile aleatoare gaussiene conduce tot la o variabilă aleatoare gaussiană (în cazul de față ). Media A este acea componentă necunoscută pe care dorim să o estimăm (determinăm, măsurăm), ea fiind considerată a fi constantă deterministă ce parametrizează funcția densitate de probabilitate a lui . Așadar, dorim să știm care este valoarea adevarată sau reală a componentei continue A având la îndemână numai valorile măsurate (achiziționate) .

Simțul tehnic ne spune că o valoare medie de forma este o bună aproximare pentru A. Din relația anterioară se observă că este obținut prin prelucrarea liniară a N variabile aleatoare gaussiene independent distribuite. Așadar, este tot o variabilă aleatoare gaussiană ce poate să nu ia valoarea reală A.

este o variabilă aleatoare gaussiană având media A și dispersia , adică o dispersie de N ori mai mică decât cea a datelor. Nu putem așadar afla valoarea exactă (adevărată) a semnalului continuu A, dar o putem aprecia sau estima din date recurgând la . Cu cât numărul de eșantioane este mai mare, cu atât dispersia valorilor lui este mai mică, deci estimarea lui A este mai precisă.

Estimarea este operația prin care estimăm (determinăm) valoarea parametrului A printr-un anumit calcul. Rezultatul operației de estimare îl notăm cu Â. Formula ce ne permite să obținem această valoare se numește „estimator” și este următoarea:

Fie un semnal discret reprezentat prin N eșantioane , semnal care prezintă un parametru necunoscut ca valoare. Pe baza datelor dorim să găsim un estimator pentru

Valoarea care rezultă din aplicarea funcției „g” unor date concrete reprezintă o estimare sau un estimat al parametrului

2.3.2 Indici de calitate. Calitatea unui estimator

Dacă obținem o estimare apropiată de valoarea adevărată, vom spune că estimatorul este bun. Așadar, fie A=1 și presupunem că pentru un set de date obținem Â=0.9, aplicând estimatorul, pentru N=100. Eroarea absolută de estimare este 0.1. Putem face estimarea și pe baza unei singure măsurări, adică, avem estimatorul .

Se poate întâmpla să obținem , ceea ce înseamnă o eroare absolută de estimare de 0.05. În acest caz, putem afirma că Ă este mai bun decât  ? Nu, deoarece trebuie să judecăm lucrurile în virtutea unei colecții de cazuri (ansamblu de realizări) și nu în virtutea unui singur caz. Putem să nimerim cu totul într-o altă situație decât cea invocată mai sus. În orice situație ambii estimatori dau în medie statistică valoarea adevărată, dar împrăștierea valorilor obținute în jurul mediei este mai redusă pentru estimatorul  decât pentru Ă, așadar putem concluziona că  este un estimator mai bun decât Ă.

Pentru aprecierea unui estimator se utilizează indicii de calitate (Deplasarea și dispersia estimatorului). Dacă deplasarea (Biass) este 0, atunci vom avea parte de un estimator nedeplasat (fara deplasare sau eroare sistematica). Dacă , atunci vom avea un estimator nedeplasat sau asimptotic nedeplasat.

Pentru estimatorii nedeplasați criteriul de calitate poate fi dispersia. Ceea ce se urmărește este găsirea unui estimator nedeplasat, adică centrat pe valoarea adevărată și având o dispersie minimă. Se numesc „estimatori nedeplasați optimali”.

Eroarea medie pătratica MSE (mean square error) are o componentă care se datorează dispersiei și o componentă ce se datorează abaterii (deplasării). În cazul în care abaterea (deplasarea) este 0 (estimator nedeplasat), MSE este egală chiar cu dispersia. Estimatorii deplasați cu MSE minimă se numesc estimatori deplasați optimali.

Se observă că se obține în funcție de A, exact valoarea ce se dorește a fi estimată. Așadar nu putem folosi parametrul dedus pentru a exprima estimatorul dorit. Minimizarea MSE nu este întotdeauna o cale de urmat. Mai întâi se va căuta estimatorul astfel încât acesta sa nu aibă deplasare, iar apoi în măsura disponibilităților se aplică criteriul dispersiei minime.

2.3.3 Estimatori pentru funcția de autocorelație

Fie un proces aleator real discret cu valoare medie nulă.

Ne propunem să găsim un estimator al funcției de autocorelație utilizând numai setul de observații x[n], n=0…N-1 , adică pornind de la semnalul

M poate fi ales astfel încât să obținem un estimator nedeplasat sau deplasat. Deseori se consideră estimatorul deplasat în care N=M, adică:

2.4 Problema determinării timpului de întârziere

2.4.1 Metoda intercorelației

Se consideră faptul că un semnal necunoscut, emis de către o sursă de radiație (emițător), este recepționat de către două sisteme de recepție distincte situate în locații diferite (Figura 2.6). Ținând cont de distanțele diferite de la emițător la cei doi senzori și de perturbațiile care pot afecta semnalele ce se propagă între aceste puncte, cele două semnale recepționate, x(n) și y(n), vor avea forma următoare:

unde este semnalul necunoscut emis, și sunt zgomotele aditive prezente în mediul de transmisie a semnalului, care afectează semnalul de interes, este timpul de întârziere relativă între semnalul recepționat de primul senzor și semnalul recepționat de celălalt senzor, iar este câștigul relativ în amplitudine.

Fig. 2.6 Problema determinării timpului de întârziere între semnalele recepționate de către doi senzori aflați în locații diferite, semnalele fiind emise de aceeași sursă

Fiind date un număr finit de eșantioane ale lui și , se pune problema determinări valorii timpului de întârziere . Această problemă este una importantă și ea se regăsește în diferite aplicații practice, cum ar fi goniometrarea (determinarea unghiului de sosire a semnalului), determinarea distanței până la ținte (în domeniile radar și sonar) și altele. Așadar, soluția problemei se utilizează în scopul localizării diferitelor surse de radiație.

Fig. 2.7 Dispunerea în plan a sursei de radiație S și a celor două receptoare

De exemplu, în figura 2.7 se consideră cunoscute pozițiile A și B ale receptoarelor și se notează cu distanța între ele. De asemenea, se notează cu distanța între sursa de radiație S și punctul de recepție B, iar cu timpul de întârziere între semnalele recepționate de către cei doi senzori. Dacă se presupune că , se poate scrie că , unde , este viteza de propagare a semnalului. În consecință, cunoscând timpul de intârziere se poate determina unghiul .

Metoda de bază pentru determinarea timpului de întârziere este utilizarea funcției de corelație, cunoscută în literatura de specialitate ca și „CC – Cross Correlation Method”. Pe baza acestui algoritm s-au dezvoltat și construit și alte tehnici de determinare a timpului de întârziere. Corelația are rolul de a analiza gradul de similitudine dintre două semnale. Aceasta poate fi de două tipuri: analogică și digitală. Spre exemplu fie două semnale analogice și iar răspunsul obținut în urma corelării celor două semnale. Atunci va avea următoarea formă:

Dacă cele două semnale sunt în formă digitală, atunci va avea următoarea formă:

Un lucru ce trebuie precizat este faptul că funcția de corelație nu este cumulativă, iar dacă este identic cu , atunci este vorba de autocorelație, iar pentru diferit de intercorelație.

Presupunem că există o rețea de microfoane compusă din două elemente, care recepționează semnalele și , al căror număr de eșantioane este cunoscut. Principiul este acela de a întârzia semnalul și a-l compara cu , suprapunerea exactă realizându-se pentru o întârziere egală cu . Se presupune că zgomotele de la intrarea receptoarelor și sunt procese aleatoare staționare cu valoare medie nulă, independente de semnalul util . Ținând cont de relațiile (2.40) și (2.41), rezultă că funcția de intercorelație între semnalele recepționate și este:

,

unde este funcția de autocorelație a semnalului , iar este funcția de intercorelație a zgomotelor și .

Această metodă prezintă unele dezavantaje, unul dintre acestea este faptul că, în practică, zgomotele ce afectează cei doi receptori nu sunt independente statistic și deci nu putem presupune că . În această situație, funcția de intercorelație va avea un maxim în punctul de întârziere , care va fi atenuat de variația funcției de intercorelație a zgomotelor.

2.4.2 Metoda generalizată de intercorelație

În aplicațiile practice prezența surselor de zgomote care nu sunt în totalitate independente între ele au drept consecință atenuarea maximului funcției de intercorelație din punctul și mascarea acestuia de către variația lui . În plus, datorită lungimii finite a observațiilor și , funcția de intercorelație trebuie estimată. Astfel, procesul de prelucrare este afectat și de erorile de estimare. În vederea creșterii preciziei de determinare a întârzierii este necesară o filtrare a funcției de intercorelație estimată , cu alte cuvinte o ponderare în domeniul frecvență cu diferite tipuri de ferestre. Rezultă astfel funcția de intercorelație ponderată , respectiv metoda generalizată de estimare:

,

unde este densitatea spectrală reciprocă, iar este fereastra de ponderare în frecvență cu transformata Fourier inversă a sa . Câteva exemple dintre cele mai cunoscute astfel de ferestre: fereastra SCOT (Smoothed Coherence Transform), fereastra ML (Maximum Likelihood), fereastra Roth, filtrul Eckart, procesorul HT, etc. Alegerea funcțiilor de ponderare depinde de anumite condiții la măsurare, cum ar fi performanțele aparatelor cu care se efectuează măsurătorile, zgomotul intern al echipamentelor de achiziție sau zgomotul ambiental. Metoda SCOT (Smoothed Coherence Transform) este teoretic superioară metodei Cross-Correlation doar în situația în care nivelul zgomotului este scăzut. Aceasta are următoarea funcție:

,

unde și sunt spectrele de putere ale semnalelor și .

Aceasta metodă poate fi considerată ca un filtru „prewhitening” urmat apoi de o intercorelație. Un semnal este „alb” dacă fiecare eșantion al semnalului este statistic independent de oricare celelalte eșantioane ale sale. Cu alte cuvinte, dacă se cunosc valorile unui semnal de la momentul de timp 0 până la n-1, nu există informație despre semnal la momentul de timp n.

Un filtru „prewhitening” transformă un semnal care nu este „alb” într-un semnal „alb”. Acest lucru este realizat de un estimator care încearcă să estimeze eșantionul n pe baza valorilor anterioare. Dacă se elimină estimarea din actualul eșantion n, va rămâne doar porțiunea din acesta care nu are legătură cu celelalte eșantioane.

Se presupune că există un semnal original (în timp discret). Se întârzie semnalul cu un singur eșantion și se obține . După introducerea semnalului în filtru rezultă semnul estimat . Eliminând din se obține semnalul eroare . Aplicând semnalul eroare filtrului de estimare pentru a actualiza coeficienții filtrului folosind algoritmul gradientului stochastic.

Semnalul este semnalul alb. Dacă sistemul este perfect, eroarea de estimare va fi un semnal alb și astfel estimatorul are o eroare de estimare minimă. Depinzând de cât de bine corelate sunt eșantioanele în semnalul original apare necesitatea unui filtru cu lărgime mai mare sau mai mică .

Fereastra de ponderare ML (Maximum Likelihood), identică cu procesorul HT propus de Hannan și Thomson, este una dintre metodele de intercorelație. Rolul ei este de a obține valorile pentru care asemănarea dintre două semnale recepționate de către cei doi senzori este maximă, pentru a estima corect timpul de întârziere.

,

unde este:

.

Metodele tradiționale de localizare a surselor de semnal pe baza algoritmului ML presupun de la început că toți coeficienții Fourier ai semnalelor au o distribuție Gaussiană. În multe aplicații practice de procesare a semnalelor vocale, coeficienții transformatei Fourier discrete (DFT) sunt calculați din semnale cu durate finite, fapt ce conduce la o alegere a unei distribuții Gaussiene mai puțin favorabilă pentru acele semnale ale căror distribuții în timp nu sunt Gaussiene. Recent, pentru semnale vocale, inclusiv de vorbire, distribuții precum Laplace sau Gamma, s-au dovedit a fi metode mai bune de modelare a eșantioanelor în domeniul timp și coeficienții Fourier. Prin urmare, au fost propuse noi metode ML printre care și una bazată pe distribuția Laplace .

Fereastra de ponderare Roth este definită de următoarea relație:

Metoda ce se bazează pe fereastra Roth este considerată una dintre primele implementate (Roth 1971). Procesorul Roth are efectul dorit de a suprima acele regiuni de frecvență în care intensitatea semnalului este scăzut și accentuând regiunile în care semnalul este puternic. [10]

CAPITOLUL 3 Proiectarea și testarea sistemului de achiziție a semnalului

3.1 Proiectarea sistemului de achiziție

Un sistem de achiziție simplu și ușor de construit se poate realiza chiar cu placa de sunet integrată a laptopului, dacă aceasta este una stereo, lucru ce permite achiziționarea semnalului pe 2 canale diferite, adică utilizarea a două microfoane. Pentru aceasta, este nevoie de un adaptor Y, care să aibă la un capăt o mufă jack-stereo tată, iar la celălalt capăt 2 mufe RCA-mono mamă. În fiecare intrare se poate conecta un microfon și adițional un difuzor ca în figura 3.1. [11]

Fig. 3.1 Sistem de achiziție

Trebuie avut în vedere faptul că pentru orice sistem de achiziție folosit este nevoie de microfoane identice, iar nivelul amplificării pentru fiecare din cele două microfoane trebuie sa fie identic, astfel încât să se poată depista exact întârzierea cu care ajunge sunetul la fiecare dintre acestea. Totuși, deși rezultatele achiziției sunt foarte bune, referitor la puterea de procesare, corectitudinea semnalului și viteza cu care acesta este achiziționat, această metodă prezintă dezavantaje majore, în stabilirea poziției sursei de semnal, totul din cauza faptului că nu se pot folosi mai mult de două microfoane, lucru ce permite stabilirea numai direcției de sosire a sunetului. Este necesar a avea cel puțin patru microfoane pentru localizarea în plan tridimensional. Așadar, se poate folosi o placă de sunet cu mai multe canale analogice de intrare, pentru cel puțin patru microfoane. [12]

O soluție pentru astfel de aplicații este utilizarea unei plăci de achiziție. Există mai multe variante, unele putând fi conectate la USB sau PCI. Una dintre firmele populare și cunoscute este National Instruments care oferă o gamă diversificată de astfel de plăci de achiziție denumite NI DAQ. Având la dispoziție astfel o placă de achiziție externă ce permite recepționarea semnalelor de pe mai multe canale la o frecvență destul de mare pentru fiecare senzor, s-a încercat construirea unui astfel de sistem cu 5 microfoane, pornind de la următoarea schemă:

Fig. 3.2 Sistem de achiziție

3.1.1 Alegerea microfoanelor

Primul pas în vederea implementării este alegerea microfoanelor ce trebuiesc folosite. Primul criteriu ce trebuie avut în vedere este cel legat de coeficientul de directivitate, care indică cât de sensibil este microfonul la captarea sunetelor venite din diferite unghiuri față de axa lui centrală. În figura 3.3 sunt prezentate câteva tipuri de microfoane.

Fig. 3.3 Clasificarea microfoanelor după coeficientul de directivitate

Deoarece sistemele de localizare a sunetelor necesită un răspuns în frecvență similar pentru sunetele venite din orice direcție, a fost ales folosirea unui microfon omnidirecțional. Mai exact, s-a considerat cea mai potrivită soluție folosirea unui microfon de tip electret, datorită faptului că acesta oferă un răspuns în frecvență mai uniform în intervalul 20Hz ÷ 4KHz (intervalul de frecvență a vocii umane).

Fig. 3.4 Răspunsul în frecvență a unui microfon de tip electret

Alegerea acestui tip de microfon a fost influențată de prețul foarte mic comparativ cu alte tipuri de microfoane de pe piață la care se poate modifica manual coeficientul de directivitate, dar și de faptul că acesta are răspunsul în frecvență mai uniform față de răspunsul în frecvență al unui microfon dinamic. Pe lângă avantajul oferit de răspunsul în frecvență, factorul mic de formă, precum și faptul că a fost folosit de mulți alții în implementarea unor sisteme identice, au constituit argumente puternice în utilizarea microfoanelor de tip electret.

Fig. 3.5 Răspunsul în frecvență a unui microfon dinamic

Microfonul este un senzor ce recepționează sunetul și îl transformă în semnal electric. Microfonul electret este asemănător cu microfonul condensator. Electretul (format din „electr”- electricitate și „et”- magnet) este un strat subțire izolant, care pe ambele fețe este încărcat cu sarcini electrice de semne opuse. Electretul se realizează în felul următor: izolantul topit este supus unui câmp electrostatic foarte puternic sub acțiunea căruia se produce polarizarea moleculelor. Se lasă apoi folia izolantă să se răcească în acest câmp. În acest fel se obține o folie încărcată cu sarcini electrice de semne opuse, pe cele două fețe, creându-se între acestea un câmp electrostatic, asemănător câmpului magnetic permanent. Folia de electret (care înlocuiește folia metalizată de la microfonul condensator) se metalizează pe una din fețe și va constitui armătura mobilă a condensatorului. Armătura fixă, rigidă, se realizează din metal și are o formă constructivă asemănătoare cu cea de la armătura fixă a microfonului condensator. Peste armătura fixă se așează fața nemetalizată (izolată) a foliei electretului.

Fig. 3.6 Microfon de tip electret

Între folia de electret și armătura fixă există un strat de aer de ordinul milimetrilor. Volumul aerului închis de folii se mărește prin practicarea unor orificii de mici dimensiuni în armatura fixă. Odată cu creșterea volumului de aer se mărește și elasticitatea membranei microfonului și implicit și sensibilitatea lui. Deoarece grosimea foliei de electret este foarte mică, capacitatea electrică este mai mare ca în cazul microfonului clasic cu condensator (capacitatea crește de aproximativ trei ori). De asemenea scade și valoarea rezistenței interne ușurându-se problema realizării amplificatoarelor. Existența câmpului electric în folia de electret face inutilă tensiunea mare de polarizare, necesară microfoanelor condensator.

Microfoanele cu electret de calitate medie au caracteristica de frecvență cuprinsă între 20Hz ÷ 20KHz, cu abatere de ±3dB. Impedanțele uzuale sunt: 50Ω, 250Ω, 600Ω si 1000Ω. Pe baza acestor argumente, se presupune justificată folosirea microfoanelor de tip electret omnidirecționale. În componența proiectului se vor regăsi 5 astfel de microfoane, care sunt necesare în determinarea unghiului de sosire a semnalului de la sursă atât în azimut cât și în înălțare și distanța de la sursă la sistem. [13]

3.1.2 Proiectarea și implementarea fizică a circuitelor de amplificare

Următoarea etapă reprezintă realizarea unor circuite de amplificare pentru fiecare microfon în parte. Soluția optimă ce rezolvă problema amplificării fiecărui microfon este utilizarea unei stații de amplificare, care poate realiza o amplificare egală pentru fiecare microfon, fapt ce conduce la rezultate foarte bune în momentul în care se calculează timpul de întârziere. Mai mult, această stație permite reglarea amplificării pentru fiecare senzor și elimină componenta de curent continuu a semnalelor, însă, din cauza costului mare de achiziționare, nu se poate permite utilizarea ei.

O altă variantă mai ieftină, dar nu așa de performantă este reprezentată de construcția circuitelor de amplificare folosind amplificatoare operaționale sau tranzistoare. O primă deficiență întâlnită în utilizarea acestor circuite apare la componentele utilizate, de exemplu rezistențele, ce pot avea valori sensibil diferite și astfel apar amplificări diferite pentru microfoane diferite. De preferat ar fi ca toate componentele folosite să fie din același lot, firele de legătură să aibă aceeași lungime, sursa de alimentare să fie aceeași, pentru a obține rezultate identice.

Amplificatorul operațional AO este un circuit integrat care are calitatea de a furniza la ieșire o tensiune proporțională cu diferența potențialelor celor două intrări ale sale. Denumirea de amplificator operațional i-a fost atribuită acestui circuit integrat la începuturile existenței lui, când a fost folosit în electronica analogică și pentru efectuarea de operații aritmetice. Semnalul de ieșire al amplificatorului operațional este dat de diferența dintre nivelele semnalelor aplicate la cele două intrări (pinii IN+ și IN-), diferență care este apoi multiplicată cu factorul de amplificare al respectivului amplificator. În afară de cei doi pini de intrare, amplificatorul conține si pinii de alimentare V+ și V-, iar alte tipuri conțin și pini de Offset1, Offset2. Cei din urmă sunt folosiți în aplicații (cum ar fi cele de măsurare cu mare precizie a mărimii semnalelor) unde pentru 0 volți la intrare vrem 0 volți la ieșire, iar prin intermediul pinilor de Offset cu ajutorul unui potențiometru se reglează acest lucru. [14]

Caracteristici tehnice ale amplificatoarelor operaționale:

O amplificare în tensiune de valoare ridicată: în buclă deschisă, în regiunea liniară de funcționare:

O impedanță de intrare foarte mare : ;

O impedanță de ieșire foarte mică : ;

O bandă de trecere începând din curent continuu și cuprinsă uzual între ;

Două intrări și o ieșire pentru semnal: intrarea neinversoare la care un semnal aplicat este regăsit la ieșire cu aceeași fază și intrarea inversoare la care același semnal aplicat este regăsit la ieșire defazat cu ;

Un raport semnal zgomot foarte bun în procesul de amplificare ;

Sensibilitate deosebită la intrare : ;

Consum redus de putere și alimentare la tensiuni joase 12V 

Așa cum sugerează și sufixele „+” și „–”, cele două intrări ale unui amplificator operațional au efecte opuse asupra semnalului de ieșire, și anume:

 dacă se menține intrarea IN- la un potențial fix (de ex. 0 V) și se aplică un semnal de intrare oarecare pe intrarea IN+, semnalul de ieșire va varia în aceeași direcție ca și semnalul aplicat pe IN+. Având o influență „directă” asupra semnalului de ieșire, intrarea IN+ se mai numește și intrare neinversoare;

 dacă se menține intrarea IN+ la un potențial fix (de ex. 0 V) și se aplică un semnal de intrare oarecare pe intrarea IN-, semnalul de ieșire va varia în direcție opusă semnalul aplicat pe IN+. Având o influență „inversă” asupra semnalului de ieșire, intrarea IN– se mai numește și intrare inversoare;

Amplificatorul neinversor:

Fig. 3.7 Funcționarea unui amplificator operațional neinversor

În schema amplificatorului operațional neinversor prezentată mai sus, se observă că semnalul de intrare propriu-zis este aplicat pe intrarea neinversoare (IN+). Însă semnalul de ieșire este aplicat prin R2 către intrarea inversoare care, exercită o influență inversă asupra semnalului de ieșire. Asta înseamnă că dacă intrarea neinversoare vrea să dicteze la ieșire un semnal mare, intrarea inversoare („comandată” de semnalul de ieșire primit prin divizorul realizat cu R2 și R1) va încerca să dicteze la ieșire un semnal mai mic. Aceasta „luptă” evoluează până în momentul in care tensiunile pe cele două intrări ajung să fie egale, sau altfel spus până în momentul în care influențele celor două intrări ajung să fie egale dar de sens contrar, adică în echilibru. Drept consecință, cu cât raportul dintre R2 și R1 este mai mare, cu atât mai mare va fi tensiunea de ieșire la care tensiunile pe cele două intrări vor ajunge să fie egale. Acest lucru se observă și din graficul din figura 3.7, cum variază proporțional semnalul de la ieșire cu cel de la intrare. Astfel spus, cele doua semnale sunt „în fază”. În concluzie, rolul divizorului rezistiv format din R1 și R2 este acela de a fixa amplificarea (A) schemei după următoarea formulă:

Amplificatorul inversor:

Fig. 3.8 Funcționarea unui amplificator inversor

Schema amplificatorului operațional inversor este prezentată mai sus, unde se observă că intrarea neinversoare este menținută la potențial fix (fiind legată la masă) iar semnalul de intrare propriu-zis este aplicat pe intrarea inversoare (prin R1). Dacă de exemplu aplicăm un semnal negativ la intrare, intrarea inversoare va dicta un semnal pozitiv la ieșire. Asta înseamnă că pe intrarea neinversoare (adică în punctul comun al rezistențelor R2 și R1) vom primi un semnal negativ (venit de la intrare prin R1) și un semnal pozitiv (venit de la ieșire prin R2). Ei bine, operaționalul nostru va crește tensiunea de ieșire până în momentul în care cele două semnale se vor anula complet și vom avea din nou aceeași situație ca mai sus, adică tensiuni egale pe cele două intrări. Evident, dacă la intrare aplicăm o tensiune pozitivă, lucrurile se petrec la fel, numai că în sens invers. Graficul din figura 3.8 exprimă legătura dintre semnalul de intrare și cel de la ieșire în acest caz o dependență inversă, altfel spus, cele două semnale sunt „în antifază”. La fel ca și în cazul precedent, divizorul rezistiv format din R1 și R2 are rolul de a fixa amplificarea schemei, care în acest caz este dată de următoarea formulă

În urma acestor considerații s-a ales pentru implementare un amplificator neinversor. Mai întâi s-a construit schema de principiu al amplificatorului în softul Proteus ISIS.

Fig. 3.9 Schema amplificatorului în Proteus ISIS

Ca și amplificator operațional s-a folosit circuitul integrat NE5532. A fost aleasă varianta cu 8 pini deoarece este suficient să îndeplinească cerințele circuitului. NE5532 este un amplificator operațional dublu de înaltă performanță cu zgomot redus. În comparație cu majoritatea amplificatoarelor standard, cum ar fi 1458, arată o performanță mai bună a zgomotului, capabilitate îmbunătățită de ieșire și semnale joase mărite și lățime de bandă considerabilă. Acest lucru face ca dispozitivul să fie adecvat în special pentru aplicații de calitate înaltă și echipamente audio profesionale, instrumente, circuite de control și amplificatoare de canale telefonice. Dacă zgomotul scăzut are o importanță primordială, se recomandă folosirea versiunii 5532A. [15]

Caracteristici tehnice:

 Lățimea de bandă a semnalului: 10MHz

 Capacitatea unității de ieșire: 600 Ω 10

 Câștigul în tensiune DC: 50000

 Câștigul în tensiune AC: 2200 la 10 KHz

 Gama de tensiune de alimentare: ±3.0 până la ±20V

 Zgomotul de intrare:

Pentru a verifica funcționarea circuitului simulat în Proteus ISIS a fost aplicat la intrarea circuitului un semnal sinusoidal cu amplitudinea de 1 mV și frecvența de 1 KHz. În figura 3.10 sunt prezentate rezultatele obținute după rularea simulării.

Fig. 3.10 Rezultatul obținut în urma simulării circuitului de amplificare pentru un semnal cu frecvența 1 KHz și amplitudinea 1 mV

După cum se poate observa, schema cu amplificator neinversor returnează o amplificare corectă, conform formulei (3.2). Raportul celor două rezistențe este . Astfel s-a obținut o amplificare de 440 de ori care mărește amplitudinea semnalului de la 1mV la 440mV. Se poate ușor modifica valoarea acestei amplificări, fie micșorând valoarea rezistenței de la numitor, fie crescând valoarea celei de la numărător.

Obținându-se rezultate bune după simulare, s-a trecut la realizarea practică pe placa de breadboard (Figura 3.11).

Fig. 3.11 Simulare amplificator pe breadboard

Înainte de a se realiza cablajul pe placa de textolit, s-au realizat și experimental niște măsurători, având ca scop verificarea amplificării pentru diferite distanțe de la sursă la senzor și diferite rapoarte de amplificare. Măsurătorile au fost efectuate într-un laborator (Figura 3.12), drept urmare s-ar putea să apară perturbații de la semnale reflectate de pereții încăperii sau ecoul camerei. S-au luat în considerare sunete provenite de la surse aflate la distanțe de 1m până la 3m. Valoarea rezistenței de la numitor este constantă de 100Ω, iar rezistența de la numărător a luat valori intermediare de la 10KΩ până la 45KΩ. Rezultatele experimentale sunt înregistrate în tabelul 3.1.

Fig. 3.12 Verificarea amplificării circuitului

Tabel 3.1 Rezultate obținute pentru diferite amplificări

În circuitul de amplificare, alimentarea se face de la o sursă continuă de 9V, în consecință, circuitul poate furniza maxim o amplificare în tensiune de 4.5V. Pentru a nu suprima semnalul util și pentru a avea un o amplificare corectă, s-a ales să fie folosit raportul de rezistențe , care oferă o amplificare în parametri la distanța de 1m până la 3m, pentru un semnal de nivel moderat.

Pentru a realiza o amplificare corectă și a elimina alte perturbații, componentele trebuie să fie amplasate cât mai apropiate una de alta, totodată circuitul de amplificare se montează cât mai aproape de microfon, eventual pe același textolit. Având în vedere aceste lucruri, cât și din dorința de a obține un rezultat cât mai calitativ fizic, s-a hotărât ca realizarea PCB-urilor (printed circuit board) să se facă prin metoda „expunerii UV”. Acest lucru s-a realizat într-un laborator specializat, urmând pas cu pas un ansamblu de reguli.

Fig. 3.13 Vedere prin transparență (top spre bottom) a cablajului

Proiectarea cablajului s-a realizat cu ajutorul unui soft dedicat, numit „Eagle” după care s-au generat fișierele Gerber respective (Figura 3.13). Se poate observa modalitatea finală de dispunere a componentelor, aceasta verificând toate conexiunile și faptul că nu există suprapuneri nedorite. De asemenea s-a introdus și planul de masă care asigură o impedanță minimă între două puncte, face să se conecteze componentele la masă pe cele mai scurte trasee, are rol de ecranare, iar curenții „de întoarcere” prin planul de masă se influențează reciproc în mică măsură și buclele de masă au arii mici din cauză că acești curenți urmează traseul imagine al curentului prin conductorul „cald” plasat la mică distanță de planul de masă. Microfonul se află în partea stângă jos, pinul de alimentare (J5) este amplasat în partea stângă de antet, iar cei de masă (J3) și ieșire (J4) în partea dreaptă.

S-a generat un document PDF cu proiectul în alb-negru, urmând imprimarea filmului pe o folie de celuloid transparent cu ajutorul unei imprimante laser. În continuare s-a transpus proiectul pe cablaj sticlotextolit cu un iluminator UV. Pentru asta, s-a lipit folia pe o bucată de sticlă, s-a aliniat cablajul cu laminatul din cupru și s-a prins ansamblul cu două menghine pentru bricolaj, după care s-a expus la ultraviolete timp de 30 minute. Pentru developarea circuitului s-a preparat o soluție (numita „developant” sau „revelator”) compusă din sodă caustică (NaOH) și apă. S-a adăugat 1 mg de dizolvat la 100 ml de apa. Următorul pas a fost introducerea în developant a plăcuței expuse, timp de 10 minute, după care s-a clătit din abundență cu apă. S-au putut observa traseele de o precizie foarte mare, iar pentru a se realiza corodarea cuprului din jurul circuitului s-a introdus plăcuța într-o soluție de clorură ferică () timp de 20 minute. S-a găurit placa cu ajutorul unei bormașini cu șpiral fin în locul în care se introduc componentele, după care s-au lipit componentele și s-a efectuat verificarea integrală a funcționării rezultatului final. S-a realizat acest procedeu de 5 ori și astfel s-a obținut câte un circuit de amplificare pentru fiecare microfon în parte (Figura 3.14).

Fig. 3.14 Circuitul de amplificare realizat pentru microfonul electret

3.1.3 Alegerea sistemului de achiziție

Pentru a putea localiza sursa de semnal acustic în plan tridimensional, este nevoie de o placă de sunet externă cu cel puțin 5 intrări analogice pentru cele 5 microfoane folosite. Varianta cea mai des întâlnită și indicată în astfel de aplicații este folosirea unei plăci de achiziție. Acestea se găsesc în numeroase variante, putând fi conectate atât la USB sau PCI. Una dintre cele mai cunoscute firme care produc și oferă software pentru astfel de echipamente și nu numai, este National Instruments.

S-a ales placa de achiziție de la National Instruments NI Daq USB 6212 Mass Termination (Figura 3.15). Acest model are 68 de pini, iar pentru a o putea utiliza este nevoie de un bloc conector special NI SCB 68 (Figura 3.16), care realizează fizic interfața cu intrările și ieșirile pe care acesta le are. Se conectează prin intermediul unei mufe dispuse orizontal cu 68 de pini pentru fiecare canal în parte.

Ca și facilități, placa de achiziție NI Daq USB 6212 Mass Termination, încadrată în clasa plăcilor de achiziție PCI multifuncționale, prezintă următoarele:

400 kS/s (1-Canal)

16 canale (single ended) sau 8 canale (differential)

2 canale AO cu rezoluție 16 biți

24 de linii I/O

2 numărătoare pe 32 de biți

temperatura de funcționare 0 – 45 °C

tensiunea maximă de lucru 11V

Pentru încadrarea în conceptul de compatibilitate electromagnetică (EMC), placa de achiziție trebuie să opereze cu accesorii și cabluri ecranate. Dacă sunt folosite cabluri sau accesorii neecranate, compatibilitatea electromagnetică nu mai este asigurată în continuare, acest lucru schimbându-se numai dacă toate aceste cabluri și/sau accesorii neecranate sunt băgate într-o carcasă ecranată, special concepută, și care are porturile de intrare/ieșire de asemenea ecranate. [16]

National Instruments oferă o gamă largă de produse care pot fi folosite cu plăcile USB sau PCI Express, incluzând cabluri, blocuri conectori și alte accesorii.

În cele mai multe din aplicații se pot folosi următoarele cabluri:

SHC68-68-EPM: cablu ecranat performant special pentru familiile X și M de plăci de achiziție. Fiecare intrare analogică diferențială este înfășurată în jurul unei perechi de fire torsadate ecranate;

SHC68-68: cablu ecranat de cost mai redus ce conține 34 de perechi torsadate de fire;

RH68-68: cablu neecranat foarte flexibil;

3.1.4 Alegerea camerei web

Pentru a putea vedea în timp real poziția sursei de semnal, este necesară instalarea unei camere web. Deoarece sistemul de detecție conceput este pe un suport, am preferat utilizarea unei camere web externe care să fie montată în centrul sistemului de localizare.

Fig. 3.17 Cameră web Canyon CNE-CWC3

Această cameră funcționează pe sisteme de operare Windows 7, Windows 8, Windows 10 sau Vista. Se conectează prin USB 2.0, are o rezoluție video maximă 1280×720 pixeli și o rată maximă de captură de 30 fps-uri. Are funcția de Face Tracking, clip multi-funcțional, filmare HD Ready. Posibilitățile ei sunt mult mai mari, însă în cadrul aplicației dezvoltate utilizarea ei la capacități maxime nu este utilă deoarece mai multe operații ar îngreuna programul software.

3.2 Testarea funcționării sistemului de achiziție

După realizarea montajului hardware prezentat anterior, următoarea etapă constă în instalarea softului plăcii de achiziție și a driverelor acesteia pentru a putea fi recunoscută de către calculator și implicit să realizeze achiziția datelor.

3.2.1 Instalarea driverelor și testarea funcționării plăcii de achiziție

Softul și driverele se găsesc de asemenea pe site-ul oficial National Instruments la secțiunea NI-DAQmx sau NI-DAQ Driver Support: M Series USB Devices. Se alege din lista prezentă placa de achiziție utilizată și se selectează în funcție de sistemul de operare pe care se lucrează (Figura 3.18). S-a ales instalarea pe Windows 7, fiind ultima versiune care poate rula de asemenea și pe Windows 10.

Fig. 3.18 Alegerea softului în funcție de placa de achiziție și sistemul de operare

După ce se descarcă kitul de instalare, se rulează și se instalează în calculator. Se restartează calculatorul, iar când se repornește trebuie să recunoască și să apară numele plăcii de achiziție atunci când se conectează prin USB la calculator (Figura 3.19).

Fig. 3.19 Recunoașterea plăcii de achiziție NI-Daq

Se deschide NI-DAQmx prin dublu click pe icoana Measurement & Automation Explorer (MAX) și se deschide din partea stângă opțiunea Devices and Interfaces unde va apărea numele plăcii de achiziție conectată la calculator, asta însemnând că driverele sunt instalate corespunzător iar placa este recunoscută de calculator.

3.2.2 Testarea virtuală a plăcii de achiziție

Softul NI-DAQmx nu numai că oferă dezvoltatorilor de sisteme DAQ un driver de înaltă performanță, ci include și numeroase servicii de măsurare destinate creșterii productivității. Una dintre cele mai noi și mai interesante servicii de măsurare adăugate la NI-DAQmx este dispozitivul NI-DAQmx Simulated Devices. Un dispozitiv simulat NI-DAQmx este o replică a unui dispozitiv creat utilizând opțiunea NI-DAQmx Simulated Devices din meniul Create New din MAX, pentru a opera o funcție sau un program fără hardware. Un dispozitiv simulat NI-DAQmx se comportă similar unui dispozitiv real. Driver-ul său este încărcat, iar programele care îl utilizează sunt pe deplin verificate.

Pentru crearea unui device virtual, a fost necesară instalarea unei versiuni mai noi apărute de NI-DAQmx 16.0 urmând pașii:

Se deschide Measurement & Automatic Explorer (MAX)

Click dreapta pe My System >> Devices and Interfaces și se selectează Create New… În fereastra ce se deschide trebuie selectat Simulated NIDAQmx Device or Modular Instrument. După selecție, se deschide o nouă fereastră în care trebuie selectat device-ul dorit.

Se selectează device-ul utilizat pentru simulare. În funcție de versiunea softului, se găsesc sute de modele de plăci pentru care se poate realiza simularea.

După ce se dă click pe OK, numele plăcii simulate va apărea la Devices and Interfaces. Culoarea iconiței de la device-urile simulate este de culoare galbenă, pe când cele reale sunt de culoare verde.

În cele ce urmează se va crea un task pentru unul sau mai multe canale ale plăcii simulate. Astfel, se poate înțelege mai bine cum funcționează placa. Mai întâi sunt necesare următoarele operații:

Crearea unui nou task apăsând opțiunea Create Task, care se află în meniul din partea de sus a ferestrei principale. Se va deschide o fereastră în care trebuie ales tipul de măsurătoare pe care dorim să o simulăm (în cazul nostru Acquire Signals>>Analog Input>>Voltage, exemplificat în figura 3.20).

Fig. 3.20 Alegerea tipului de achiziție pentru simulare

Se selectează numărul de canale, în funcție de câte este nevoie (Figura 3.21). Atât device-ul simulat cât și cel real se află în listă, iar dacă nu se mai cunosc cum sunt, se pot alege după culoarea iconiței. În exemplu se folosesc patru canale, deoarece se va achiziționa semnalul de la patru microfoane și sunt necesare patru canale pentru a simula recepția unui semnal sinusoidal.

Fig. 3.21 Alegerea numărului de canale pentru simulare

 Se atribuie un nume task-ului creat, urmând apoi să se selecteze tipul de achiziție (RSE, NRSE, Differential). Se alege modul Differential deoarece în circuitul realizat acesta este modul de achiziție. Intervalul în care se face achiziția a rămas [-10, 10] pentru fiecare canal, frecvența de eșantionare la 100kHz, iar numărul de eșantioane 10 000. Se rulează dând click pe butonul Run din partea de sus (Figura 3.22).

Fig. 3.22 Rezultatul simulării plăcii de achiziție virtuale

3.2.3 Implementarea programului de achiziție în Simulink

După testarea funcționalității plăcii de achiziție în simulare, se trece la achiziția propriu zisă a semnalelor cu ajutorul microfoanelor folosind sistemul de achiziție proiectat. Pentru a putea realiza achiziția, pe lângă sistemul hardware creat, mai avem nevoie și de o aplicație care să permită setarea anumitor parametri și începerea achiziției.

S-a ales implementarea aplicației software cu ajutorul Matlab. Matlab-ul vine de la sine în toolbox-ul Data Acquisition Toolbox cu posibilitatea achiziției semnalelor prin placa de sunet integrată a calculatorului ('winsound'), dar se pot instala și alte adaptoare, fiecare pentru tip de placă folosit. Pentru exemplul dat, s-au instalat și adaptoare pentru plăcile de achiziție de la National Instruments ('nidaq'). După cum a mai fost precizat și în capitolele anterioare, pentru aplicația în cauză, utilizarea plăcii de sunet nu este o soluție din cauza numărului mic de canale și astfel, după recomandările din aplicațiile similare și cercetări, s-a decis folosirea unei plăci de achiziție NI Daq USB 6212.

Data Acquisition Toolbox suportă utilizarea a două interfețe: Legacy Interface și Session-Based Interface. În funcție de sistemul de operare pe care se lucrează, în funcție de tipul de procesor și nu în ultimul rând de tipul de aplicație ce se dorește a fi implementată, se alege unul din modurile de mai sus. În exemplu dat, device-urile de la National Instruments pot folosi ambele tipuri, în schimb trebuie instalată o versiune de Matlab pe 32 de biți, în caz contrar în variantele pe 64 de biți, se poate folosi doar opțiunea Session-Based Interface (Figura 3.23). Înregistrarea și prelucrarea datelor se realizează pe un laptop personal, Windows 7 pe 64 de biți cu 4 GB memorie RAM pe care s-a instalat Matlab versiunea R2014a pe 32 de biți.

Fig. 3.23 Tabel cu diferite versiuni de device-uri și posibilități de interfețe

Faptul că s-a ales folosirea versiunii pe 32 de biți permite totodată și folosirea lui Simulink Blocks care deține o bibliotecă specială pentru realizarea achiziției denumită Data Acquisition Toolbox. Aceasta conține mai multe blocuri, printre care și cel pe care se va folosi în aplicație, Analog Input. Mai întâi trebuie verificat dacă Matlab-ul are biblioteca respectivă instalată și device-urile utilizate sunt recunoscute în cadrul softului. Aceste lucruri se fac prin intermediul comenzii „daqwinfo”. La executarea acestei comenzi, Matlab-ul returnează un set de informații cu privire la tipul de versiune, bibliotecile instalate, device-urile recunoscute și altele. Secvența prezentată în figura 3.24 arată că totul este în regulă.

Fig. 3.24 Verificarea bibliotecilor instalate și recunoașterea plăcii de achiziție de Matlab

Blocul Analog Input permite obținerea de date de la mai multe canale analogice ale dispozitivului de achiziție folosit. Blocul de intrare analogică deschide, inițializează, configurează și controlează un dispozitiv analogic de achiziție a datelor. Deschiderea, inițializarea și configurarea dispozitivului apare o dată la începutul executării modelului. În timpul perioadei de execuție a modelului, blocul achiziționează date fie în modul sincron, care livrează blocul actual de date pe care dispozitivul îl furnizează (pentru aceasta, se bifează opțiunea Synchronously), fie asincron care stochează datele de intrare într-un buffer și le redă la sfârșitul achiziției (se alege opțiunea Asynchronously).

Blocul nu are porturi de intrare, dar are în schimb unul sau mai multe porturi de ieșire, în funcție de configurația aleasă din fereastra Source Block Parameters. Se poate configura blocul cu un singur port de ieșire pentru ambele canale și astfel vor fi reprezentate pe aceeași diagramă, sau cu câte un port de ieșire pentru fiecare canal, în funcție de numărul de canale al plăcii folosite. Aceeași fereastră permite setarea mai multor parametri, îndeplinind cerințele individuale fiecărui tip de achiziție de date. În continuare vor fi explicitați cei mai importanți dintre aceștia:

Opțiunea Device permite utilizatorului să aleagă dispozitivul cu care se va face achiziția. Elementele din listă diferă, în funcție de dispozitivele conectate la intrarea sistemului (placă de sunet internă, placă de sunet externă, placă de achiziție NI, etc.). Dispozitivele din listă sunt specificate de numele adaptorului sau furnizorului (adaptor/vendor name) și ID-ul dispozitivului unic (device ID), urmat de numele modelului dispozitivului, de exemplu, nidaq Dev2 (USB-6212 (Mass Termination)). De asemenea, aceste date sunt cunoscute datorită comenzii în Matlab folosită și explicată anterior;

Opțiunea Hardware sample rate setează frecvența de eșantionare cu care sunt achiziționate datele la dispozitiv și este exprimată în eșantioane pe secundă. Valoarea predefinită este valoarea minimă a sistemului. Rata de eșantionare trebuie să fie un număr real pozitiv în intervalul acceptat de hardware-ul selectat;

Opțiunea Block size setează numărul de eșantioane de date care se transmit la ieșirea blocului la fiecare moment de timp pentru fiecare canal. Acesta trebuie să fie un număr întreg pozitiv mai mare sau egal cu 2, în intervalul acceptat de hardware-ul selectat;

Opțiunea Channels permite selectarea canalelor pe care se va face achiziția din lista de canale oferite de dispozitivul folosit. Se bifează căsuțele în dreptul canalelor de interes, iar pentru fiecare canal se pot modifica următorii parametri:

Hardware Channel afișează ID-ul specificat de dispozitiv. Această opțiune este read-only, iar parametrii ei sunt definiți odată cu selectarea plăcii de achiziție;

Name este numele canalului. În mod prestabilit, tabelul afișează toate denumirile furnizate de hardware, dar puteți edita numele. De exemplu, dacă dispozitivul este o placă de sunet cu două canale, le puteți numi Stânga și Dreapta;

Input Range se referă la intervalele de intrare disponibile pentru fiecare canal suportate de hardware, definite când un dispozitiv este selectat;

Opțiunea Input type se referă la configurația canalului și se pot alege trei opțiuni: Differential, Refferenced Single Ended și Non-Refferenced Single Ended;

Fig. 3.25 Setarea parametrilor pentru achiziția de date

Pentru a putea alege una din configurațiile disponibile, în continuare sunt explicate mai pe larg fiecare dintre ele și montajele hardware necesare pentru folosirea oricăruia dintre ele.

Primele două moduri de achiziție se pot folosi în categoria surselor de semnal cu referință la sol. O sursă de semnal cu referință la sol este o sursă de semnal conectată la sistemul de masă al clădirii. Presupunând că și calculatorul este conectat la același sistem de energie ca și sursa, dispozitivul este conectat la punctul comun de masă. Ieșirile neizolate ale instrumentelor și dispozitivele care se conectează la sistemul de energie al clădirii intră în aceeași categorie. Diferența de potențial la masă între două instrumente conectate la același sistem de putere al clădirii este de regulă cuprinsă între 1 și 100 mV, dar diferența poate fi mai mare dacă circuitele sunt necorespunzător conectate. Dacă masa unei surse de semnal este incorect calculată, acest lucru poate apărea ca eroare de măsurare în timpul funcționării circuitului. De aceea, este indicată conectarea corespunzătoare în funcție de sistemul utilizat pentru a elimina erorile apărute în situația prezentată.

Cealaltă categorie de dispozitive sunt sursele de semnal „plutitoare” care se referă la faptul că ele nu sunt conectate la sistemul de masă al clădirii, ci au un punct de masă de referință izolat. Câteva exemple de astfel de dispozitive sunt ieșirile transformatoarelor, termocupluri, dispozitivele alimentate de baterii, izolatoare optice și altele. Un instrument sau un dispozitiv care are o ieșire izolată, este o sursă de semnal „plutitoare”.

În situația dată, device-ul folosit face parte din a doua categorie prezentată și deci se poate conecta în toate modurile (RSE, NRSE, Differential). În continuare sunt prezentate fiecare dintre aceste configurații, în ce situații sunt indicate a fi folosite și cum se realizează conectarea circuitului.

Se poate folosi conectarea în modul Differential atunci când măsurătorile îndeplinesc următoarele condiții:

Semnalul de la intrare are nivelul amplitudinii mai mic de 1V;

Firele care fac legătura între microfon și achizitor sunt mai mari de 3m;

Semnalul de intrare necesită un nod de referință separat sau o cale de întoarcere;

Firele de legătură se află într-un mediu zgomotos;

Două canale analogice de intrare, AI+ și AI-, sunt necesare pentru semnal.

În figura 3.26 este prezentat modul Differential de conectare al dispozitivului NI USB 6212 Mass Termination. Pinul 68 corespunde intrării analogice Analog Input 0 la care este legat semnalul pozitiv (AI+) iar pinul 34 corespunde Analog Input 8 la care se este legat semnalul negativ (AI-). La fel se procedează și pentru celelalte canale, Analog Input 1 la pozitiv și Analog Input 9 la negativ și așa mai departe. Ca o măsură de siguranță, pentru a preveni sursa să depășească intervalul maxim de tensiune în care lucrează placa de achiziție, conductorul negativ al sursei se conectează și la masa dispozitivului, adică la pinul 67 Analog Input GND. Această conectare se poate realiza cu sau fără rezistențe și cel mai bine funcționează pentru surse DC cu impedanță scăzută (mai mică de 100Ω).

Fig. 3.26 Conectarea echipamentului pentru a lucra în modul Differential

În funcție de modul în care este dat nodul de referință, se face diferențierea între tipurile de configurații. Atunci când nodul de referință este dat de device, modul de achiziție se numește Referenced Single-Ended mode (RSE), iar când masa este dată de semnal, modul de achiziție se numește Non-Referenced Single-Ended mode (NRSE).

Folosirea acestor două moduri se poate face atunci când se îndeplinesc următoarele cerințe:

Semnalul de la intrare are nivelul amplitudinii mai mare de 1V;

Firele care fac legătura între receptor și placa de achiziție sunt mai mici de 3m;

Un semnal de intrare poate avea masă comună cu alt semnal

În figura 3.27 este arătat modul de conectare al senzorilor de recepție ai semnalului pentru a putea lucra în configurația RSE. Chiar dacă exemplificarea este făcută pentru placa de achiziție de la NI USB 6212, aceiași pini se găsesc (în număr diferit) la toate plăcile de la National Instruments. Pinul 68 corespunde intrării analogice Analog Input 0 unde se conectează semnalul pozitiv, iar semnalul negativ se poate conecta la unul din pinii destinați intrării analogice la masă Analog Input GND (pinul 67, 64, etc.).

Fig. 3.27 Conectarea echipamentului pentru a lucra în modul RSE

Cel de-al treilea mod în care se poate face achiziția este prezentat în figura 3.28, modul NRSE. Configurație este asemănătoare celei anterioare, semnalul pozitiv este aplicat la intrarea analogică la pinul 68 corespunzător Analog Input 0,iar ceea ce diferă este faptul că semnalul negativ provenit de la senzor este introdus în placa de achiziție prin pinul 62 corespunzător Analog Input Sense. Se întâlnește aceeași măsură de siguranță ca la modul Differential și anume semnalul negativ poate fi aplicat cu sau fără rezistență la masa dispozitivului prin intermediul pinilor corespunzători Analog Input GND.

Fig. 3.28 Conectarea echipamentului pentru a lucra în modul NRSE

3.2.4 Achiziționarea semnalelor de la doi senzori în Simulink

Pentru a putea alege metoda de achiziție de date cea mai potrivită aplicație în cauză, a fost necesară realizarea de teste în laborator. S-a aplicat la intrarea analogică a plăcii de achiziție un semnal de la un generator de semnal pentru fiecare din cele trei configurații. În urma testelor realizate, s-a considerat alegerea modului RSE cea mai potrivită aplicație, fiind singura care oferă rezultate bune. De asemenea, datorită faptului că semnalul de la intrare are amplitudini mai mari de 1V și firele ce realizează legătura între microfoane și placa de achiziție nu sunt mai mari de 3m, îndrumă spre folosirea acestei configurații. În plus, dacă se va folosi achiziția semnalelor în modul Differential intrările analogice se vor reduce la jumătate datorită arhitecturii sale, lucru esențial în cazul unei aplicații mai complexe, în care este necesar un număr mare de receptoare.

Așadar, s-a realizat construcția hardware conform modului RSE și s-a conectat placa de achiziție la calculator. După setarea parametrilor corespunzători în blocul Analog Input, acesta a recunoscut dispozitivul conectat. Pentru a putea vizualiza achiziția în timp real a celor două semnale și a salva datele de pe fiecare canal în două variabile diferite, se poate folosi un osciloscop virtual. La fiecare dintre ieșirile de pe canale se conectează cate un bloc Scope. Pentru a putea vizualiza datele pe osciloscopul virtual acesta trebuie pornit dând dublu-click pe bloc.

Pentru a avea rezultatele dorite, se setează următorii parametri blocului Scope din colțul stânga sus:

Din opțiunea History trebuie debifată opțiunea Limit data points to last, care permite accesarea doar a ultimelor n eșantioane achiziționate din semnal, însă pentru aplicația dezvoltată se dorește o achiziție continuă și salvarea tuturor datelor achiziționate;

Tot din opțiunea History alegem opțiunea Save data to workspace care ne permite salvarea semnalelor achiziționate. Atunci când se bifează opțiunea, vor apărea două câmpuri noi: Variable name în care completăm numele sub care vor fi salvate datele în Workspace-ul Matlab-ului și Format în care se va alege Structure with time pentru a salva datele într-o variabilă de tip struct care să conțină perechea de valori tensiunea semnalului la ieșire și timpul corespunzător exprimat în secunde;

Aceste setări vor fi făcute pentru fiecare din blocurile Scope folosite. După realizarea pregătirilor, rămâne doar selectarea timpului în secunde pentru care să se facă achiziția, iar pornirea achiziției ce se face pe butonul Run.

Pentru a explicita mai bine acele instrucțiuni prezentate anterior, în figura 3.29 este prezentat un exemplu de achiziție a semnalului vocal pentru o perioadă de 2 secunde. Ca și o concluzie în urma acestui experiment, se poate spune că timpul de prelucrare este foarte mare și nu se poate folosi execuția în Simulink pentru aplicațiile în timp real, ci rolul ei este de a demonstra experimental anumite situații și a le înțelege.

Fig. 3.29 Achiziția pe două canale a unui semnal în Simulink

CAPITOLUL 4 Rezultate experimentale

4.1 Implementarea și testarea algoritmului de determinare a timpului de întârziere bazat pe metoda intercorelației utilizând semnale sintetice

Pentru crearea și implementarea în practică a algoritmilor de determinare a timpului de întârziere, trebuie mai întâi să-i testăm folosind semnale sintetice simulate in Matlab, ca apoi să aplicăm pe semnale reale.

În primul rând, vom genera în Matlab două semnale prin intermediul funcției „randn”, primul având o distribuție normală de 1000 eșantioane, iar al doilea va fi obținut din întârzierea primului semnal cu un anumit număr de eșantioane, având ca obiectiv final calcularea funcției de intercorelație dintre cele doua semnale. Vom observa faptul ca maximul funcției de intercorelație a celor doua semnale va fi chiar numărul de eșantioane cu care este întârziat al doilea semnal față de primul.

Fig. 4.1 Maximul funcției de intercorelație dintre două semnale cu o întârziere de 45 eșantioane

Secvența de cod care realizează aceste lucruri este expusă mai jos, iar în figura 4.1 avem rezultatele obținute în urma rulării. În prima linie am precizat, prin variabila D, numărul de eșantioane cu care va fi întârziat al doilea semnal (în cazul de față 50 de eșantioane). Următoarele trei linii le-am folosit pentru a crea semnalul inițial (având 1000 eșantioane), cât și semnalul întârziat. Funcția „xcorr”, prezentă în penultimul rând al secvenței de cod ne-a ajutat să calculam funcția de intercorelație dintre cele două semnale (semnalul inițial și semnalul întârziat). Ultima linie de cod a fost amplasată pentru a afișa rezultatul întregului cod, mai exact graficul funcției de intercorelație.

D=50; %numărul de eșantioane cu care este întârziat al doilea semnal

s=randn(1100,1); %generarea unui semnal cu distribuție normală

s1=s(1:1000,1); %primul semnal cu 1000 de eșantioane

s2=s(1+D:1000+D,1); %al doilea semnal întârziat

[rxy,lag]=xcorr(s1,s2); %calculul funcției de intercorelație

stem(lag,rxy); %afișarea graficului funcției de intercorelație

Pentru ca situația să fie mai eficientă și realistă, vom simula în plus cazul în care sunt prezente zgomote, iar astfel peste semnalul generat vom adăuga zgomot dintr-un fișier „wav”. Acesta va fi aditiv, însemnând că peste semnalul nostru de interes se va adăuga semnalul din fișierul „zgomot.wav”, care în prealabil va fi adus la aceeași dimensiune pentru a-l putea aduna. Pentru sinteza Matlab, în secvența de cod precedentă se adaugă următoarele linii de cod prezente mai jos.

Fig. 4.2 Maximul funcției de intercorelație dintre două semnale însoțite de un zgomot aditiv dintr-un fișier wav

w=wavread('noise.wav'); %încărcare zgomot în Matlab

w=w(1:1000,1); %selectarea lungimii corespunzătoare semnalelor

s1=s(1:1000,1)+w; %primul semnal + zgomot

s2=s(1+D:1000+D,1)+w; %al doilea semnal întârziat + zgomot

Prima linie de cod ne permite încărcarea fișierului în Matlab cu ajutorul funcției „wavread” după care a doua aduce zgomotul la aceeași dimensiune (1000 eșantioane) cu semnalul inițial. Următoarele două linii de cod sunt folosite pentru a aduna zgomotul cu cele două semnale. În ciuda acestui lucru, nu pare să se afecteze deloc rezultatele determinării timpului de întârziere, după cum se poate observa și din figura 4.2.

Mai departe, putem studia situația în care se generează în Matlab un semnal sinusoidal cu frecvența 1kHz care se încadrează în banda semnalului audio. Acesta se întârzie în timp cu 23 de eșantioane și apoi între cele două semnale se aplică funcția de intercorelație. Frecvența de eșantionare este 100kHz (la fel cu cea folosită în sistemul fizic cu 4 microfoane). Rezultatul obținut este prezentat în figura 4.3 iar scriptul folosit pentru realizarea acestor operații este afișat mai jos.

Fig. 4.3 Rezultatul intercorelației dintre semnalul sinusoidal generat în banda semnalului audio și același semnal întârziat

clear all

clc

D=23;

Fe=1e5; %frecventa de esantionare este 100kHz

t=0:1099; %intervalul de timp continuu

n=0:length(t)-1; %intervalul de timp discret

s=sin(2*pi*(1100/Fe)*t); %generarea unui semnal sinusoidal in timp continuu cu

%frecventa de 1kHz

s1=s(1,1:1000);

s2=s(1,1+D:1000+D);

sd=sin(2*pi*(1100/Fe)*n); %generarea unui semnal sinusoidal in timp discret cu

%frecventa de 1kHz

sd1=sd(1,1:1000);

sd2=sd(1,D+1:1000+D);

[r,lag]=xcorr(s1,s2); %realizarea intercorelatiei intre cele doua semnale

[m,l]=max(abs(r)); %determinarea maximului funcției de intercorelație

lagdiff=lag(l); %timpul de întârziere exprimat in eșantioane

timediff=lagdiff/Fe; %timpul de întârziere exprimat in secunde

plot(lag,abs(r)); %realizarea graficului Rxy

Analizând rezultatele obținute în cele 3 cazuri prezentate anterior, putem observa o funcționare foarte bună a funcției de intercorelație. Pentru semnale reale, nu se pot obține aceleași rezultate din cauza prezenței surselor de zgomote care nu sunt în totalitate independente între ele (sunt corelate), asta însemnând ca . Acestea au drept consecință atenuarea maximului funcției de intercorelație din punctul D și mascarea acestuia de către variația lui .

4.2 Implementarea și testarea algoritmilor de determinare a timpului de întârziere folosind metoda generalizată de estimare

Funcția de intercorelație generalizată este folosită în principal pentru a estima mai precis timpul de întârziere. Ea este descrisă în relația 2.45 și poate avea mai multe forme în funcție de fereastra de ponderare în frecvență folosită.

În situația în care zgomotul este corelat și se realizează funcția de intercorelație între un semnal s1 și un semnal întârziat s2, vor apărea două maxime la valori diferite. Un maxim reprezintă valoarea întârzierii dintre semnalele s1 și s2, iar celălalt reprezintă valoarea întârzierii zgomotelor ws1 și ws2. Amplitudinile celor două diferă intre ele, iar în funcție de RSZ, amplitudinea maximului funcției este mai mare pentru întârzierea zgomotelor și se obține un rezultat eronat.

Fig. 4.4 Rezultatul funcției de intercorelație obținut pentru un RSZ=3

Se poate observa din figura 4.4 că se obțin primele două maxime la valoarea de 45 care reprezintă numărul de eșantioane întârziate între s1 și s2 și următorul maxim la valoarea de 15 care este asociată numărului de eșantioane întârziate pentru zgomotele ws1 și ws2. Pe măsură ce RSZ scade, crește puterea zgomotului și se poate ajunge în situația în care funcția de intercorelație depistează primul maxim la valoarea 15 și următorul la valoarea adevărată de 45 de eșantioane, rezultat cu totul eronat (Figura 4.5).

Fig. 4.5 Rezultatul funcției de intercorelație obținut pentru un RSZ=0

4.2.1 Fereastra de ponderare în frecvență SCOT

Fereastra SCOT (Smoothed Coherence Transform) definită prin funcția de

ponderare în relația 2.46 se poate implementa în Matlab și are codul prezent în anexa A.1.

În prima parte a codului se generează un semnal cu o distribuție exponențială din care se extrage semnalul s1 cu 80000 de eșantioane și semnalul

s2 tot cu dimensiunea de 80000 dar întârziat cu 21 de eșantioane față de primul.Se generează un al doilea semnal cu o distribuție gaussiană care reprezintă zgomotul, din care se obține w1 cu 80000 de eșantioane și w2 care provine din filtrarea zgomotului w1 cu un filtru FIR de grad 13, rezultând astfel un maxim al funcției de intercorelație a acestora la τ=6. De asemenea, se poate modifica cu ușurință și atribui diferite valori pentru RSZ[dB]. După adăugarea zgomotului peste semnalele de interesez, se realizează funcția de intercorelație ponderată folosind fereastra SCOT.

Fig. 4.6 Funcția de intercorelație cu fereastra de ponderare SCOT pentru semnale afectate de zgomote normale corelate la 6 eșantioane (RSZ=0 dB) pentru 1000 de realizări; valoarea reală a timpului de întârziere este de 21 eșantioane

Fig. 4.7 Funcția de intercorelație cu fereastră de ponderare SCOT pentru semnale afectate de zgomote normale corelate la 6 eșantioane (RSZ=-3 dB) pentru 1000 de realizări; valoarea reală a timpului de întârziere este de 21 eșantioane

4.2.2 Fereastra de ponderare în frecvență ML

Fereastra de ponderare ML (Maximum Likelihood), a cărei funcție de ponderare este definită în relația 2.47, este altă metodă de intercorelație. Aceasta

se poate implementa în Matlab înocuind bucata de cod folosită anterior pentru fereastra SCOT cu următorul cod prezent în anexa A.2.

După rularea a 2000 de realizări a acestui algoritm în cazul a 2 semnale cu

distribuție exponențială peste care se adaugă zgomot cu distribuție normală corelat la 6 eșantioane, se obțin rezultatele din figurile 4.8 și 4.9.

Fig. 4.8 Funcția de intercorelație cu fereastra de ponderare ML pentru semnale afectate de zgomote normale corelate la 6 eșantioane (RSZ=0 dB) pentru 2000 de realizări; valoarea reală a timpului de întârziere este de 21 eșantioane

Fig. 4.9 Funcția de intercorelație cu fereastra de ponderare ML pentru semnale afectate de zgomote normale corelate la 6 eșantioane (RSZ=-3 dB) pentru 2000 de realizări; valoarea reală a timpului de întârziere este de 21 eșantioane

4.2.3 Fereastra de ponderare în frecvență ROTH

Una dintre primele ferestre implementate în 1971 de către Roth este fereastra de ponderare care îi poartă numele. Conform relației 2.49 se poate implementa în următoarele linii de cod prezente în anexa A.3.

Fig. 4.10 Funcția de intercorelație cu fereastra de ponderare ROTH pentru semnale afectate de zgomote normale corelate la 6 eșantioane (RSZ=0 dB) pentru 1000 de realizări; valoarea reală a timpului de întârziere este de 21 eșantioane

Fig. 4.11 Funcția de intercorelație cu fereastra de ponderare ROTH pentru semnale afectate de zgomote normale corelate la 6 eșantioane (RSZ=-3 dB) pentru 1000 de realizări; valoarea reală a timpului de întârziere este de 21 eșantioane

4.2.4 Compararea tipurilor de ferestre de ponderare

Ferestrele implementate și prezentate anterior aduc îmbunătățiri în determinarea timpului de întârziere în cazul zgomotelor cu distribuție gaussiană, independente de semnalul util dar corelate între ele. Unele dintre ele se comportă mai bine în situațiile în care nivelul zgomotelor depășește un anumit prag. Eficiența și estimarea corectă a acestor ferestre depind de valoarea raportului semnal-zgomot și de lungimea realizărilor.

În figura 4.12 se poate observa apariția unui al doilea maxim datorită zgomotelor corelate. Totodată, curbele prezente confirmă îmbunătățirea formei funcției de intercorelație și astfel o estimare mai precisă. Testarea s-a realizat pentru semnale de 80000 eșantioane, cu RSZ=-3 dB. Se poate observa că rezultatele cele mai bune se obțin cu fereastra SCOT și ML.

Fig. 4.12 Funcția de intercorelație a semnalelor întârziate cu 21 de eșantioane, afectate de zgomote normale corelate la 6 eșantioane (RSZ=-3 dB), cu diferite tipuri de ferestre de ponderare

Un parametru care intră în eficiența ferestrei de ponderare este raportul semnal-zgomot. Pentru toate metodele bazate pe statistici de ordin superior, scăderea raportului semnal-zgomot conduce la rezultate eronate. Scăderea RSZ-ului are ca efect creșterea amplitudinii maximului corespunzător intercorelației zgomotelor până când devine comparabilă cu cea a maximului corespunzător intercorelației semnalelor utile, uneori depășind-o și astfel se produc determinările de întârziere eronate. Un grafic care arată comportarea ferestrelor de ponderare pentru un RSZ cuprins într-un interval de valori -7÷0 dB. În studiul prezentat s-au utilizat un număr de 200 de realizări pentru semnale de 8000 eșantioane lungime.

Fig. 4.13 Valorile medii ale timpului de întârziere estimat obținut prin metoda intercorelației cu diferite ferestre

După cum s-a dovedit și în graficul precedent, fereastra SCOT obține rezultate corecte până la un RSZ=-5 dB și se dovedește a fi cea mai bună metodă, urmând apoi fereastra ML care estimează corect pentru un RSZ=-4 dB, iar fereastra Roth și funcția fără ponderare returnează valori eronate pentru un RSZ mai mic de -3 dB. Metoda cu fereastra de ponderare de tip Roth, fiind și prima metodă implementată, se comportă asemănător cazului fără ponderare.

4.3 Determinarea timpului de întârziere utilizând semnale achiziționate de la două microfoane

Primul pas pentru a testa și verifica corectitudinea algoritmului implementat constă în aflarea timpilor de întârziere (minim și maxim). În funcție de rezultatele obținute se poate observa calitatea metodei.

Testarea algoritmului s-a realizat folosind un sistem de achiziție de date, la care s-au conectat două microfoane (figura 4.14). Distanța dintre cele două microfoane este de 60 de cm, iar frecvența de eșantionare este de 100 000 Hz. Viteza sunetului a fost aproximată la valoarea de ν=340 m/s. În urma rulării codului, se returnează o valoare numerică ceea ce reprezintă numărul de eșantioane diferență între cele două semnale recepționate. Dacă sursa de emisie se află la mijlocul distanței dintre cei doi senzori, atunci numărul de eșantioane diferență este egal cu 0. Pentru a putea afla timpul de întârziere maxim, respectiv timpul de întârziere minim, sursa de semnal trebuie să fie plasată pe aceeași dreaptă cu cele două microfoane, obținându-se astfel drumul cel mai lung. În funcție de ordinea semnalelor în funcția de intercorelație, se obține numărul maxim de eșantioane pozitiv pentru unghiuri de sosire de 0°, respectiv negativ pentru unghiuri de 180°. Pe baza relației se poate calcula timpul de întârziere exprimat în eșantioane:

Teoretic, cu formula 4.1 se poate calcula astfel diferența dintre semnale pentru un unghi și se obține un timp de întârziere de 176.47 eșantioane, iar pentru se obțin -176.47 de eșantioane. În realitate, rezultatele nu sunt aceleași. De asemenea, se pot afla și compara timpii de întârziere pentru diferite unghiuri. Rezultatele obținute se regăsesc în tabelul 4.1 și tabelul 4.2.

Tabel 4.1 Rezultate obținute pentru unghiuri de la 0° la 180° și o durată de înregistrare de 1s

Tabel 4.2 Rezultate obținute pentru unghiuri de la 0° la 180° și o durată de înregistrare de 0.5s

Codul utilizat pentru determinarea timpului de întârziere și a unghiului de sosire este afișat în anexa B.1.

4.4 Determinarea unghiului în azimut utilizând semnale achiziționate de la trei microfoane

După ce s-a verificat funcționarea corectă a algoritmului de determinare a timpului de întârziere și se obține unghiul de sosire, se poate determina direcția în azimut a sursei de semnal. Având în vedere rezultatele obținute de către un sistem cu 2 microfoane dispuse la o distanță de 60 cm între ele, s-a încercat o determinare mai precisă a direcției sursei. Astfel, s-a realizat un sistem cu 3 microfoane dispuse în linie la distanța de 80 de cm între microfoanele din extreme și 40 de cm între microfonul din mijloc și cele exterioare (figura 4.14). Cunoscând faptul că unghiul obținut este unghiul la mijlocul distanței dintre perechea de 2 microfoane, se pot obține 3 unghiuri la centru (α, β, θ) pentru cele 3 perechi de microfoane.

Fig. 4.14 Schema de dispunere a 3 microfoane în linie pentru determinarea azimutului

Pentru fiecare dintre unghiurile α, β, respectiv θ obținute se pot scrie relații pentru determinarea poziției sursei de semnal pe axa ox și axa oy și mai mult, se mai poate determina distanța de la centrul sistemului la sursa de semnal.

Rezolvând sistemul de ecuații, se determină x cu formula:

Și pe y din formula:

După calcularea poziției sursei în planul xoy, se mai poate obține si unghiul θ din rezultatele celorlalte două unghiuri. Astfel se face o mediere dintre unghiul direct obținut din perechea de microfoane (micr1, micr2) și unghiurile obținute din celelalte perechi. Se poate calcula foarte ușor unghiul în azimut mediu din relația:

În urma experimentelor în laborator, s-a constatat că noul obținut este mai precis decât unghiurile luate separat.

Codul utilizat pentru a determina unghiul în azimut este prezentat în anexa B.2.

Pentru a putea ști până la ce distanță se obțin rezultate bune și care este situația cea mai favorabilă, s-au mai realizat teste a căror rezultate sunt trecute în tabelul 4.3.

Tabel 4.3 Rezultate obținute pentru diferite distanțe față de sursă

4.5 Determinarea unghiului în elevație utilizând semnale achiziționate de la trei microfoane

După realizarea determinării unghiului azimutal se poate trece și la localizarea unghiului de înălțare. Metoda de determinare este aceeași ca și în situația prezentată anterior, cu setul de relații și calcularea coordonatelor sursei de semnal. Mai mult, din acest nou set de măsurători se obține o nouă valoare pentru distanța până la sursă și în cazul acesta se face medierea cu valoarea obținută anterior. Codul în Matlab necesar determinării unghiului de elevație este afișat în anexa B.3.

Fig. 4.15 Sistemul de determinare a poziției sursei în azimut și elevație

În figura 4.15 este arătat sistemul realizat care conține o rețea de 5 microfoane, microfonul din mijloc este comun determinării în azimut și în unghi de înălțare. Datorită configurației tehnice, frecvența de eșantionare maximă pentru fiecare microfon este egală cu frecvența maximă disponibilă de placa de achiziție împărțită la numărul de microfoane. Astfel, rezultă o frecvență de eșantionare pentru fiecare microfon de 80 kHz. Pentru perechile de microfoane cu distanța de 80 cm între ele, rezultă din relația 4.1 un număr maxim teoretic de 188.23 de eșantioane diferență intre semnalele recepționate cu ele. Iar pentru perechile de senzori de recepție cu distanța de 40 de cm intre ei, tot din relația 4.1 rezultă 94.12 eșantioane maxime diferență. Acestea pot fi de semn pozitiv sau negativ, depinzând de ordinea senzorilor în funcție.

Cunoscând unghiul de elevație, unghiul în azimut și poziția sursei de semnal, mai rămâne de realizat vizualizarea în timp real a sursei. În sistemul realizat se folosește o camera web externă. Aceasta trebuie pornită și setată rezoluția cu care filmează (1024×576). Prelucrarea presupune următoarele etape:

Crearea parametrilor și pregătirea plăcii de achiziție pentru colectarea

datelor

Crearea unui video player care să redea frame-urile unul după altul

Încărcarea unei imagini „țintă” care să se suprapună peste imagine

Salvarea unui frame

Înregistrarea semnalelor pentru o perioada de 0.5s

Prelucrarea datelor și returnarea poziției sursei de semnal

Verificare valorilor poziției sursei și eliminarea erorilor

Realizarea unui nou frame compus din frame-ul salvat anterior și imaginea

„țintă” peste poziția oferită de algoritm

Redarea în buclă continuă a frame-urilor prelucrate

Prelucrarea video este realizată cu ajutorul liniilor de cod prezente în anexa C. În urma rulării codului, se face localizarea sursei în timp real și redarea frame-urilor înregistrate și prelucrate. Determinarea se poate observa în figura 4.16.

Fig. 4.16 Localizarea poziției sursei de semnal și redarea în timp real

4.6 Realizarea interfeței grafice interactive

Matlab-ul permite realizarea unei interfețe grafice care să interacționeze cu utilizatorul într-o formă mai plăcută. Crearea ei se face prin intermediul unei aplicații numită guide. Aceasta permite configurarea unei ferestre ce poate conține grafice, butoane de rulare și altele. Se tastează in linie de cod comanda „guide” și prin intermediul aplicației se pot selecta butoane ce îndeplinesc funcții specifice, căsuțe în care poți atribui o valoare sau un șir de caractere, ele au rolul de variabile aleatoare, grafice în care se prezintă rezultatele în urma apăsării unui buton. După realizarea configurației dorite, se apasă pe Run și Matlab-ul generează automat fereastra creată de utilizator și codul din spatele interfeței ce poate fi modificat și completat cu funcții și comenzi.

Această metodă de a crea o interfață grafică (GUI) nu este o soluție de utilizare recomandată din cauza faptului că pentru a putea rula are nevoie de mai multe declarări de variabile, iar în cazul în care programul folosit este unul încărcat, s-ar putea produce confuzii între variabile și în plus scriptul va rula mai încet, rezultând o execuție mai lentă a comenzilor butoanelor. Totuși, deoarece programul de localizare a sursei de semnal acustic implementat nu este foarte încărcat, s-a realizat o interfață grafică prezentată în figura 4.17. Codul folosit este afișat în anexa D.

Fig. 4.17 Interfață grafică pentru prelucrarea semnalelor sintetice

La rularea codului pentru GUI va apărea o interfață ce permite prelucrarea semnalelor sintetice. În partea stângă se poate introduce manual numărul de eșantioane cu care va fi întârziat un semnal față de celălalt, lungimea semnalelor pe care se va face prelucrarea și există posibilitatea alegerii tipului se zgomote: zgomote normale independente de semnalul de interes (zgomote necorelate) și zgomote cu distribuție gaussiană corelate. La selectarea opțiunii a doua, vor apărea și alți parametri ce pot fi modificați (Figura 4.18). Astfel, se poate introduce întârzierea dintre zgomote, corelație ce se realizează cu ajutorul unui filtru FIR aplicat zgomotului primului semnal, raportul semnal-zgomot și posibilitatea alegerii unui tip de fereastră de ponderare. Având toți parametrii introduși corect, se apasă pe butonul Generează și va apărea în interfață graficul funcției de intercorelație aplicată și numărul de eșantioane întârziate determinate.

Din meniul de tip listă situat deasupra graficului se poate opta pentru lucrul cu semnale reale (Figura 4.19). În cazul acesta vor apărea alte căsuțe de text și meniuri. În centru este prezentat sistemul folosit și dispunerea microfoanelor astfel încât să se facă în mod corect alegerea microfoanelor cu care se va înregistra. La fel ca în situația precedentă, se atribuie valori parametrilor: durata de achiziție a semnalului și frecvența de eșantionare, după care se apasă pe butonul Procesează. În urma rulării algoritmului din spatele butonului, se vor returna valori corespunzătoare unghiului azimutal respectiv unghiului de elevație și distanța de la sursa de semnal la sistemul de achiziție.

Fig. 4.18 Interfață grafică pentru semnalele sintetice și zgomotele corelate

Pentru a putea face localizarea în timp real este necesară pornirea camerei web cu ajutorul butonului Pornește camera urmând apoi apăsarea butonului Localizează care creează un video player și permite detectarea sursei de semnal.

Fig. 4.19 Interfață grafică pentru prelucrarea semnalelor reale

Concluzii

În urma celor prezentate anterior se poate trage concluzia că obiectivele propuse au fost îndeplinite cu succes. Scopul acestui proiect a fost de a face posibilă localizarea surselor de semnal acustic cu ajutorul rețelelor de microfoane. Realizarea acestui sistem de localizare a necesitat îmbinarea părților software cu hardware, aplicarea cunoștințelor provenite de la materiile „Semnale și sisteme analogice”, „Prelucrarea numerică a semnalelor”, „Teoria probabilităților și statistică matematică”, „Prelucrarea statistică a semnalelor”, „Dispozitive și circuite electronice” și „Informatică aplicată”.

Privind realizarea părții practice a sistemului, am putut sesiza pe parcurs necesitatea atenției sporite privind procurarea componentelor folosite la realizarea senzorilor de înregistrare, acestea necesitând a fi din același lot, lungimea de legătura sa fie aceeași, alimentarea să fie la fel (de preferat de la o sursă de tensiune continuă) pentru toți senzorii, iar puterea circuitului să fie suficient de mare încât să se poată înregistra semnalul fără ca acesta să fie suprimat. De asemenea, au apărut dificultăți majore privind realizarea PCB-urilor pentru amplificarea microfoanelor. Prima data s-a încercat realizarea cablajului de imprimat prin metoda „toner transfer ” (transfer de toner), cu ajutorul programului ARES, care face parte tot din aceeași familie de programe Proteus. După mai multe modalități de dispunere a componentelor, s-a decis o variantă finală ce verifica toate conexiunile și nu existau suprapuneri nedorite. S-a exportat cablajul în format PDF și s-a folosit o imprimantă de tip laser și o coală lucioasă pentru a-l imprima. Cu ajutorul fierului de călcat s-a transferat circuitul printat pe placa de textolit, iar după delimitarea circuitului, s-a introdus placa în clorură ferică pentru a coroda cuprul din jurul circuitului. Deși din cauza nereușitelor repetate s-a încercat aplicarea acestei metode de trei ori, aceasta nu a dat rezultate foarte promițătoare deoarece de fiecare dată au apărut dificultăți în transferul cablajului pe placa de textolit (deși acesta a fost realizat implicit fără plan de masă), cât și imperfecțiuni majore în corodarea cuprului. Din cauza acestor motive s-a decis schimbarea metodei prin expunerea la lumină ultravioletă într-un laborator specializat, așa cum s-a precizat în subcapitolul 3.1.2.

Privind partea de achiziție, au apărut dificultăți în alegerea plăcii de achiziție pentru înregistrarea semnalelor provenite de la senzori. Folosind o rețea de 5 microfoane dispuse la o distanță de 40 cm, respectiv 80 cm, criteriul de alegere a tipului de placă de achiziție a fost frecvența de eșantionare cea mai mare pentru a atinge viteze și capacități de memorare mari, comparabile cu cele pe care le posedă creierul. Prima data s-a folosit placa de achiziție NI USB-6009 care putea avea o frecvență de la 1 kHz pana la maxim 40 kHz pentru toate canalele, iar astfel, rezultatele au fost nesatisfăcătoare. Așadar, s-a folosit în schimb placa de achiziție NI USB-6212, aceasta având frecvența de 10 ori mai mare decât cea folosită inițial în sistemul de localizare și astfel s-au obținut rezultate mult mai bune.

Sistemul conceput trebuie să țină cont și de tipul de sursă sonoră. Fiind un sistem care localizează sursa în timp real, acesta rulează încontinuu și astfel trebuie eliminate erorile provenite din momentele de timp în care sursa nu emite, sau nivelul semnalului nu este suficient de mare pentru a-l putea prelucra. Acest lucru conduce și la întârzierea redării cadrelor în care sursa este corect detectată. Erorile pot apărea și din cauza reflexiilor sunetului de diferite obiecte din jur sau prezența unor surse de zgomot din încăpere. Un alt parametru care influențează determinarea unghiului de sosire este viteza sunetului, aproximată pentru calcule la 340 m/s, viteză ce variază însă în funcție de presiune și temperatură.

Din rezultatele obținute s-a demonstrat că dintre cei patru algoritmi care au fost implementați, mai exact intercorelația clasică, intercorelația cu fereastră de ponderare ROTH, cu fereastră ML și cu fereastră SCOT, cel mai bine funcționează intercorelația cu fereastră SCOT pentru o durată a achiziției de cel puțin 0.5 s. O altă concluzie la care s-a ajuns este că pentru o localizare în plan tridimensional este nevoie de sisteme de achiziție foarte complexe, ceea ce implică costuri ridicate, precum și de niște microfoane cu un grad de sensibilitate cât mai mare. Cu ajutorul sistemului implementat, sursa de semnal a fost localizată în azimut cât și în unghi de înălțare și la ce distanță se află față de sistem, folosind semnale achiziționate cu cinci microfoane. Detectarea se poate face prin intermediul unei interfețe grafice. Prin realizarea acestui proiect s-a putut înțelege mai bine cum se aplică noțiunile teoretice învățate în partea practică și, totodată, s-a putut observa cât de mult diferă teoria față de situațiile reale.

Problema localizării surselor de semnal acustic folosind metode de estimare a timpului de întârziere este în continuă dezvoltare, cercetătorii încercând să găsească noi metode din ce în ce mai precise și eficiente de a o rezolva.

Se urmărește construirea unor roboți capabili să realizeze aceleași funcții ca omul, să perceapă sunetele, să le stocheze și să le prelucreze în aceeași manieră ca și creierul uman. În aceeași direcție, se încearcă dezvoltarea unor sisteme care să poată fi folosite în videoconferințe și cel mai important dintre toate, dezvoltarea sistemelor care să vină în sprijinul persoanelor cu handicap, să fie cât mai apropiate de modul de funcționare a creierului și să aibă rezultate cât mai precise. Astfel, toate sistemele ce sunt și vor fi dezvoltate vor veni în sprijinul oamenilor pentru a le ușura traiul.

Aplicațiile în timp real sunt cele mai importante, mai ales în domeniul militar în care este nevoie de echipamente și sisteme care să acționeze imediat și în condiții extreme, în unele situații salvând vieți omenești. De aceea, aceste aplicații și sisteme sunt în continuă cercetare și dezvoltare.

Pentru dezvoltări ulterioare, prin continuarea acestei lucrări, ar fi nevoie de o putere mai mare de prelucrare a datelor, lucru ce ar conduce la o precizie mai ridicată în determinarea poziției sursei și redarea ei în timp real. Folosind și microfoane cu sensibilitate mai mare și amplificări mai mari se poate localiza o sursă la o distanță mai mare. Se va ține în mod evident cont de faptul că odată cu creșterea complexității sistemului va crește și costul acestuia, dar se poate ajunge la un sistem capabil să depisteze locația a mai multor sunete concomitent sau, implicit, separarea semnalelor într-o cameră aglomerată.

Bibliografie

[1] Stuart Rosen, Peter Howell, Signals and Systems for Speech and Hearing, U.K, 2011;

[2] Frank Arthur Geldard, The human senses, New York, 1972;

[3] Victor Harbor, Proceedings of ACOUSTICS, Sydney,Australia, 2013;

[4] Data sheet Acoustic Camera Norsonic Nor848A;

[5] Guoqiang Mao, Bariș Fidan, Localization Algorithms and Strategies for Wireless Sensor Networks, New York, USA, 2009;

[6] Alexandru Șerbănescu, Teofil Oroian, Semnale analogice: teorie și probleme, Editura Academiei Tehnice Militare, București, 2010;

[7] A. T. Murgan, R. Dogaru, C. Comaniciu , Teoria Transmisiunii Informației: Detecția, Estimarea și Filtrarea Semnalelor Aleatoare -lucrări practice, Editura POLITEHNICA, București, 1995;

[8] Adriana Vlad, Marin Ferecatu, Mihai Mitrea, Teoria transmisiunii informației-îndrumar de laborator, Editura Paideia, București, 2002;

[9] A. Spătaru, Teoria Transmisiunii Informației, Editura Didactică și Pedagogică, București, 1983;

[10] Teofil-Cristian Oroian, Statistici de ordin superior în prelucrarea semnalelor, Editura Academiei Tehnice Militare, București, 2009;

[11] Data Acquisition Toolbox, User’s Guide, Matlab&Simulink, MathWorks;

[12] Jeremy Bass, Array Signal Processing, Rice University, Houston, Texas, 2012;

[13] G. M. Sessler, Self-biased condenser microphone with high capacitance, America, 1962;

[14] Paul Horowitz, Winfield Hill, The Art of Electronics, Cambridge, 1989;

[15] Data sheet NE/SA/SE5532/5532A Internally-compensated dual low noise operational amplifier;

[16] DAQ M Series, NI USB-621x User Manual, National Instruments;

[17] A. Quinquis, A. Șerbănescu, E. Rădoi, Semnale și sisteme. Aplicații în MATLAB, Editura Academiei Tehnice Militare, București, 1998;

[18] Ananthram Swami, Jerry M. Mendel, Chrysostomos L. (Max) Nikias, Higher-Order Spectral Analysis Toolbox For Use with MATLAB;

[19] M. Ghinea, V. Firețeanu, Matlab, Calculul numeric-grafică-aplicații, Editura Teora, București, 1999;

[20] A. Mateescu, S. Ciorchină, N. Dumitriu, A. Șerbănescu, L. Stanciu, Prelucrarea numerică a semnalelor, Editura Teora, București, 1997;

ANEXE

Scopul acestei secțiuni este de a exemplifica toate secvențele de cod referențiate de capitolele anterioare. Aceste porțiuni de cod sunt comentate linie cu linie acolo unde este cazul, cu scopul de a prezenta un flux al procesării cât mai explicit. Subanexele componente ale anexei A conțin rutine ale ferestrelor de ponderare SCOT, ML și ROTH. Subanexele componente ale anexei B conțin structurarea codului pentru determinarea timpului de întârziere, a unghiului de sosire, de azimut și de elevație. Anexa C prezintă funcția de prelucrare video pentru localizarea sursei în timp real și redarea cadrelor înregistrate și prelucrate, iar anexa D descrie metoda de realizare a interfeței grafice în Matlab.

Anexa A

Anexa A.1

clear all

s=rpiid(80021,'exp');

s1=s(1:80000);

s2=s(22:80021);

w1=rpiid(80000,'nor');

w2=filter([1 2 3 4 5 6 7 7 5 4 3 2 1],[1],w1);

w2=(w2-mean(w2))/std(w2);

RSZ=0;

c1=sqrt(10^(-RSZ/10));

x=s1+c1*w2;

y=s2+c1*w1;

%start SCOT

max_delay=190;

[lx,nrecs]=size(s1);

lfft=2^(nextpow2(4*max_delay+1));

segsamp=lfft;

overlap=50;

noverlap=512;

wind=hanning(segsamp);

nfft=2^nextpow2(segsamp) ;

P=spectrum(s2,s1,nfft,noverlap,wind);

pxx=P(:,1);

pyy=P(:,2);

pxy=P(:,3);

n=length(pxy);

Rw=1./(sqrt(pxx+pyy));

Rw=Rw.*pxy;

Rw(1)=0;

Rw=[Rw; conj(Rw(n-1:-1:2))];

rxy=real(fftshift(ifft(Rw)));

[val,d]=max(abs(rxy));

eșantioane=d-n;

%end SCOT

Anexa A.2

%start ML

max_delay=190;

[lx,nrecs]=size(s1);

lfft=2^(nextpow2(4*max_delay+1));

segsamp=lfft;

overlap=50;

noverlap=512;

wind=hanning(segsamp);

nfft=2^nextpow2(segsamp) ;

P=spectrum(s2,s1,nfft,noverlap,wind);

pxy=P(:,3);

Cxy=P(:,5);

n=length(pxy);

Rw=Cxy./((1-Cxy).*abs(pxy));

Rw=Rw.*pxy;

Rw(1)=0;

Rw=[Rw; conj(Rw(n-1:-1:2))];

rxy=real(fftshift(ifft(Rw)));

[val,d]=max(abs(rxy));

if d==1

eșantioane=0;

else

eșantioane=d-n;

end

%end ML

Anexa A.3

%start ROTH

max_delay=190;

[lx,nrecs]=size(s1);

lfft=2^(nextpow2(4*max_delay+1));

segsamp=lfft;

overlap=50;

noverlap=512;

wind=hanning(segsamp);

nfft=2^nextpow2(segsamp) ;

P=spectrum(s2,s1,nfft,noverlap,wind);

pxx=P(:,1);

pxy=P(:,3);

Cxy=P(:,5);

n=length(pxy);

Rw=1./pxx;

Rw=Rw.*pxy;

Rw(1)=0;

Rw=[Rw; conj(Rw(n-1:-1:2))];

rxy=real(fftshift(ifft(Rw)));

[val,d]=max(abs(rxy));

if d==1

eșantioane=0;

else

eșantioane=d-n;

end

%endROTH

Anexa B

Anexa B.1

s = daq.createSession('ni'); %crearea unei sesiuni de înregistrare folosind placa

%de achiziție NI

addAnalogInputChannel(s,'Dev2', 0:1, 'Voltage'); %setarea tipului de canale și

%numărul lor

set(s.Channels,'InputType','SingleEnded'); %setarea configurației (figura 3.1 )

set(s.Channels,'Range',[-10 10]); %reglarea intervalului de tensiune

s.Rate = 100000; %frecvența de eșantionare

s.DurationInSeconds =0.5; %timpul de înregistrare

[data,time] = s.startForeground; %start înregistrare

micr1=data(:,1); %semnalul de la primul microfon

micr2=data(:,2); %semnalul de la al doilea microfon

[r,lag]=xcorr(micr2,micr1); %funcția de intercorelație

[n,l]=max(abs(r)); %aflarea maximului funcției de intercorelație

lagdiff=lag(l) %eșantioanele întârziate

timediff=lagdiff/100000; %timpul de întârziere in secunde

produscc=lagdiff*340/(0.6*100000); %cos(θ)

unghiphi=acos(produscc)*180/pi %θ

unghiphi=round(unghiphi);

Anexa B.2

s = daq.createSession('ni');

addAnalogInputChannel(s,'Dev2', 0:4, 'Voltage');

set(s.Channels,'InputType','SingleEnded');

set(s.Channels,'Range',[-10 10]);

s.Rate = 80000;

s.DurationInSeconds =0.5;

d=0.2;

[data,time] = s.startForeground;

s1=data(:,1);

s2=data(:,2);

s3=data(:,3);

s4=data(:,4);

s5=data(:,5);

[r,lag]=xcorr(s2,s3);

[n,l]=max(abs(r));

lagdiff=lag(l)

timediff=lagdiff/100000;

produscc=lagdiff*340/(0.4*80000);

beta=acos(produscc)*180/pi

[r,lag]=xcorr(s3,s1);

[n,l]=max(abs(r));

lagdiff=lag(l)

timediff=lagdiff/100000;

produscc=lagdiff*340/(0.4*80000);

alpha=acos(produscc)*180/pi

[r,lag]=xcorr(s2,s1);

[n,l]=max(abs(r));

lagdiff=lag(l)

timediff=lagdiff/100000;

produscc=lagdiff*340/(0.8*80000);

azimut=acos(produscc)*180/pi

if beta==90

x=-d

y=x*tand(azimut)

end

if azimut==90

x=0

y=y=(2*d*tand(alpha)*tand(beta))/(tand(alpha)-tand(beta))

end

if alpha==90

x=d

y=x*tand(azimut)

else

x=(d*(tand(alpha)+tand(beta)))/(tand(alpha)-tand(beta))

y=(2*d*tand(alpha)*tand(beta))/(tand(alpha)-tand(beta))

end

azimutobt=atan(y/abs(x))*180/pi

if x<0

azimutmediu=((180-azimutobt)+azimut)/2

else

azimutmediu=(azimutobt+azimut)/2

end

distcentru_sursa=sqrt((x^2)+(y^2))

Anexa B.3

[r,lag]=xcorr(s5,s3);

[n,l]=max(abs(r));

lagdiff=lag(l)

timediff=lagdiff/100000;

produscc=lagdiff*340/(0.4*80000);

beta1=acos(produscc)*180/pi

[r,lag]=xcorr(s3,s4);

[n,l]=max(abs(r));

lagdiff=lag(l)

timediff=lagdiff/100000;

produscc=lagdiff*340/(0.4*80000);

alpha1=acos(produscc)*180/pi

[r,lag]=xcorr(s5,s4);

[n,l]=max(abs(r));

lagdiff=lag(l)

timediff=lagdiff/100000;

produscc=lagdiff*340/(0.8*80000);

elevatie=acos(produscc)*180/pi

if beta1==90

z=-d

y1=z*tand(elevatie)

end

if elevatie==90

z=0

y1=(2*d*tand(alpha1)*tand(beta1))/(tand(alpha1)-tand(beta1))

end

if alpha1==90

z=d

y1=z*tand(elevatie)

else

z=(d*(tand(alpha1)+tand(beta1)))/(tand(alpha1)-tand(beta1))

y1=(2*d*tand(alpha1)*tand(beta1))/(tand(alpha1)-tand(beta1))

end

elevatieobt=atan(y1/abs(z))*180/pi

if z<0

elevatiemedie=((180-elevatieobt)+elevatie)/2

else

elevatiemedie=(elevatieobt+elevatie)/2

end

distcentru_sursa1=sqrt((z^2)+(y1^2))

distcentru_sursamediu=(distcentru_sursa+distcentru_sursa1)/2

Anexa C

cam=webcam(2);

cam.Resolution= '1024×576';

videoframe=snapshot(cam);

framesize=size(videoframe);

videoplayer=vision.VideoPlayer('Position',[0 42[framesize(2),framesize(1)]+30]);

while runLoop

videoframe=snapshot(cam);

videoout=imoverlay(videoframe,tinta, [inaltime latime]);

step(videoplayer,videoout);

frameCount=frameCount+1;

runLoop=isOpen(videoplayer);

end

Anexa D

function d_Callback(hObject, eventdata, handles)

d=str2double(get(hObject,'String'));

function lungime_Callback(hObject, eventdata, handles)

lungime=str2double(get(hObject,'String'));

function buton_Callback(hObject, eventdata, handles)

contents = get(handles.fereastra1,'Value');

d=str2double(get(handles.d,'String'));

function RSZ_Callback(hObject, eventdata, handles)

RSZ=str2double(get(hObject,'String'));

switch contents

case 1

plot(-l:l,r1(length(s1)-l:length(s1)+l)/max(r1),'-b')

set(handles.afis,'String',d1);

case 2

plot(-l:l,r2(513-l:513+l)/max(r2),'-r');

set(handles.afis,'String',d2);

case 3

plot(-l:l,r3(513-l:513+l)/max(r3),'-g');

set(handles.afis,'String',d3);

case 4

plot(-l:l,r4(513-l:513+l)/max(r4),'-k');

set(handles.afis,'String',d4);

otherwise

end

Similar Posts