NAPREDNE METODE DIGITALNE OBRADE SIGNALA...najzastupljeniji, je standardni štim (eng. s tandard...
Transcript of NAPREDNE METODE DIGITALNE OBRADE SIGNALA...najzastupljeniji, je standardni štim (eng. s tandard...
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
NAPREDNE METODE DIGITALNE OBRADE SIGNALA
SAMOSTALNI RAD
Uštimavanje gitare i analiza pomoću wavelet-a
Krešimir Bešenić 0036439082 [email protected]
Damir Grdenić 0036423075 [email protected]
Franjo Požaić 0036433229 [email protected]
Dario Zurovec 0036420208 [email protected]
Nositelj kolegija:
Prof.dr.sc. Damir Seršić
Izvođač kolegija:
Doc. dr.sc. Marko Subašić
Asistent:
dipl.ing. Ana Sović
Zagreb, 13. siječanj 2012.
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
Sadržaj Uvod .......................................................................................................................................... 2
Štimanje gitare ........................................................................................................................... 3
Metode estimacije visine tona .................................................................................................... 6
Metoda detekcije osnovnog perioda ....................................................................................... 6
Autokorelacijska metoda ........................................................................................................ 7
Yin estimator .......................................................................................................................... 9
Detekcija osnovne frekvencije signala u frekvencijskoj domeni .............................................10
Kepstralna analiza .................................................................................................................10
Uklanjanje šuma .......................................................................................................................12
Metoda praga ........................................................................................................................12
CWT spectrogram .....................................................................................................................15
Programska implementacija štimera .........................................................................................16
Realizacija metode za potiskivanje šuma ..............................................................................16
Realizacija metode za estimaciju frekvencije .........................................................................18
Realizacija metode za frekvencijsku analizu ..........................................................................21
Grafičko korisničko sučelje ....................................................................................................23
Zaključak ...................................................................................................................................26
Literatura ...................................................................................................................................27
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
1
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
2
Uvod
Gitara je instrument koji se zbog svoje konstrukcije i svojstava materijala od kojih je
građena lako raštima, tj. žice izgube svojstvo titranja željenom frekvencijom. Primjerice, do
promjene frekvencije titranja žica može doći zbog promjene tlaka, temperature, zbog samog
sviranja, ili pak zbog nesavršenosti mašinica (eng. machine head, dio gitare koji služi za
zatezanje i otpuštanje žica, odnosno štimanje). Koliko gitara drži štim ovisi o kvaliteti
instrumenta, no i najbolje gitare se moraju štimati relativno često. No, najvažniji razlog za
postojanje kvalitetnih štimera je omogućavanje što boljeg uklapanja gitare u grupu
instrumenata, pri čemu najviše dolazi do izražaja ukoliko gitara nije uštimana.
U teorijskom dijelu rada ćemo dati pregled metoda za estimaciju visine tona, što je
ključan dio štimera, kao i teorijsku podlogu za postupak potiskivanja šuma pomoću waveleta te
teorijsku podlogu za vremensko-frekvencijsku analizu signala. U praktičnom dijelu ćemo
realizirati štimer koji vrši potiskivanje šuma, koristi jednu od metoda estimacije visine tona te
potom analizira signal kontinuiranom wavelet transformacijom.
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
3
Štimanje gitare
Ključan koncept za razumijevanje štimanja instrumenata je glazbena ljestvica. Glazbena
ljestvica je niz glazbenih tonova razvrstanih u oktave, koji se nazivaju prema slovnom
označivanju. Glazbena abeceda sastoji se od slova: c, d, e f, g, a i h, te pomoćnih znakova
povisilice (♯) i snizilice (♭), kojima se označuje promjena visine tona za poluton. Između
osnovnih tonova se nalazi još pet dobivenih povisilicama/snizilicama, što čini ukupno 12 tonova
raspoređenih u 10 oktava. Prema dogovoru iz 1955. godine, većina instrumenata je izvedena
tako da frekvencija tona A4 iznosi 440 Hz. Budući da su omjeri frekvencija susjednih tonova
konstantni, poznajući frekvenciju jednog tona, moženo dobiti sve ostale. Prema tome, sa
poznatom frekvencijom tona možemo odrediti o kojem tonu se radi, prema formuli:
(1)
Gitara se može naštimati na puno različitih načina (štimova). Klasični način, koji je
najzastupljeniji, je standardni štim (eng. standard tuning). Tonovi u standardnom štimu na koji
smo se fokusirali u radu su, od najdubljeg redom E2, A2, D3, G3, B3, and E4 sa frekvencijama 82
Hz, 110 Hz, 147 Hz, 196 Hz, 247 Hz te 330 Hz. Klasični štimer funkcionira na način da na
temelju odsvirane žice daje informaciju koliko odsvirani ton odstupa od željenog tona, odnosno
daje informaciju da li treba zategnuti žicu ili otpustiti.
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
4
Žica Note Frekvencija Ton u standardnom zapisu
1 (Najtanja) e' 329.63 Hz E4
2 b 246.94 Hz B3
3 g 196.00 Hz G3
4 d 146.83 Hz D3
5 A 110.00 Hz A2
6 (Najdeblja) E 82.41 Hz E2
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
5
Slika 1. Prikaz tonova u ovisnosti o frekvenciji
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
6
Metode estimacije visine tona
Problemi estimacije fundamentalne frekvencije (visine tona) proizlaze iz činjenice što je
fundamentalna frekvencija konstrukt ljudske percepcije. Budući da je osnovna frekvencija fizička
karakteristika bliska visini tona, mnogi estimatori pokušavaju izdvojiti osnovnu frekvenciju unutar
glazbenog signala. Budući da je štimanje instrumenata samo dio primjene estimacije visine
tona, u daljnjim poglavljima se opisuju metode koje se koriste i za transripciju glazbe, što je
zahtijevniji problem od štimanja gitare.
Prema pristupu razlikujemo dvije vrste metoda estimacije glavne frekvencije: metode u
vremenskoj domeni ili u frekvencijskoj domeni. Metode u vremenskoj domeni su se pokazale
korisne za transkripciju monofonih melodija, a neke njih su: metoda estimacije osnovnog
perioda, autokorelacijska metoda, i metoda adaptivnog filtra. Transkripcija polifonih melodija se
najčešće obavlja u frekvencijskoj domeni, te se koriste dodatne tehnike za otkrivanje otkrivanje
visine tona: metoda umnoška spektra, kepstralna analiza.
Razvoj metoda estimacije visine tona se i dalje nastavlja i temelji se na sve
sofisticiranijem korištenju vremenske i frekvencijske domene primjene. Razvile su se dvije
glavne vrste estimatora: sustavi temeljeni na slušnim modelima (inspirirani ljudskim sluhom), te
sustavi temeljeni na statističkim informacijama.
Pregled glavnih metoda estimacije se nalaze u nastavku.
Metoda detekcije osnovnog perioda
Ova metoda analizira signal u vremenskoj domeni te pokušava odrediti period na
temelju određenih značajki u signalu. Jedna takva metoda zove se zero-crossing, koja traži
mjesta gdje signal prolazi kroz nulu. Intervali između tih točaka se mjere, zatim algoritam
uspoređuje uzastopne intervale da bi odredio osnovnu frekvenciju. Varijacija na zero crossing
metodu je metoda gdje se mjere udaljenosti između vrhova signala.
Pokazalo se da su obje metode vrlo ograničene pri radu sa stvarnim glazbenih
signalima. Problem je u tome što u stvarnim signalima uz glavne, postoje i ostale frekvencije
zbog kojih će signal također prolaziti kroz nulu, što će unositi grešku u sustav. Metode detekcije
osnovnog perioda su zato jedino uspješne kada je ulazni signal približan sinusoidalnom, tj. kada
je broj prijelaza preko osi (nula) ili vrhova približno isti kao i kod osnovne frekvencije.
ZAVOD ZA ELEKTRONI Unska 3, HR-10000 Zagreb
Autokorelacijska metoda
Ovom se metodom u vremenskoj domeni signal uspore
verzijom, u potrazi za ponavljajuć
uspoređuju točku-po-točku preko niza vremenskih kašnj
funkcije, a rezultati se mogu nacrtati na grafikonu. Osnovna implementacija o
formulom 2:
gdje je n uzorak, i 0
Najveća korelacija se doga
maksimum korelacijske funkcije. Osnovna frekvencija signala (engl.
vremena kašnjenja između maksimumâ korelacijske funkcije (ozna
slici).
ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA10000 Zagreb
Ovom se metodom u vremenskoj domeni signal uspoređuje sa svojom zakašnjelom
verzijom, u potrazi za ponavljajućim uzorkom. Postoji niz implementacija, ali obi
ku preko niza vremenskih kašnjenja. Ova usporedba ima formu
funkcije, a rezultati se mogu nacrtati na grafikonu. Osnovna implementacija ove funkcije dana je
gdje je n uzorak, i 0 kašnjenje N
orelacija se događa kad se signali podudaraju, a na grafikonu se vidi kao
maksimum korelacijske funkcije. Osnovna frekvencija signala (engl. pitch) može se prona
u maksimumâ korelacijske funkcije (označeno crvenom bojom na
Slika 2. Autokorelacijska metoda
KE SUSTAVE I OBRADBU INFORMACIJA
7
uje sa svojom zakašnjelom
im uzorkom. Postoji niz implementacija, ali obično se signali
enja. Ova usporedba ima formu
ve funkcije dana je
a kad se signali podudaraju, a na grafikonu se vidi kao
) može se pronaći iz
eno crvenom bojom na
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
8
Autokorelacija je u svojoj osnovnoj implementaciji najučinkovitija na zvukovima niske do
srednje frekvencije pa stoga nije najprikladnija za glazbene signale, čiji sadržaj pokriva široke
frekvencijske opsege.
Tolonen i Karjalainen su 2000. godine osmislili polifoni algoritam za estimaciju osnovne
frekvencije signala, temeljen na njihovoj poboljšanoj izvedbi autokorelacije. Dizajnirali su sustav
koji je približno odgovarao slušnom modelu ljudskog sluha. Taj sustav funkcionira tako da se
ciljani audio zapis podijeli po 1 kHz u nisko i visoko frekvencijske pojaseve. Tada se na svaki
pojas primjenjuje opća autokorelacija, a zatim se rezultati zbrajaju. Opća autokorelacija je
proces transformacije audio signala u frekvencijsku domenu Fourierovom transfromacijom,
kompresije tako dobivenih spektralnih veličina te na kraju konverzije tih podataka natrag u
vremensku domenu inverznom Fourierovom transformacijom. Posljednja faza Tolonenova i
Karjalainenova sustava je usmjerena na definiranje jasnih osnovnih frekvencija signala unutar
sumirane funkcije, jer konvencionalne autokorelacijske funkcije prikazuju osnovne frekvencije
koje odgovaraju cjelobrojnom višekratniku osnovnog perioda, što može otežati identifikaciju
osnovnih frekvencija kada je u audio signalu prisutno više notnih zapisa. Njihovo rješenje sastoji
se od odsijecanja valnog oblika funkcije tako da se zadrže samo pozitivne vrijednosti; tako
dobiveni valni oblik se zatim proširuje u vremenu množenjem s dva, prije nego se oduzme od
prvotnog valnog oblika. Rezultat je valni oblik s uklonjenim (ili značajno umanjenim)
harmonicima druge razine; maksimum skoro nultog vremenskog kašnjenja je također uklonjen,
kao i mnoge korelacijske vrijednosti niske razine. Tolonen i Karjalinen predlažu ponavljanje
ovog procesa korištenjem proširenja množenjem s faktorom tri ili četiri, ukoliko je potrebno
poništiti harmonike višeg reda. Ovu novu funkciju nazvali su poboljšanom sumirajućom
autokorelacijskom funkcijskom (ESACF). Ovaj proces opisan je na slici 3.2.; gornji dijagram
prikazuje sumiranu autokorelacijsku funkciju, a donji poboljšanu autokorelacijsku funkciju sa
jasno izraženim osnovnim frekvencijama prisutnim u ciljanom audio signalu.
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
9
Slika 3. Sumirajuća autokorelacijska funkcija (gore) i poboljšana sumirajuća autokorelacijska funkcija (dolje) (Tolonen i Karjalainen, 2000.)
Unatoč ovim poboljšanjima, Tolonenov i Karjalainenov sustav može riješiti samo
trodijelne polifonije, a i to samo kad notni zapisi sadrže vrlo slične jačine zvuka. Autokorelacija
općenito ne funkcionira dobro kod harmonijski kompleksnih signala.
Yin estimator
Ovaj estimator osnovne frekvencije je sličan autokorelaciji, no implementirane su brojne
modifikacije, kombinirane da pomognu spriječiti pogreške. Dizajnirao ga je Cheveigne 2002.
godine, a on tvrdi da je Yin estimator posebno uspješan u eliminaciji subharmonijskih grešaka,
koje su čest rezultat pogrešne interpretacije maksimuma nultog kašnjenja u autkorelacijskim
algoritmima.
Dok autokorelacija maksimizira produkt valnog oblika i svoje zakašnjele verzije, Yin
pokušava minimizirati razliku.
Kada se za procjenu algoritma koriste snimke govora, njegova stopa pogreške triput je
niža od najboljih konkurentskih metoda. Daljnja prednost nad autokorelacijom je ta da je Yin
algoritam pogodan za određivanje osnovnih frekvencija glasovnih i glazbenih signala visokih
osnovnih frekvencija. Međutim, ovaj je algoritam do sad korišten samo pri detekciji osnovne
frekvencije monofonih signala.
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
10
Detekcija osnovne frekvencije signala u frekvencijskoj domeni
Ove metode imaju za cilj podjelu audio signala na njegove frekvencijske komponente.
Transformacijom signala iz vremenske u frekvencijsku domenu otkrivaju se energije sadržane
unutar uskih frekvencijskih pojaseva. Gdje su energije frekvencijskog pojasa visoke, treba
detektirati predstavlja li ta frekvencija osnovnu frekvenciju, dio harmonika ili šum. Na slici 3.3. je
prikazan primjer spektra te je crvenom bojom označena detektirana frekvencija. Metode
opisane u nastavku, kao što su kepstralna analiza i spektralna analiza harmonijskog produkta,
pomažu pri procesu detekcije.
Slika 4. Detekcija osnovne frekvencije u frekvencijskoj domeni
Uobičajena metoda za transformaciju signala u frekvencijsku domenu je vremenski
kratka Fourierova transformacija (STFT). Problem ove metode je vremensko/frekvencijski
balans rezolucije, kao i činjenica da se podaci primaju u formatu koji se ne podudara s ljudskom
percepcijom osnovne frekvencije.
Kepstralna analiza
Kepstralna analiza je metoda koja razdvaja dio zvuka koji sadrži osnovnu frekvenciju od
ostatka spektra. Iako se uglavnom koristi u aplikacijama za obradu govora, može biti važna i za
određivanje notnih zapisa izvedenih na instrumentu kao što je gitara jer će spektar sadržavati i
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
11
osnovnu frekvenciju, koja se stvara uzbudom žice, i rezonanciju, koja je filtrirani dio zvuka
nastao u tijelu instrumenta. Kepstar se može tehnički definirati kao spektar snage logaritma
spektra snage.
Tipična implementacija kepstralne analize počinje Fourierovom transformacijom iz
vremenske u frekvencijsku domenu. Zatim se računaju logaritamske vrijednosti rezultantnih
veličina da se signal dovede u korisno područje. Na kraju se izvodi inverzna Fourierova
transformacija te se dobiva valni oblik koji sadrži jedan maksimum na početku i koji je povezan s
rezonancijom zvuka te drugi maksimum dublje u valnom obliku, koji predstavlja element zvuka s
osnovnom frekvencijom. Osnovna frekvencija se određuje računajući udaljenost između
početka valnog oblika i mjesta drugog maksimuma na vremenskoj osi. Kepstralna analiza je u
početku bila zamišljena da radi s monofonim govornim signalima, gdje se pokazala vrlo
djelotvornom, no 2003. godine Gerhard je otkrio da je ta djelotvornost umanjena kad se
primjeni na glazbene signale pa ova metoda nije našla svoju primjenu u sustavima za obradu
polifonih signala.
ZAVOD ZA ELEKTRONI Unska 3, HR-10000 Zagreb
Uklanjanje šuma
Bilo kakav signal uzorkovan elektroni
će vrlo vjerojatno biti degradiran od
uzrokuje šum .
Iako na prvi pogled izgleda trivijalno, rekonstrukcija signala x iz y s uklanjanjem šuma n
nije nimalo jednostavan zadatak.
Potiskivanje šuma je čest zahtjev u aplikacijama za obr
sastoje od originalnog signala uz dodane razne šumove i smetnje. Da bi se filtriranje efikasno
izvršilo, često se zahtjeva poznavanje svojstava signala i šuma (npr. spektar, impulsni odziv…)
Kada se potiskivanje šuma zahtjeva u
prvenstveno kašnjenje koje je posljedica
Kako se u praksi često obra
mjenjaju s vremenom, potrebno je estimirati
uzoraka signala. Tu u priču ulazi wavelet
transformira u nekoliko frekvencijskih
Hard tresholding metodom (kao
pomoć kojih, koristeći wavelet
signal od šuma.
Metoda praga
Metoda potiskivanja šuma pomo
dobra svojstva wavelet transformacije. Wavelet transformacija koncentrira energiju signala u
relativno mali broj velikih koeficijenata i stoga je zanimljiva za primjenu u kompresiji i
dok se šum jednoliko raspoređuje po koeficijentima.
pomoću praga je da ulazni signal transformiramo u wavelet domenu,
najznačajnije koeficijente a ostale odbacimo i zatim napravimo inverznu
Blok shema sustava se nalazi na slici 2. Neka na ul
ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA10000 Zagreb
Bilo kakav signal uzorkovan elektroničkim, elektro-mehaničkim ili elektro
e vrlo vjerojatno biti degradiran od strane okoline. Posebnu vrstu degradacije kvalitete signala
Iako na prvi pogled izgleda trivijalno, rekonstrukcija signala x iz y s uklanjanjem šuma n
nije nimalo jednostavan zadatak.
čest zahtjev u aplikacijama za obradu signala koji se redovito
sastoje od originalnog signala uz dodane razne šumove i smetnje. Da bi se filtriranje efikasno
esto se zahtjeva poznavanje svojstava signala i šuma (npr. spektar, impulsni odziv…)
Kada se potiskivanje šuma zahtjeva u stvarnom vremenu, javljaju se dodatni problemi,
prvenstveno kašnjenje koje je posljedica složenosti algoritma za obradu.
često obrađuju nestacionarni signali, čija se statisti
mjenjaju s vremenom, potrebno je estimirati modele signala i šuma potrebne za formiranje
u ulazi wavelet transformacija, koja najčešće veliki dio signala
transformira u nekoliko frekvencijskih pojaseva, dok ostali ostaju prazni, ili popunjeni šumom.
metodom (kao što je opisano u nastavku) možemo estimirati signal i šum, uz
transformaciju s drugom bazom, možemo efikasno pro
Metoda potiskivanja šuma pomoću praga (threshold) je metoda estimacije koja
dobra svojstva wavelet transformacije. Wavelet transformacija koncentrira energiju signala u
relativno mali broj velikih koeficijenata i stoga je zanimljiva za primjenu u kompresiji i
đuje po koeficijentima. Osnovna ideja metode potiskivanja šuma
u praga je da ulazni signal transformiramo u wavelet domenu,
ajnije koeficijente a ostale odbacimo i zatim napravimo inverznu transformaciju.
Blok shema sustava se nalazi na slici 2. Neka na ulazu sustava imamo nepoznati signal
KE SUSTAVE I OBRADBU INFORMACIJA
12
kim ili elektro-optičkim putem
strane okoline. Posebnu vrstu degradacije kvalitete signala
Iako na prvi pogled izgleda trivijalno, rekonstrukcija signala x iz y s uklanjanjem šuma n
adu signala koji se redovito
sastoje od originalnog signala uz dodane razne šumove i smetnje. Da bi se filtriranje efikasno
esto se zahtjeva poznavanje svojstava signala i šuma (npr. spektar, impulsni odziv…)
stvarnom vremenu, javljaju se dodatni problemi,
ija se statistička svojstva
signala i šuma potrebne za formiranje
e veliki dio signala
pojaseva, dok ostali ostaju prazni, ili popunjeni šumom.
je opisano u nastavku) možemo estimirati signal i šum, uz
transformaciju s drugom bazom, možemo efikasno pročistiti
) je metoda estimacije koja koristi
dobra svojstva wavelet transformacije. Wavelet transformacija koncentrira energiju signala u
relativno mali broj velikih koeficijenata i stoga je zanimljiva za primjenu u kompresiji i estimaciji
potiskivanja šuma
uzmemo samo
transformaciju.
azu sustava imamo nepoznati signal
ZAVOD ZA ELEKTRONI Unska 3, HR-10000 Zagreb
s(t) uz aditivni bijeli šum n(t) sa normalnom razdiobom, srednjom vrijednosti nula i
σ2. Problem potiskivanja šuma se svodi na estimaciju signala
x(t)=s(t)+n(t).
Slika 5. Blok shema sustava za potiskivanje šuma metodom praga
Primjenom wavelet transformacije W na ulazni signal dobivamo sliku u domeni
transformacije (i) = W(x) = W(s) +
u mali broj koeficijenata velikog iznosa dok se
razdiobom i varijancom σ2. Iz toga dolazimo do zaklju
signala s(t) u wavelet domeni zanemarivanje malih koeficijenata (gdje
samo šum) uz ostavljanje velikih koeficijenata (koji pripadaju
filtriranja je na slici 5 predstavljena blokom H
Nakon filtriranja radimo inverznu wavelet
Dvije su osnovne ideje za realizaciju filtra H. Prva metoda je odbacivanje koeficijenata
ispod nekog praga (hard thresholding
Druga metoda je odbacivanje wavelet koeficijenata ispod nekog praga i umanjivanje
ostalih koeficijenata za iznos praga (
izrazom:
Prag τ se odabire tako da se potisne ve
pri rekonstrukciji signala u smislu najmanjih kvadrata. Druga je redovito bolja u
ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA10000 Zagreb
sa normalnom razdiobom, srednjom vrijednosti nula i
. Problem potiskivanja šuma se svodi na estimaciju signala s(t) iz ulaznog
Blok shema sustava za potiskivanje šuma metodom praga
Primjenom wavelet transformacije W na ulazni signal dobivamo sliku u domeni
) + W(n) = θ(i) + z(i). Ova operacija preslikava tipi
ata velikog iznosa dok se n(t) preslikava u bijeli šum
. Iz toga dolazimo do zaključka da je razuman pristup za estimaciju
u wavelet domeni zanemarivanje malih koeficijenata (gdje zapravo nije signal
amo šum) uz ostavljanje velikih koeficijenata (koji pripadaju signalu). Ova nelinearna ope
predstavljena blokom H čiji je izlaz određen jednadžbom
Nakon filtriranja radimo inverznu wavelet transformaciju i dobivamo estimaciju signala.
Dvije su osnovne ideje za realizaciju filtra H. Prva metoda je odbacivanje koeficijenata
hard thresholding) i u tom slučaju funkciju filtra možemo predstaviti
Druga metoda je odbacivanje wavelet koeficijenata ispod nekog praga i umanjivanje
ostalih koeficijenata za iznos praga (soft thresholding). Funkcija filtra je tada odre
se odabire tako da se potisne većina šuma. Prva realizacija daje manju
pri rekonstrukciji signala u smislu najmanjih kvadrata. Druga je redovito bolja u
KE SUSTAVE I OBRADBU INFORMACIJA
13
sa normalnom razdiobom, srednjom vrijednosti nula i varijancom
iz ulaznog signala
Primjenom wavelet transformacije W na ulazni signal dobivamo sliku u domeni
tipične signale s(t)
preslikava u bijeli šum s normalnom
pristup za estimaciju
zapravo nije signal nego
signalu). Ova nelinearna operacija
en jednadžbom .
dobivamo estimaciju signala.
Dvije su osnovne ideje za realizaciju filtra H. Prva metoda je odbacivanje koeficijenata
aju funkciju filtra možemo predstaviti izrazom
(3)
Druga metoda je odbacivanje wavelet koeficijenata ispod nekog praga i umanjivanje
). Funkcija filtra je tada određena sljedećim
(4)
ina šuma. Prva realizacija daje manju pogrešku
pri rekonstrukciji signala u smislu najmanjih kvadrata. Druga je redovito bolja u primjenama,
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
14
osobito kod potiskivanja šuma u slici jer nema naglih skokova u koeficijentima. Prijenosne
funkcije su prikazane na slici 4.
Slika 6: Prijenosna funkcija filtra uz a) hard tresholding b) soft tresholding
ZAVOD ZA ELEKTRONI Unska 3, HR-10000 Zagreb
CWT spectrogram
Wavelet transformacija omogu
Također, brza valićna transformacija,
brze Fourierove transformacije (FFT), vremenske složenosti
Kontinuirana valićna transformacija ili CWT (eng.
definirana na sljedeći način:
Analogno STFT-u, a predstavlja skalu (obrnuto proporcionalno frekvenciji), dok
predstavlja vremenski pomak.
skalirane i posmaknute vali´cne funkcije
signala. Valićna funkcija
Najjednostavniji primjer je Haarov vali
Spektrogram je prikaz frekvencijskih komponenata koje se pojavljuju u signalu u
ovisnosti o vremenu. Koristi se za prikaz ne periodi
pojavljivanje određenih frekvencijskih komponenti u odre
karakteristike cijelog signala ne bi mogli dobiti ovu informaciju, a i sam prikaz frekvencijskih
komponenti bio bi loš zbog relativno kratkog djelovanja
cijelo trajanje signala.
ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA10000 Zagreb
Wavelet transformacija omogućuje istovremenu analizu signala u više rezolucija.
na transformacija, čija je vremena složenost O(n) je računarski efikasnija od
brze Fourierove transformacije (FFT), vremenske složenosti O(n log n).
na transformacija ili CWT (eng. continuous wavelet transform
u, a predstavlja skalu (obrnuto proporcionalno frekvenciji), dok
C(a, b) je skalarni produkt signala, odnosno korelacija
posmaknute vali´cne funkcije , koja prikazuje sličnost dobivenog vali
je obično mali valić, integralne sume 0 i kona
Najjednostavniji primjer je Haarov valić:
Spektrogram je prikaz frekvencijskih komponenata koje se pojavljuju u signalu u
ovisnosti o vremenu. Koristi se za prikaz ne periodičkih signala kako bi se moglo
enih frekvencijskih komponenti u određenim trenutcima. Iz frekvencijske
karakteristike cijelog signala ne bi mogli dobiti ovu informaciju, a i sam prikaz frekvencijskih
komponenti bio bi loš zbog relativno kratkog djelovanja određenih komponenti u odnosu na
KE SUSTAVE I OBRADBU INFORMACIJA
15
uje istovremenu analizu signala u više rezolucija.
unarski efikasnija od
continuous wavelet transform) je
(5)
u, a predstavlja skalu (obrnuto proporcionalno frekvenciji), dok b
je skalarni produkt signala, odnosno korelacija x(t) i
nost dobivenog valića i
, integralne sume 0 i konačne energije.
(6)
Spektrogram je prikaz frekvencijskih komponenata koje se pojavljuju u signalu u
kih signala kako bi se moglo analizirati
enim trenutcima. Iz frekvencijske
karakteristike cijelog signala ne bi mogli dobiti ovu informaciju, a i sam prikaz frekvencijskih
enih komponenti u odnosu na
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
16
Programska implementacija štimera
Štimer je implementiran korištenjem programskog paketa Matlab. Implementacija je
objektno orijentirana i sastoji se od klase realTimeTuner koja dohvaća audio signal direktno sa
zvučne kartice, obrađuje ga i rezultate prikazuje na grafičkom korisničkom sučelju. Audio signal
sa zvučne kartice dijeli se na nizove od 2048 uzoraka na kojima se vrši potiskivanje šuma
wavelet filtarskim slogovima, analiza frekvencijskog sadržaja i na posljetku estimacija
frekvencije. Rezultati se na grafičkom korisničkom sučelju prikazuju u obliku ispisa estimirane
frekvencije, kazaljke koja prikazuje odstupanje od tražene frekvencije, ispisa odstupanja od
tražene frekvencije u centima, dijagrama koji prikazuje valni oblik trenutnog ulaznog signala i
spektrograma koji prikazuje frekvencijski sadržaj signala. Pritiskom na odgovarajuće tipke na
sučelju, dodatno možemo uključiti grafički prikaz uklanjanja šuma i detaljniji prikaz
spektrograma. Neke od metoda kojima su ostvarene ove funkcionalnosti biti će detaljnije
opisane u nastavku.
Realizacija metode za potiskivanje šuma
Metoda za potiskivanje šuma korištena u klasi realTimeTuner temeljena je na Matlab-
ovom wavelet toolbox-u. Korištenjem nedecimirane diskretne wavelet transformacije ulazni
signal od 2048 uzoraka razlaže se na 5 razina. Razlaganje se vrši funkcijom swt() uz
Daubechies-ov wavelet (db3), kako je prikazano u nastavku:
[SWA, SWD]=swt(x, 5, 'db3');
Rezultat razlaganja vidljiv je na slici 7. Iz slike je vidljivo da se većina korisnog signala nalazi u
aproksimacijama, dok se u detaljima nalazi uglavnom šum. Ovakvo razlaganje omogućava nam
da provedemo potiskivanje šuma metodom praga, pri čemu ćemo obrađivati samo koeficijente
detalja. Obradu koeficijenata metodom praga provodimo sljedećom naredbom:
SWDn = wthresh(SWD, 'h', 5);
Oznaka 'h' nam govori da se primjenjuje metoda hard thresholding, a broj 5 predstavlja prag.
Inverznom transformacijom sa ovako obrađenim koeficijentima dobivamo signal sa potisnutim
šumom. Ukoliko na takav signal ponovno primijenimo razlaganje na 5 razina, dobit ćemo
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
17
rezultate prikazane na slici 8. Na slici 9 prikazana je usporedba signala prije i poslije
potiskivanja šuma.
Slika 7. Dekompozicija zašumljenog signala na 5 razina pomoću SWT-a
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
18
Slika 8. Dekompozicija signala na 5 razina pomoću SWT-a nakon potiskivanja šuma
Slika 9. Usporedba originalnog signala i signala nakon potiskivanja šuma
Realizacija metode za estimaciju frekvencije
Dio štimera koji je ključan za kvalitetan rad je, naravno estimator frekvencije. Korištena
metoda je najsličnija opisanoj autokorelacijskoj metodi sa nekim dodatcima koji ju poboljšavaju.
Koraci estimacije frekvencije su sljedeći:
1. Funkcija prima 2048 uzoraka signala, koji se interpoliraju pomoću Fourierove
transformacije na četiri puta više uzoraka, dakle na 8192 uzorka. Interpolacija
omogućuje veću točnost estimacije.
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
19
2. Računa se nepristrana autokorelacija signala sa maksimalnim pomakom od 4000
uzoraka, te se vrši provjera amplitude. Ako je amplituda manja od određenog praga,
smatra se da signal nije valjan, te funkcija vraća NaN vrijednost (eng. not a number).
3. Budući da je autokorelacijska funkcija simetrična, uzima se druga polovica
autokorelacijske funkcije. Funkcija se normalizira tako da je najveća vrijednost 1.
4. Računa se derivacija autokorelacijske funkcije koja se koristi za traženje maksimuma
funkcije.
5. Maksimumi autokorelacijske funkcije se određuju na sljedeći način. Uzorak se uzima kao
maksimum funkcije, ako zadovoljava tri kriterija:
a. Vrijednost uzorka mora biti veća od određenog praga
b. Derivacija funkcije u toj točki mora biti manja od nule
c. Derivacija funkcije u prethodnoj točki mora biti veća od nule
6. Frekvenciju signala računamo prema sljedećoj formuli: F=Frekvencija otipkavanja/broj
uzoraka do prvog maksimuma. Budući da imamo posla s diskretnim signalima ne
možemo biti sigurni da je maksimum signala prije A/D pretvorbe bio u istom trenutku kad
je signal otipkan. Stoga se pogreška otklanja na sljedeći način. Pretpostavimo da su
uzorak maksimuma, te uzorci prije i poslije maksimuma točke u kontinuiranoj domeni na
mjestima -1,0,1. Nadalje, tražimo polinom drugog stupnja koji prolazi kroz sve tri točke.
� = ��� + �� + �
Općenito, ako imamo n točaka podataka, onda postoji točno jedan polinom najviše (n-1)
stupnja koji prolazi kroz sve točke. Kada nađemo polinom, odnosno koeficijente
polinoma, računamo os simetrije pomoću formule: x=-b/2a
Razlog korištenja ovog postupka je vidljiv na slici. Sa crvenim zvjezdicama su označeni
diskretni uzorci (maksimum i okolna dva uzorka) sa koordinatama na x-osi -1, 0, 1.
Plavom bojom je označen polinom koji prolazi kroz sve tri točke. Na slici je vidljivo da se
stvarni maksimum ne nalazi točno u uzorku maksimuma, već ''desno'' od njega.
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
20
Slika 10. Plavo – polinom, crveno – diskreni uzorci, zeleno – stvarni maksimum
Odmak od diskretnog maksimuma računamo pomoću osi simetrije dobivenog polinoma.
Sa dobivenim odmakom frekvenciju računamo prema sljedećoj formuli:
F=Fs/(uzorak_maksimuma+odmak).
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
21
Slika 11. Jedan slijed obrade nad primljenim signalom
Realizacija metode za frekvencijsku analizu
Metoda za frekvencijsku analizu ulaznog signala također se bazira na Matlab-ovom
wavelet toolbox-u. Za određivanje vremensko frekvencijskog prikaza pomoću kojeg ćemo moći
dobiti uvid u frekvencijski sadržaj ulaznog signala koristi se kontinuirana wavelet transformacija
(CWT). Za numeričko izračunavanje kontinuirane wavelet transformacije u MATLAB-u služi
funkcija cwt(). Funkciji cwt() je uz signal (u našem slučaju ulazni audio signal od 2048 uzoraka)
potrebno zadati i vektor skala koji sadržava sve skale za koje želimo izračunati CWT, te wavelet
koji će pri tome biti korišten.
U našem je slučaju potrebno koristiti skale takve da pripadne frekvencije odgovaraju
glazbenim tonovima koje želimo analizirati. Vektor skala ćemo stoga odrediti na sljedeći način:
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
22
a3 = scal2frq(1, 'cmor32-1', Ts) / 440;
% F#, F, E, D#, D, C#, C, B, A#, A, G#, G %2.^([ -9, -8, -7, -6, -5, -4, -3, -2, -1, 0 , 1 , 2 ]/12) * a3
step = 0.25; octave = a3 * 2.^([-9:step:2+(1/step-1)*step]/12); scales = [2*octave 4*octave 8*octave];
Varijabla a3 sadrži skalu za frekvenciju 440 Hz, što predstavlja ton A. Na temelju tona A
izračunavamo skale za sve ostale tonove u glazbenoj ljestvici. Vektor skala dobivamo kao
vektor koji sadrži 3 oktave, što je dovoljno da pokrijemo željeni frekvencijski raspon. Iz vektora
skala jednostavno dobivamo i vektor frekvencija:
frequencies = scal2frq(scales, 'cmor32-1', Ts);
Nakon što smo odredili vektore skala i frekvencija, potrebno je odrediti i koji će wavelet biti
korišten kod izračuna CWT-a. Odabran je Morletov wavelet jer dozvoljava podešavanje širine
Gaussovog otvora i frekvencije kompleksne harmonijske funkcije. Naredba za izračun CWT-a
sa vektorima određenim kao što je prethodno objašnjeno navedena je u nastavku:
X = cwt(x, scales, 'cmor32-1');
Iscrtavanjem apsolutnih vrijednosti matrice X uz vremenski vektor i prilagođeni vektor
frekvencija dobivamo vremensko frekvencijski prikaz ulaznog signala prikazan slikom 12.
Slika 12. Vremensko-frekvencijska analiza signala
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
23
Grafičko korisničko sučelje
Korištenjem opcija programskog paketa Matlab implementirano je grafičko korisničko
sučelje koje služi za grafički prikaz rezultata obrade, kao i za odabir načina rada aplikacije i
uključivanje dodatnih svojstava.
Prikaz rezultata vrši se pomoću ispisa estimacije frekvencije (Hz), pomoću ispisa
odstupanja estimirane frekvencije od željene izraženog u centima te pomoću triju prozora koji će
biti objašnjeni u nastavku:
1. Prozor koji predstavlja kazaljku koja nam grafički prikazuje koliko je odstupanje
estimirane frekvencije od željene frekvencije.
Slika 13. Kazaljka za prikaz odstupanja frekvencije
2. Prozor koji prikazuje valni oblik ulaznog signala.
Slika 14. Prozor za prikaz valnog oblika signala
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
24
3. Prozor koji prikazuje modificiranu verziju vremensko-frekvencijskog prikaza ostvarenog
CWT analizom u sklopu izbornika sa popisom frekvencija.
Slika 15. Prozor za prikaz vremensko-frekvencijske analize
Na slici 15 vidljiv je i izbornik grafičkog korisničkog sučelja. Tipka Automatic omogućuje
odabir automatskog načina rada aplikacije, dok tipke od E2 do B omogućuju način rada
aplikacije u kojoj ručno odabiremo željenu notu. Dodatne tipke Spectrogram i Denosie uključuju
prikaz vremensko-frekvencijske analize i rezultata potiskivanja šuma.
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
25
Slika 16. Grafičko korisničko sučelje aplikacije
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
26
Zaključak
Kroz ovaj rad objašnjen je postupak izrade prilično preciznog štimera za gitaru
korištenjem programskog paketa Matlab koji uklanja šum iz ulaznog signala korištenjem SWT-a,
estimira frekvenciju autokorelacijskom metodom te vrši frekvencijsku analizu signala pomoću
CWT-a. Potiskivanje šuma metodom praga primijenjenom na signalu razloženom pomoću
nedecimirane diskretne wavelet transformacije rezultiralo je značajnim poboljšanjem kvalitete
signala, pa time i preciznijom estimacijom frekvencije te boljim radom samog štimera. Metoda
estimiranja frekvencije nepristranom autokorelacijom rezultira vrlo preciznom estimacijom u
promatranom frekvencijskom području, koja se u velikoj mjeri poklapa sa estimacijama
dobivenim komercijalnim štimerom za gitaru. Vremensko-frekvencijska analiza koja je
implementirana korištenjem kontinuirane wavelet transformacije omogućava dobar uvid u
frekvencijski sastav signala na kojem se vrši estimacija i olakšava sam proces uštimavanja
gitare. Realiziranom aplikacijom omogućeno je lako i precizno uštimavanje gitare u realnom
vremenu korištenjem signala dobivenog putem jednostavnog mikrofona ili direktnim spajanjem
električne gitare na zvučnu karticu računala.
ZAVOD ZA ELEKTRONIČKE SUSTAVE I OBRADBU INFORMACIJA Unska 3, HR-10000 Zagreb
27
Literatura
[1] SERŠIĆ, D: “Wavelet slogovi”, Predavanje
[2] BOERSMA, P.:“Accurate short-term analysis of the fundamental frequency and the harmonics-to-noise ratio of a sampled sound,” 1997.
[3] SASIKANTH, B.S.: “Frequency and phase estimation of a noisy sinusoid”, 2010.
[4] MCLEOD, P.:“Fast, accurate pitch detection for music analysis”, Doktorski rad, 2008.
[5] DODDS, C: “Toward the Automatic Transcription of Electric Guitar Signals”, 2007
[6] SERŠIĆ, D, SUBAŠIĆ, M: “Laboratorijske vježbe”, Skripta, NMDOS
[7] DE CHEVEIGNE, A., KAWAHARA, H: “YIN, a fundamental frequency estimator for speech and music”, 2001.