1 UVOD Področje akustike in ultrazvoka ima dolgo tradicijo in široko področje uporabe. Študentom najbližje tematike so s področij zabavne elektronike: ozvočenja, sistemi za snemanje in reprodukcijo zvoka, prenosni predvajalniki, izgubno in brezizgubno stiskanje posnetkov, domači kinosistemi, računalniške igre itd. Pomembna področja, kot npr. zaščita pred hrupom, uporaba zvoka in ultrazvoka v medicini, industriji, pri raziskavah, implementacija zakonodaje v Evropski uniji na področju varnosti, zagotavljanje kakovosti, merilne metode in dr. pa so zastopana v manjši meri. Področje akustike in ultrazvoka se je v zadnjih letih pomembno spremenilo in posledično zahteva spremembo vsebine in prilagojene moderne didaktične postopke. Iz tega sledi, da z zabavno elektroniko povezana znanja prehajajo na tista področja akustike in ultrazvoka, ki nastajajo na področjih v povezavi s podporo znanstveni metodologiji, aplikacijam na področju zdravstva, tehnični diagnostiki, komunikacijskim sistemom in posredno ali neposredno v povezavi z evropsko tehniško zakonodajo in varnostjo. Teoretična znanja akustike in ultrazvoka vključujejo fizikalno akustiko, akustiko sluha, merjenje zvoka, hrup in merjenje hrupa, elektro-akustične pretvornike, digitalno obdelavo akustičnih signalov, Prejet 20. april, 2013 Odobren 6. maj, 2013 28 BEGUŠ uporabo ultrazvoka pri testiranju, diagnostiki; praktične vaje pa s pristopom hands-on povežejo uporabnost teoretičnih znanj s praktičnimi problemi, npr. uporaba hitre Fourierjeve transformacije pri digitalni obdelavi signalov, principe delovanja akustičnih pretvornikov, delovanje fonometra, principe delovanja in karakteristike analogno-digitalnih in digitalno-analognih pretvornikov, merjenja frekvenčnih karakteristik mikrofonov, zvočnikov, nelinearnega popačenja, načine preoblikovanja zvoka (šifriranje, maskiranje govora) idr. V nadaljevanju bodo predstavljena štiri grafična programska okolja, ki omogočajo praktične demonstracije naštetih znanj s področja akustike in ultrazvoka in ki so bila uspešno uporabljena pri laboratorijskih vajah. Osnovni sklopi in programi, ki jih uporabljajo programska okolja, so že pripravljeni, tako da študenti programska okolja lahko uporabljajo tako rekoč brez predznanja. Nekaj laboratorijskih vaj je demonstracijskih zaradi specifične opreme, ki se uporablja, ali so zaradi načina dela omejene na eno delovno mesto. Te vaje izvaja asistent. Druge laboratorijske vaje študenti izvajajo v skupinah po dva študenta. 2 PROGRAMSKA OKOLJA Na laboratorijskih vajah so uporabljena štiri programska okolja: Spectrum Lab [1], PurePath Studio [2], Labview [3] in Matlab Simulink [4]. Njihove glavne značilnosti bodo predstavljene v nadaljevanju. Spectrum Lab [1] je avdiospektralni analizator s procesiranjem v realnem času. Program je prosto dostopen na spletnem naslovu [1], kjer avtor redno izdaja posodobljene različice. Program je zasnovan kot avdiospektralni analizator signalov različnih virov (zvočna kartica, analogno/digitalni pretvorniki, UDP/TCP,…) in prikazom spektra v obliki grafa ali spektrograma. Poleg tega ima orodja za digitalno obdelavo signalov v realnem času (filtriranje, avtomatsko nastavljanje amplitude, računanje s signali, shranjevanje v različnih formatih). Vgrajen ima generator standardnih testnih signalov z možnostjo moduliranja in generiranja poljubnih signalov. Program omogoča merjenje frekvence, amplitude in procesiranje signalov v frekvenčnem prostoru. PurePath™ Studio [2] je grafično programsko okolje, namenjeno razvoju programske opreme za avdiopretvornike z vgrajenim MiniDSP digitalnim procesorjem proizvajalca Texas Instruments. Programsko okolje vsebuje gradnike, ki jih grafično povezujemo med seboj z »žicami« glede na želeno pot avdiosignala. Okolje prevede grafično shemo v kodo, ki jo izvaja MiniDSP. Knjižnica gradnikov vsebuje generatorje signalov, filtre, standardne in matematične funkcije za digitalno obdelavo signalov, algoritme za dinamično obdelavo signalov (avtomatsko prilagajanje amplitude), mešalnike ter vmesnike za komunikacijo z vodilom I 2 S (Integrated Interchip Sound). MiniDSP lahko izvede do 1152 ukazov na vsak zajet avdiovzorec (kodek TLV320AIC3254) pri frekvenci vzorčenja 48 kHz. Programsko okolje se potem, ko dostop odobri Texas Instruments, lahko prenese z njihove zunanje spletne strani. Redno so na voljo posodobljene različice. Labview (Laboratory Virtual Instrumentation Engineering Workbench) [3] je grafični programski jezik podjetja National Instruments, ki se uporablja predvsem pri aplikacijah za preizkušanje, merjenje in krmiljenje. Deluje z različnimi operacijskimi sistemi in podpira široko paleto strojne opreme. Izvajanje programa je določeno s strukturo grafičnega blokovnega diagrama, kjer se povežejo posamezni gradniki iz že pripravljenih knjižnic. Matlab (Matrix Laboratory) [4] je programsko okolje za numerično računanje, predvsem za računanje z matrikami podjetja MathWorks. Simulink je grafično okolje, integrirano v Matlab, za simulacijo, modeliranje in analizo dinamičnih sistemov. Uporablja se pri teoriji vodenja sistemov, za simulacije in digitalno obdelavo signalov. 3 LABORATORIJSKE VAJE V nadaljevanju so opisane zmogljivosti programskih okolij, s poudarkom na praktični implementaciji njihovih zmožnosti pri laboratorijskih vajah za študente drugih in tretjih letnikov pri predmetu Avdio inženiring na študijski smeri Multimedijske komunikacije, Fakultete za elektrotehniko Univerze v Ljubljani. 3.1 Spectrum Lab S programom Spectrum Lab je predstavljena praktična uporaba hitre Fourierjeve transformacije za opazovanje spektra in spektrograma pri filtriranju in obdelavi signalov v frekvenčnem prostoru. Hkrati z opazovanjem spektra signala lahko program prikazuje tudi signal v časovnem prostoru in v načinu "XY", podobno kot z osciloskopom. Program omogoča merjenje amplitude vhodnih avdiosignalov, frekvence, avtomatsko merjenje frekvenčne karakteristike sistemov, generiranje testnih signalov (sinusni, poljubne oblike, šum). SpectrumLab omogoča shranjevanje nastavitev v datoteko, tako da je za začetek oziroma zagon treba le prebrati nastavitve iz datoteke, kar tudi zelo poenostavi delo s programom, še posebno če študent programa ne pozna. Spectrum Lab lahko z ustreznimi nastavitvami deluje kot fonometer s prikazom amplitude električnega signala, nivojem zvočnega tlaka brez frekvenčne utežitve in z "A" frekvenčno utežitvijo. Vse izračunane vrednosti so prikazane hkrati in v realnem času. Primer meritve je prikazan na sliki 1. MODERNI PRISTOPI K POUČEVANJU AKUSTIKE IN ULTRAZVOKA 29 Slika 1: Fonometer z zvočno kartico in mikrofonom, SpectrumLab program. Izmerjena napetost in izračunan nivo zvočnega tlaka brez frekvenčne utežitve in z "A" frekvenčno utežitvijo so prikazani na programirljivih tipkah na levi strani slike. Študenti lahko tu spoznajo delovanje in zgradbo fonometra, enostavne meritve pa z ustreznim mikrofonom lahko izvedejo tudi doma. Pri demonstracijski vaji se s programom Spectrum Lab izmeri frekvenčna odvisnost mikrofona. Program generira beli šum, ki se predvaja z zvočnikom, referenčni mikrofon je uporabljen za določitev frekvenčne odvisnosti zvočnika, avtomatsko frekvenčno korekcijo pa izvede program sam. Po zamenjavi referenčnega mikrofona z merjenim mikrofonom program prikaže njegovo frekvenčno karakteristiko v območju od 100 Hz (omejitev je nizkofrekvenčni hrup v gluhi sobi) do 35 kHz (omejitev frekvenčna obseg zvočnika), slika 2. Slika 2: Merjenje frekvenčne karakteristike mikrofona, program SpectrumLab. Zgornja krivulja je frekvenčna karakteristika mikrofona, spodnja pa zvočnika. Uporabno frekvenčno območje je od 100 Hz do 35 kHz. Pri tej vaji je praktično prikazan princip merjenja frekvenčne karakteristike, pomen referenčnega mikrofona, kalibracije merilne opreme, zagotavljanja sledljivosti meritev in omejitve zaradi opreme, okolja, kjer se izvajajo meritve, in uporabljenih programskih orodij. S piezoelektričnim ultrazvočnim pretvornikom se lahko prikažejo principi delovanja ultrazvočnih sistemov, lastnosti in razširjanje ultrazvoka v zraku, Dopplerjev pojav, osnovni principi modulacije signalov ter pravilna izbira frekvence vzorčenja za ultrazvočne signale. S programom SpectrumLab se lahko demodulirajo frekvenčno in amplitudno modulirani signali. Na sliki 3 sta prikazana spekter sprejetega (moduliranega) in spekter demoduliranega ultrazvočnega signala. Kot vir ultrazvočnega signala sta bila uporabljena signalni generator z analognim modulacijskim vhodom in zvočnik. Maskiranje govora v smislu preprečitve identifikacije oseb se lahko izvede s frekvenčnim premikom spektra avdiosignala za velikostni razred 100 Hz. S programskim okoljem SpectrumLab se lahko izvede frekvenčni premik na podlagi pretvorbe akustičnega signala v frekvenčni prostor in nazaj v časovni ter s premikom v frekvenčnem prostoru. Slika 3: Spekter sprejetega in demoduliranega ultrazvočnega signala Prikazane so možnosti procesiranja v frekvenčnem prostoru, njihove omejitve in prednosti. Kot prednosti lahko omenimo uporabo množenja namesto konvolucije, možnosti implementacije dodatnih filtrov pred frekvenčnim premikom in po njem. Kot slabosti pa omenimo omejeno ločljivost frekvenčnega premika, ki je odvisna od števila elementov pri hitri Fourierjevi transformaciji, in latenco zaradi računsko zahtevne hitre Fourierjeve transformacije. Primer maskiranja govora s frekvenčnim premikom spektra je prikazan na sliki 4. Na levi je prikazan spekter avdiosignala, desno pa frekvenčno premaknjeni spekter. Nastavitev frekvenčnega premika je mogoče spreminjati med delovanjem programa. Glavna prednost programa SpectrumLab so dostopnost na spletu, fleksibilnost, široko področje uporabe in preprosta uporaba. 30 BEGUŠ Slika 4: Spekter nemaskiranega in maskiranega avdiosignala 3.2 Texas Instruments PurePath Studio Maskiranje govora za preprečitev identifikacije oseb se lahko izvede tudi z metodami za generiranje enobočnega radiofrekvenčnega signala z zadušenim nosilnim valom (SSB - Single Side Band oziroma SSBSC- Single Side Band Supressed Carrier), le da so frekvence signalov v avdiofrekvenčnem območju, obdelava signalov pa se lahko izvede z ustreznim digitalnim signalnim procesorjem. Pri demonstracijski laboratorijski vaji sta uporabljeni metoda »Weaver« generiranja signala SSB [5] in frekvenčna konverzija na želeno frekvenčno območje. Programska implementacija metode Weaver za generiranje signala SSB v programskem okolju PurePath Studio je relativno preprosta (slika 5), saj so vsi potrebni elementi (kvadraturni sinusni generator, filtri, množilniki in seštevalniki) na voljo v knjižnici. Treba je le nastaviti ustrezne parametre filtrov (red filtra, mejno frekvenco, vrsto). Program se izvaja na miniDSP v realnem času, tako da je latenca zaradi procesiranja 1 ms, kar je bistveno manj kot pri realizaciji s programom SpectrumLab, kjer se giblje od 0.2 s do 1.2 s, to je odvisno od nastavitve ločljivosti hitre Fourierjeve transformacije. Slika 5: Grafični programski vmesnik programa PurePath Studio in diagram poteka za frekvenčni premik signala s kodekom TLV320AIC3254 Frekvenčni premik avdiosignalov se lahko uporabi tudi v raziskovalne namene, npr. pri zoologiji (poslušanje človeku neslišnih ultrazvočnih signalov npr. netopirjev). Pri tej laboratorijski vaji so uporabljeni tudi principi generiranja signalov SSB in frekvenčne konverzije ki se uporabljajo v telekomunikacijah. Prednosti grafičnega programiranja in implementacije na MiniDSP je preprosto programiranje, izvajanje v realnem času z majhno latenco na strojni opremi in široka paleta že pripravljenih blokov za obdelavo avdio- in ultrazvočnih signalov. 3.3 National Instruments LabView Vpliv kvantizacije in njenih lastnosti na obliko in spekter rekonstruiranega signala iz digitalnega zapisa se lahko nazorno prikaže s programom, ki omogoča nastavljanje bitne globine predvajanja avdioposnetka od 1 do 16 bitov. Pri demonstracijski vaji z grafičnim programskim okoljem Labview se lahko nastavi poljubna bitna globina posnetka v realnem času. Kontrolna plošča je prikazana na sliki 6. Nastavljena bitna globina je 3 bite, kar ustreza osmim različnim napetostnim nivojem. Slika 6: Kontrolna plošča programa Labview za nastavljanje bitne globine predvajanja avdioposnetka Grafično okolje LabView ponuja največjo fleksibilnost, preglednost in nabor knjižnic s funkcijami izmed vseh uporabljenih programskih okolij ter največji potencial pri aplikacijah za preizkušanje, merjenje in krmiljenje. 3.4 Mathworks Matlab Simulink Tajnost prenosa govornih komunikacij npr. pri mobilnih komunikacijah, policiji, vojski itd., se zagotovi s šifriranjem avdiosignala. Postopki šifriranja se lahko izvajajo na analognem signalu ali (pogosteje) na digitaliziranem avdiosignalu. Preprost postopek šifrirana analognega signala pomeni invertiranje spektra avdiosignala oz. »zrcaljenje« okrog izbrane frekvence. MODERNI PRISTOPI K POUČEVANJU AKUSTIKE IN ULTRAZVOKA 31 govor_filtriran.wav To Wave File2 govor_dekodiran.wav To Wave File1 govor_kodiran.wav To Wave File To Wave Device FFT Spectrum Scope DSP Sine Wave3 DSP Sine Wave2 DSP Sine Wave1 DSP Sine Wave Product4 Product2 Product1 Product 2 Matrix Concatenation Manual Switch1 Manual Switch 2 Gain3 2 Gain2 2 Gain1 2 Gain From Wave File govor.wav OutOutOut From Wave File ellip Digital IIR Filter Design7 ellip Digital IIR Filter Design4 ellip Digital IIR Filter Design3 ellip Digital IIR Filter Design2 ellip Digital IIR Filter Design1 Slika 7: Model Matlab Simulink za šifriranje in dešifriranje govora z invertiranjem spektra Slika 8: Spekter originalnega (CH1), šifririranega (CH2) in dešifriranega posnetka (CH3) Implementacija takšnega algoritma za šifriranje in dešifriranje govora z modelom Matlab Simulink je prikazana na sliki 7, spektri osnovnega, šifriranega in dešifriranega avdiosignala pa na sliki 8. Vsi posnetki se shranijo v datoteko, med simulacijo se z izborom želenega signala s stikali lahko avdioposnetek tudi posluša. Meritve harmonskega popačenja se uporabljajo pri meritvah distribucijskega omrežja električne energije, pri karakterizaciji avdio in ultrazvočnih sistemov, pri telekomunikacijskih sistemih, v merilni tehniki itd. Simulacija harmonskega popačenja z nastavljivo amplitudo harmonskih komponent v programu Matlab Simulink vidimo na sliki 9. IZH LIN dB (1 ohm) dB Conversion1 dB (1 ohm) dB Conversion X^3 X^2 Unbuffer3 Unbuffer1 Unbuffer To Wave Device THD, dB THD L THD D Stikalo 3 Stikalo 2 Stikalo 1 FFT Spekter DSP SineWave Product3 Peak, dB ValVal Maximum 2 MatrixConcatt2 2 MatrixConcat14 2 MatrixConcat1 Column Sum Matrix Sum1 Column Sum Matrix Sum 0.5 Gain 5 0 Gain 3 0.678 Gain 2 1 Gain 1 1 u Function From Wave File glasba.wav (44100Hz/2Ch/16b) OutOutOut From Wave File U Y CH4 U Y CH2 U Y CH1 |u| Abs2 |u| Abs1 |u| Abs Slika 9: Simulator harmonskega popačenja v okolju Matlab Simulink 32 BEGUŠ Slika 10: Spekter signala (CH1) in spekter signala zaradi nelinearnosti (CH2) Signalu iz avdiodatoteke ali sinusnem signalu se nastavi amplituda, nato pa se z nelinearnim členom drugega in tretjega reda generirajo harmonske komponente signala, ki se prištejejo osnovnemu signalu. Sledita še sistem za merjenje vršne vrednosti amplitude signala in sistem za merjenje harmonskega popačenja. Slika 11: Amplituda vršne vrednosti signala (levo) in izračunana vrednost harmonskega popačenja (desno) Na sliki 10 sta prikazana spekter signala in spekter signala zaradi nelinearnosti, na sliki 11 pa amplituda vršne vrednosti signala ter izračunana vrednost harmonskega popačenja. Postopek dekodiranja kompozitnega signala FM radijske postaje vključuje regeneracijo nosilca s frekvenco 38 kHz za demodulacijo DSB signala, ki vsebuje razliko L in D avdiosignala, DSB demodulator, seštevalnika za rekonstrukcijo L in D kanala ter filtriranje z nizkopropustnim filtrom. Celoten sistem se lahko realizira v okolju Matlab Simulink, slika 12, če zvočna kartica omogoča vzorčenje s frekvenco 192 kHz. Z dovolj zmogljivim osebnim računalnikom se lahko v realnem času poleg dekodiranja opazuje tudi spekter kompozitnega signala FM, slika 13. Slika 13: Spekter kompozitnega signala FM Prostorski zvok se uporablja ne le pri aplikacijah s področja zabavne elektronike, ampak tudi pri aplikacijah v navidezni resničnosti [6], kjer se z njim izboljša občutek realnosti navideznega sveta, podaja lahko dodatne informacije o navideznem okolju in objektih v njem. V nasprotju s preprosto postavitvijo vira zvoka v navideznem prostoru s spreminjanjem amplitude predvajanja tega zvoka na različnih zvočnikih pa je pri poslušanju s slušalkami mogoče ustvariti veliko bolj realistično sliko z uporabo t. i. HRTF (Head Related Transfer Functions) oziroma prenosnih funkcij, ki opisujejo frekvenčno odvisnost človekovega sluha v odvisnosti od smeri, iz katere prihaja zvok. Pri poslušanju s slušalkami brez HRTF-filtriranja ima poslušalec občutek, kot da je vir zvoka v njegovi glavi. Filtriranje z ustreznimi HRTF (odvisno od želene lokacije vira) pa viru zvoka lahko določi navidezno pozicijo v prostoru. L+D L-D 2L 2D Stereo L-D L+D, Mono 19 kHz 38 kHz 38 kHz L+D To Wave Device Stikalo4 Stikalo3 Stikalo2 Stikalo1 FFT Spectrum Scope Product2 Product1 2 Matrix Concat3 2 Matrix Concat2 2 Matrix Concat butter LPF 15 kHz -K- Gain3 From Wave File RAntena_192k.wav (192000Hz/1Ch/16b) OutOutOut From Wave File From Wave Device butter Digital IIR Filter 38 kHz butter Digital IIR Filter 19 kHz U Y CH1 butter 50 us deemph Slika 12: Stereo dekoder, realizacija s programom z Matlab Simulink MODERNI PRISTOPI K POUČEVANJU AKUSTIKE IN ULTRAZVOKA 33 Model Matlab Simulink za simulacijo navidezne postavitve dveh zvočnih virov v prostor je prikazan na sliki 14. Model lahko simulira tudi poenostavljen model premikanja vira zvoka s spreminjanjem amplitude zvoka med kanaloma D in L in sočasno primerjavo obeh načinov. Slika 14: Model Matlab Simulink za simulacijo navidezne postavitve dveh zvočnih virov v prostor Z grafičnim vmesnikom (slika 15), modelom Simulink (slika 16) in programom Matlab se lahko nastavlja pozicija navideznega vira zvoka v prostoru interaktivno z miško. Simulacija deluje v realnem času. Slika 15: Grafični vmesnik za nastavljanje položaja vira zvoka z miško Slika 16: Model Simulink za nastavljanje položaja vira zvoka z miško Program Matlab Simulink je zasnovan kot orodje za simulacijo in analizo dinamičnih, mehanskih in električnih sistemov, poleg tega pa je z bogatimi DSP- knjižnicami široko uporaben pri procesiranju akustičnih signalov in ultrazvoka. 4 SKLEP V prispevku je predstavljen pristop k praktičnemu poučevanju akustike in ultrazvoka pri laboratorijskih vajah z uporabo programskih okolij, ki omogočajo grafično programiranje, tako da se študenti posvečajo akustičnemu problemu in ne problematiki in spretnostim programiranja, predvsem pa delo pri laboratorijskih vajah lahko začnejo tako rekoč brez predznanja o uporabljenih programskih okoljih. Poudarek torej ni na podrobnem poučevanju programskih okolij, ampak na predstavitvi možnosti in konceptov, ki jih ponujajo posamezna okolja. Praktične naloge s področja akustike in ultrazvoka se povezujejo tudi na tematike in znanja s področij meritev, telekomunikacij, zaščite prenosa podatkov, senzorjev, pretvornikov, merjenja analognih signalov, varovanja, zagotavljanja kakovosti itd. Z uporabo prosto dostopnih programskih okolij lahko študenti izvajajo preprostejše eksperimente tudi doma, s čimer jih spodbujamo k nadaljnjemu raziskovanju. Izkušnje in znanje so bili pridobljeni pri izvajanju laboratorijskih vaj za študente drugih in tretjih letnikov pri predmetu Avdio inženiring na študijski smeri Multimedijske komunikacije, Fakultete za elektrotehniko Univerze v Ljubljani. Vaje na FE izvajamo v navadni učilnici. Glede na naravo dela (poslušanje avdiosignalov) bi bilo bolj ustrezno izvajati laboratorijske vaje v okolju z manj hrupa, vendar problem hrupa učinkovito odpravljamo z uporabo slušalk. Poudariti velja, da ob navedenih tematikah, temelječih na modernih metodah procesiranja in programskih aplikacijah, nikakor ne smemo prezreti pomena akustike v domeni široke uporabe v vsakdanjem življenju, kot tudi interakcije s človekom, saj sta ti področji tudi prvi stik bodočega študenta z akustiko in ultrazvokom.