-
Notifications
You must be signed in to change notification settings - Fork 3
[2022] Audio lokalizacija #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
41c8559
ce49c1d
ed4978c
9851f91
f4ba20a
bc91f2d
659f684
8fcaa1b
90f0484
e4f78f0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,3 +2,179 @@ | |
| title: Audio lokalizacija | ||
| summary: Audio lokalizacija je projekat rađen na letnjem kampu za stare polaznike 2022. godine od Lenke Vučković i Žarka Hajdera. | ||
| --- | ||
| ## Sadržaj | ||
|
|
||
| 1. Apstrakt | ||
| 2. Uvod | ||
| 3. Aparatura i metode | ||
| 4. Istraživanje i rezultati | ||
| 5. Zaključak | ||
|
|
||
| ### Apstrakt | ||
|
|
||
| Prva dva odeljka vašeg izveštaja su apstrakt i apstrakt na engleskom, ali njih treba pisati nakon svih drugih delova. | ||
| Apstrakt predstavlja sažetak vašeg izveštaja i treba (bez objašnjenja) da predstavi šta ste radili, na koji način i koje rezultate ste postigli. | ||
| <!---//ovo na kraju radimo ---> | ||
| ### Uvod | ||
| Uvod treba da sadrži sledeće stvari: | ||
| * Opis i motivaciju projekta, odnosno kako ste došli do ideje i šta ste radili. | ||
| * Pregled literature. Ukratko opišite šta su drugi radili pre vas. | ||
| <!---ovo isto kasnije---> | ||
|
|
||
| ### Aparatura i metoda | ||
| #### Metod | ||
| ##### Koraci <!---mora neki bolji naziv i mozda da se smanje svi sledeci naslovi za jedan stepen---> | ||
| <!--- blok dijagram citave price ovde takodje, mozda i podeljena dva sadrzaja za TOA i RTT---> | ||
| <!--- TOA slucaj---> | ||
| TOA: | ||
| 1. Genrisanje signala <!--- u smislu na mcu ili pc-u, gen fajla, ovo isto dodati u metode vrv ---> | ||
| 2. Sinhronizacija | ||
| 3. Snimanje i emitovanje signala | ||
| 4. Izracunavanje distance koristeći TOA metodu <!--- putem TOA kroz kroskorelaciju---> | ||
| 5. Razmena izračunatih distanci sa drugim čvorovima <!--- komunikacija ---> | ||
| 6. Pronalaženje lokacije putem trilateracije <!--- putem trilateracije ---> | ||
|
|
||
|
|
||
| <!---ovde mozda umesto ovih naziva bukvalno nazivi dole oblasti vrv bolje---> | ||
| <!--- RTT ---> | ||
| <!--- takodje mozda za oba slucaja dodati korake koji se rade jednom kao inicijalizacija, tjst ovde recimo pronalazenje čvorova i dodeljivanje id-ova ---> | ||
| RTT: | ||
| 1. Generisanje signala | ||
| 2. Komunikacija sa drugim čvorovima | ||
| * Signaliziranje drugim čvorovima da počnu da snimaju | ||
| <!---* Drugi čvorovi primaju signal, salju ACK i krecu da snimaju, * glavni cvor prima ack i krece da snima, | ||
| ovaj paragraf mozda skloniti i samo predstaviti kroz blok dijagram ---> | ||
| * Signalizacija drugim čvorovima da se glavni čvor sprema da emituje signal | ||
| * Glavni čvor emituje signal | ||
| * Signalizacija ostalim čvorovima da je glavni čvor gotov | ||
| * Prvi sledeći čvor emituje signal i nakon toga signalizira ostalim čvorovima kraj transmisije i kraj snimanja | ||
| <!--- izmedju ovih slanja se ostavlja mali period vremena kako bi se uverili da svi udaljeni čvorovi prime signal ---> | ||
| <!--- opcija dva je da se čvorovi prvo dogovore kao za neke time slotove u kojima treba da posalju signal, tjst da ---> | ||
|
|
||
| 3. Kroskorelacija | ||
| 4. Računanje ETOA vrednosti pronalaženjem razlike vrhova kroskorelacije | ||
| 5. Razmenjivanje ETOA vrednosti sa ostalim čvorovima | ||
| 6. Računanje udaljenosti putem RTT metode <!--- bip bip ---> | ||
| 7. Trilateracija | ||
|
|
||
|
|
||
| ##### Izračunavanja distance | ||
|
|
||
| 1. TOA (eng. _Time of arrival_) - metoda kojom se meri vreme stizanja signala od čvora, zahteva da je vreme između čvorova sinhronizovano, oduzimanjem vremena početka ($T_1$) prenošenja signala od vremena stizanja ($T_2$) dobija se vreme putovanja (eng. _Time of flight_, $\mathit{TOF}$) | ||
| $$\mathit{TOF}= T_2-T_1$$ | ||
|
|
||
|
|
||
| 2. RTT (eng. _Round trip time_) - metoda u kojoj čvor koji primi signal odmah pošalje povratni signal, a čvor koji je započeo prenos meri vreme između početka slanja i primanja povratnog signala, ne zahteva sinhronizovano vreme između čvorova. | ||
| Vreme koje je izmereno ($T_1$) je jednako duploj vrednosti vremena putovanja ( $TOF$) i vremena koje je potrebno drugom čvoru da potvrdi signal i pošalje povratni odgovor ($T_2$). | ||
| Ovakav sistem zahteva da svi čvorovi u sistemu imaju mogućnost primanja i transmitovanja signala, tjst. da je svaki čvor opremljen sa zvučnikom i mikrofonom. | ||
|
|
||
| <!---T1 pocetak snimanja, --> | ||
| $$\mathit{TOF}=\frac{T_1-T_2}{2}$$ | ||
|
|
||
| <!--- za rtt dodati neki grafik i objasnjenje za bip bip---> | ||
| ##### Komunikacija između čvorova | ||
| <!--- Audio/ EM---> | ||
| <!--- medijumi po kojima mozemo da transferujemo podatke, kako mozemo da reusujemo sistem mikrofona i zvucnika ili bilo koji drugi dostupan na uređaju za gotov hardver/esp---> | ||
| Za svaku od navedenih metoda je potrebno da čvorovi imaju neki vid komunikacije. | ||
| <!--- dopisati sta mozemo da koristimo za komunikaciju---> | ||
| ###### Sinhronizacija | ||
| <!--- ova recenica kasnije, prvo objasnjenje i spomenut ---> | ||
| Kada se uspostavi kanal komunikacije između čvorova, on se takođe može koristiti za sinhronizaciju čvorova u metodama koje to zahtevaju. | ||
| <!--- takodje ovde ostale ideje kao eksterna sinhronizacija kroz impuls, itd---> | ||
| U slučaju TOA metode, čvorovi moraju da budu precizno sinhronizovani, snimanje na svim čvorovima treba da bude započeto u trenutku kada nepoznati čvor počne da emituje signal. | ||
|
|
||
| <!--potrebna je precizna sinhronizacija čvorova koju možemo da ostvarimo ako koristimo ---> | ||
|
|
||
| ##### Pronalaženje lokacije čvorova | ||
| <!---trilateracija, spomenemo eventualno koje sve postoje--> | ||
|
|
||
| ##### Kroskorelacija | ||
| <!--- dopisati negde za refleksije,multipath i eho i kako uticu na merenja ukoliko zeznu ---> | ||
| Kako bi odredili TOF koristimo metodu kroskorelacije (eng. _Cross correlation_). | ||
| Kroskorelacija prvo određuje sličnost dva signala tako što pojedinačne članove dobijenog signala množi sa odgovarajućim članom izvornog signala a potom sve dobijene proizvode sumira i dobijenu sumu pamti u niz. | ||
| Nakon toga, izvorni signal se pomera za jedno mesto u desno, tako što se na početak doda nula i ceo proces se ponavlja, a novodobijena suma se pamti na sledećem mestu u nizu. | ||
| Zatim se određuje pozicija maksimuma dobijenog niza. Kada nju pomnožimo sa brzinom odabiranja ($F_s$) dobijamo TOF. | ||
| Kako nam je poznata veza između pređenog puta ($s$), brzine ($v$) i vremena ($\mathit{TOF}$), kao i brzina zvuka, možemo dobiti razdaljinu između dva čvora: | ||
| $$s = v \cdot \mathit{TOF}$$ | ||
| <!---ovo je kroskorelacija i racunanje distance iz toga---> | ||
| ##### Trilateracija | ||
|
|
||
| Trilateracija je metoda kojom se dobija lokacija čvora presecanjem tri kružnice. | ||
| Centar svake od kružnica se nalazi u jednom od poznatih čvorova, a poluprečnik svake odgovara udaljenosti centra kružnice od nepoznatog čvora. | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Opet, detaljniji opis, jednacine, grafik... |
||
| Ako su ($x, y$) koordinate traženog čvora, ($x_1, y_1$), ($x_2, y_2$), ($x_3, y_3$) koordinate tri poznata čvora, a $r_1$, $r_2$, $r_3$ razdaljina između traženog čvora i svakog od poznatih čvorova, redom onda važi sledeće: | ||
| $$(x-x_1)^2 + (y-y_1)^2= r_1^2$$ | ||
| $$(x-x_2)^2 + (y-y_2)^2= r_2^2$$ | ||
| $$(x-x_3)^2 + (y-y_3)^2= r_3^2$$ | ||
| Rešavanjem sistema jednačina se dobija: | ||
| $$x=\frac{c\cdot e - f\cdot b}{e\cdot a - b\cdot d}$$ | ||
| $$y=\frac{c\cdot d - a\cdot f}{c\cdot d - a\cdot f}$$ | ||
| gde je: | ||
| $$a = -2\cdot x_1 + 2\cdot x_2$$ | ||
| $$b = -2\cdot y_1 + 2\cdot y_2$$ | ||
| $$c = r_1^2 - r_2^2 - x_1^2 + x_2^2 - y_1^2 + y_2^2$$ | ||
| $$d = -2\cdot x_2 + 2\cdot x_3$$ | ||
| $$e = -2\cdot y_2 + 2\cdot y_3$$ | ||
| $$f = r_2^2 - r_3^2 - x_2^2 + x_3^2 - y_2^2 + y_3^2$$ | ||
|
|
||
|
|
||
| #### Simulacija | ||
| <!---ovde trenutno pise samo kako ide simulacija za TOA---> | ||
| Simulacija nam pomaže da utvrdimo koji parametri najviše utiču na grešku i da isprobamo kako bi se sistem ponašao pri različitim uslovima. | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Za svaki korak morate opisati kakvu grešku očekujete i kako se ona propagira u dalja merenja. U rezultatima imate neke error bar-ove koji zavise od svih tih gresaka. |
||
| Kako bi napravili simulaciju TOA sistema potrebno je da uradimo sledeće: | ||
| 1. Modulacije (eng. _Modulation_) -- iz poznatih lokacija svih čvorova pravimo simulirane signale koji potiču od jednog čvora čija će se lokacija izračunati kroz demodulaciju | ||
| - Kašnjenje -- simulira propagiranje signala kroz prostor | ||
| - Diskretizacija -- simulira ADC <!---SQNR---> | ||
| - Šum -- simulira buku <!---SNR---> | ||
| - Opadanje amplitude (eng. _Fade_) -- simulira slabljenje signala srazmerno distanci <!---manji SNR, teze za kroskorelaciju---> | ||
| Ove četiri modulacije efektivno simuliraju šta se dešava u koracima od 1 do 3 u slučaju TOA metode. | ||
|
|
||
|
|
||
| 2. Demodulacije (eng. _Demodulation_) -- iz dobijenih modulisanih signala i lokacija svih čvorova sem onog od kojeg potiče signal dolazimo do informacije o poziciji nepoznatog čvora primenjivajući korake od 3 do 6 za TOA slučaj. | ||
|
|
||
| <!--- - Kroskorelacija (eng. _Cross correlation_) -- dobijamo informaciju o trenutku u kom je signal detektovan | ||
| - Računanje udaljenosti -- Putem TOA metode izračunavamo vreme leta a pošto nam je poznata brzina zvuka i vreme leta možemo da izračunamo udaljenost do nepoznatog čvora | ||
| - Trilateracija -- kroz poznate lokacije tri čvora i njihove odgovarajuće udaljenosti računamo oblast u kojoj se nalazi nepoznati čvor | ||
| Ova tri koraka ---> | ||
|
|
||
| #### Aparatura | ||
| Za izradu hardverskog sistema potrebna je sledeća aparatura: | ||
| * Mikrokontroleri (eng. _MCU_) <!--- za svu aparaturu dodati neke seme kao konstrukcija i tako to---> | ||
| * Izvori zvuka | ||
| * mikrofoni sa pretpojačalima | ||
| <!--- | ||
| moze jedan blok dijagram hardvera sa sve slikama sta se desava, tipa signal pa pojacavanje pa bias pa clip itd, pa adc, pa dma itd itd. | ||
| za mcu o biranju kontrolera, potrebni parametri, sample rate, adc dma, rang ADC-a, atten, spiffs, memorija potrebna za cuvanje toga, zasto koristimo vise mikrokontrolera, nelinearnost ADC-a, greska adc-a, najbolje citava sekcija za ADC,itd itd ... | ||
| ADC blok dijagram? | ||
| za izvore zvuka o opcijama, zvucnik vs piezo buzzer, | ||
| aktivan vs pasivan piezo buzzer, rang na kojima proizvode najveci spl, rezonantna, zavisnost signala i mikrofona od ovoga | ||
|
|
||
| za mikrofone i pretpojacala prvo o mikrofonima, | ||
| o | ||
| pc - pc sistem isto raspisati, mozda premestiti mikrokontroleri u opcije za sisteme tjst nama treba samo izvor zvuka i mikrofon u teoriji a sad nesto treba to da snimi i pusti takođe | ||
|
|
||
| pretpojacala spojiti sa adc-om najbolje, seme, ono sto smo digitalizovali, itd, sve oko njih, potrebe za njima i njihove funkcije | ||
|
|
||
|
|
||
|
|
||
| takođe biranje signala, duzine, modulacije, frekvencija, sample rate itd itd isto u vezi sa ovim stvarima | ||
|
|
||
| za hardver oko esp-esp sistema takođe i napajanja, itd | ||
| filteri i uticaj suma, hardware vs software filtriranje | ||
|
|
||
| ---> | ||
| <!---todo: softver (za pc-pc/ esp-esp) ---> | ||
|
|
||
|
|
||
| ### Istraživanje i rezultati | ||
| <!--- | ||
| parcijalne rezultate treba bolje izmeriti, labelirati i zapisati, | ||
| ----> | ||
| U ovom odeljku treba opisati sve rezultate do kojih ste došli. | ||
| Ako i dalje radite na svom projektu, parcijalni rezultati su potpuno prihvatljivi. | ||
| ### Zaključak | ||
| <!--- | ||
| na kraju | ||
| ---> | ||
| Zaključak ima za cilj da dodatno prokomentarišete rezultate i napravite pregled rada. | ||
|
|
||
| $$V=\frac{S}{t}$$ | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mislim da nema smisla samo da navedete ove korake kao listu, a da ih posle opet navedete sa objasnjenjem u Izračunavanja distance. Ja bih ovo pretvorio u dijagram na pocetku ovog odeljka, kome prethode par high-level overview recenica u uvodu o tome koji sve metodi postoje (u literaturi) i zasto ste se bas odlucili za ove.
Onda u odeljku Metod opisete detaljno sve korake i referencirate se na taj dijagram. Nakon sve algoritmike ide aparatura (moze biti pododeljak metoda) u kojoj opisujete sta ste koristili od hardvera, koja su mu ogranicenja i tako to...