Kai Saksela 1, Jonathan Botts 1, Lauri Savioja 1 1 Aalto-yliopiston tietotekniikan laitos PL 15500, 00076 AALTO etunimi.sukunimi@aalto.fi Tiivistelmä Tässä paperissa esitetään menetelmä, jonka avulla absorboivien materiaalien optimaalinen sijoittelu pyritään ratkaisemaan laskennallisesti. Menetelmällä tavoitellaan ratkaisua, joka on mahdollisimman lähellä käyttäjän määräämää kohdefunktiota, ottaen huomioon annetut reunaehdot. Kohdefunktiolla voidaan pyrkiä esimerkiksi puheenymmärrettävyyden maksimointiin, tai käänteisesti sen minimointiin. Reunaehtojen kautta voidaan esimerkiksi määrätä, ettei ratkaisussa sijoiteta absorptiota ikkunoiden tai lattian kohdalle. Laskennassa käytetään geometrista akustiikkaa. 1 JOHDANTO Impulssivasteen laskemista niin, että tietyille pinnoille on sijoitettu tiettyjä materiaaleja, on tutkittu kattavasti. Jos mietitään käänteistä ongelmaa, eli sitä, että materiaalit tulisi sijoittaa tilaan tietyn impulssivasteen saavuttamiseksi, ongelma muuttuu nopeasti hyvin hankalaksi. Tässä paperissa esitetään menetelmä, jolla ongelma voidaan ratkaista lineaarisena ongelmana. Kun ongelma määritetään lineaarisena ongelmana eikä absorptiomateriaaleille määritellä rajoitteita, on ongelma ratkaistavissa suoraan pienimmän neliösumman menetelmällä. Vaste optimoidaan geometrisella akustiikalla laskettujen heijastusten energian logaritmin suhteen. Huoneen pinnat diskretisoidaan sopivalla tavalla, jolloin laskenta määrittelee kullekin diskretisoidulle pinnalle optimaalisen absorptiokertoimen. Ongelmalle voidaan myös määritellä rajoitteita parempien tulosten saamiseksi. 2 TAUSTAA Huoneakustisessa optimoinnissa on usein pyritty ratkaisemaan epälineaarinen ongelma ([1], [2], [3], [4]). Tässä paperissa oletetaan, että vasteen aikaisimmat heijastukset ovat optimointiongelman kannalta tärkeimmät, jolloin peiliheijastusten rooli nousee tärkeäksi. Jos tilan geometria määritetään muuttumattomaksi, voidaan spekulaariset heijastukset laskea ns. beam tracing[5] -malliin perustuen. Oletetaan, että huoneen pinnat on jaettu valmiiksi sopivan kokoisiin alueisiin, jolloin absorptiokerroin on mahdollista määritellä kullekin jaotellulle alueelle.
3 PIENIMMÄN NELIÖSUMMAN MENETELMÄ ABSORPTION MÄÄRITTÄMISEKSI Geometrisessa akustiikassa yksittäisen saapuvan heijastuksen kokonaisvaimennus voidaan laskea yksittäisten pintojen heijastuskerrointen tulosta sekä äänen reitin pituudesta, mikäli ilman absorptio jätetään huomiotta. Energia vaimenee etäisyyden funktiona (ct) 2 mukaan, jossa c on äänen nopeus ja t on heijastusreitin kulkemiseen mennyt aika. Muu vaimennus määrittyy niiden pintojen heijastuskerrointen mukaan, joista ääni on heijastunut. Äänen energian heijastuskerroin jollekin pinnalle voidaan laskea kaavasta R j = 1 α j, jossa α j on absorptiokerroin, joka kuvaa äänienergian absorptiota. Oletetaan, että energiataso aluksi on E 0 (ct i ) 2 tietylle heijastukselle i, jolloin ainoastaan äänen vaimeneminen etäisyyden funktiona on otettu huomioon. Lopullinen kuuntelijapisteeseen saapuva energia Êi voidaan nyt määritellä Ê i = j (1 α j ) E 0 (ct i ) = R E 0 2 tot,i (ct i ), (1) 2 jossa α j on pinnan j absorptiokerroin ja R tot,i on kaikkien pintojen absorboima energia pinnalle i. Ottamalla funktion molemmilta puolilta logaritmi, yhtälöstä tulee lineaarinen summa ) log (Êi = j log(1 α j ) + c att,i = j r j + c att,i. (2) jossa c att,i = log(e 0 ) 2 log(ct i ). (3) Nyt heijastusten vaimenemista kuvaava yhtälö on lineaarinen muuttujien kombinaatio. Määritellään kohdefunktiota kuvaava vektori b, jossa b i = log(êi). Ê1, Ê2,...Êk kuvaavat yksittäisten heijastusten saapuvaa energiaa. Ratkaistavaksi jää nyt r, jossa r j = log(1 α j ), yksittäisten pintojen energian heijastuskertoimen logaritmi. Määritetään heijastuksiin kuuluvia pintoja kuvaava matriisi G, jolloin voidaan kirjoittaa Gr = b c d, (4) jossa c koostuu arvoista c att,i ja d on kohdefunktiota kuvaava vektori. G on M N- matriisi, jossa M on laskettujen heijastusten lukumäärä ja N on diskretisoitujen pintojen lukumäärä. Heijastuspintoja kuvaavan matriisin elementit G i,j ovat kokonaislukuja jotka kertovat montako kertaa heijastus i kulkee pinnan j kautta. Jos esimerkiksi heijastus i = 3 osuu pintaan j = 4 kerran ja pintaan j = 12 kaksi kertaa, matriisin rivin 3 kaikki elementit olisivat 0 sarakkeita 4 ja 12 lukuun ottamatta. Sarakkeen 4 arvo olisi tällöin 1 ja sarakkeen 12 arvo 2.
3.1 Muita rajoitteita ja ongelman ratkaiseminen Näin saatu jatkuva yhtälö voidaan sellaisenaan ratkaista pienimmän neliösumman menetelmään tarkoitetuilla ratkaisumenetelmillä. Malliin sijoitettavan absorption määrää voidaan rajoittaa esimerkiksi LASSO [6] -menetelmällä, jota myös tämän paperin esimerkissä on käytetty. On huomattava, että pinnat eivät voi lisätä energiaa eikä energiaa voi poistua enemmän kuin pintaan kohdistuu. Käytännössä tämä tarkoittaa, että äänienergian heijastuskertoimen täytyy olla välillä 0 ja 1. Heijastuskerroin on ongelman määritelmän mukaisesti positiivinen johtuen siitä, että ongelman ratkaisuna saadaan heijastuskertoimen logaritmin arvo reaalilukuna. Jotta äänienergian heijastuskerroin jäisi arvon 1 alapuolelle, täytyy sen logaritmin olla alle nolla, r j 0. Ongelma voidaan kirjoittaa uudestaan positiivisena pienimmän neliösumman ongelmana: ( G) ( r) G r = d, (5) ja r 0 (tai r 0 alkuperäisen ongelman mukaisesti), jolloin α j 0. Lopulliset absorptiokertoimet saadaan näin määritellyn ongelman ratkaisusta seuraavan kaavan mukaan: α j = 1 10 r j, (6) Pintojen absorptiokerroin voidaan myös määrittää kiinteäksi ennen ongelman ratkaisemista, r k = log(r k,fixed ). Tällöin G-matriisin sarake k kerrotaan vakioarvolla r k ja siirretään yhtälön 4 oikealle puolelle. Jokaiselle kiinteälle määritellyllä pinnalle k tehdään sama, eli sarake a k poistetaan matriisista G ja lisätään kohdefunktiota kuvaavaan vektoriin d fixed : d fixed = b + c + k r k a k. (7) 4 ESIMERKKI Esimerkkinä menetelmää sovelletaan kenkälaatikon muotoiseen luokkahuoneeseen. Kohdefunktio määritellään karkeasti siten, että puheenymmärrettävyyttä parantavat aikaiset heijastukset ([7], [8]) jäisivät vaimentamatta ja myöhäiset heijastukset vaimentuisivat mahdollisimman paljon. Esimerkissä heijastuksia on laskettu kuudenteen asteeseen asti. Yhdeksän äänilähdekuuntelija-kombinaatiota on määritelty, jolloin kaikki äänilähteiden ja kuuntelijoiden väliset heijastusreitit lisätään samaan optimointitehtävään. Kaikista äänilähteistä (neliöt kuvassa 1) lähtee impulssi hetkellä t 0 = 0s, jonka taso metrin etäisyydellä on 80 db. Yhteen summatut heijastukset ilman minkäälaista huoneabsorptiota esitetään kuvan 2
A BSORBOIVIEN PINTOJEN OPTIMAALINEN SIJOITTELU ensimmäisessä kuvaajassa. Kuvan 2 toinen kuvaaja näyttää kohdefunktion määrittelevän vektorin, jossa kaikki ajanhetken t1 = 60ms jälkeen saapuvat heijastukset pyritään vaimentamaan kuvaajan mukaisesti. Lattia on määritelty kiinteäksi absorptiokertoimella 0. Pienimmän neliösumman ongelma on tässä ratkaistu Pythonilla [9] LASSO-tyyppisenä ongelmana, jolloin huoneeseen sijoitetun absorption määrää on rajoitettu. Pienimän neliösumman tulos näkyy kuvassa 2, ja pienimmän neliösumman mukaiset absorptiokertoimet näkyvät kuvassa 3. Musta vastaa absorptiokerrointa 1, ja valkoinen absorptiokerrointa 0. Ratkaisu on tässä tapauksessa symmetrinen. 10,0m S 0,8m 1,5m 3,5m 0,8m 2,7m 2,0m 7,0m 10,0m 1,2m 2,0m R 3,0m 1,5m 1,0m Kuva 1: Tilanteen pohjakuva ja leikkaus; neliöt esittävät äänilähteitä ja ympyrät kuuntelijoita Shuffled Target Optimized Kuva 2: Kaikki esimerkissä esiintyvät heijastukset yhdessä kuvaajassa. Vasemmanpuoleinen kuvaaja esittää vertauksen vuoksi tilannetta, jossa pintojen sijaintia on muutettu satunnaisesti seinien ja katon suhteen. Keskimmäinen kuvaaja esittää kohdefunktiota. Oikeanpuoleinen kuvaaja esittää pienimmän neliösumman tulosta. Kuvaajien alussa näkyvät paksut viivat esittävät suoraa ääntä. 5 T IIVISTELMÄ Tässä paperissa esitettiin menetelmä absorption optimaaliseksi määrittämiseksi tilassa, jossa pinnat ovat jaoteltu sopivan kokoisiksi alueiksi ja kohdefunktio on määriteltävissä yksittäisten heijastusten suhteen. Menetelmä eroaa edellisiin menetelmiin verrattuna siten, että ongelma on muotoiltu lineaarisena ongelmana, joka ratkaistaan pienimmän neliösumman menetelmällä. Esimerkkinä menetelmää sovelletaan luokkahuoneen puheenymmärrettävyyden parantamiseen. Tulevaisuudessa menetelmää kehitetään muun
Kuva 3: Pienimmän neliösumman tuloksena määritetyt absorptiokertoimet. Valkoinen vastaa absorptiokerrointa 0, musta absorptiokerrointa 1. Tulos on symmetrinen. muassa siten, että optimointi suoritetaan ennalta määritettyjen materiaalien suhteen. Menetelmä vaikuttaa lupaavalta jo nyt; laskentamenetelmän antamaa tietoa voi tapauksesta riippuen hyödyntää myös käytännön ongelmien ratkaisemiseen. VIITTEET [1] Michael Monks, Byong Mok Oh, & Julie Dorsey. Audioptimization: goal-based acoustic design. Computer Graphics and Applications, IEEE, 20(3):76 90, 2000. [2] Maria B Dühring, Jakob S Jensen, & Ole Sigmund. Acoustic design by topology optimization. Journal of sound and vibration, 317(3):557 575, 2008. [3] Luisa Gama Caldas & Leslie K Norford. A design optimization tool based on a genetic algorithm. Automation in construction, 11(2):173 184, 2002. [4] S Sato, K Otori, A Takizawa, H Sakai, Y Ando, & H Kawamura. Applying genetic algorithms to the optimum design of a concert hall. Journal of Sound and Vibration, 258(3):517 526, 2002. [5] Samuli Laine, Samuel Siltanen, Tapio Lokki, & Lauri Savioja. Accelerated beam tracing algorithm. Applied Acoustics, 70(1):172 181, 2009. [6] Robert Tibshirani. Regression shrinkage and selection via the lasso. Journal of the Royal Statistical Society. Series B (Methodological), s. 267 288, 1996. [7] JS Bradley, Hiroshi Sato, & M Picard. On the importance of early reflections for speech in rooms. The Journal of the Acoustical Society of America, 113(6):3233 3244, 2003. [8] François Santon. Numerical prediction of echograms and of the intelligibility of speech in rooms. The Journal of the Acoustical Society of America, 59(6):1399 1405, 1976. [9] Fabian Pedregosa, Gaël Varoquaux, Alexandre Gramfort, Vincent Michel, Bertrand Thirion, Olivier Grisel, Mathieu Blondel, Peter Prettenhofer, Ron Weiss, Vincent Dubourg, et al. Scikit-learn: Machine learning in python. The Journal of Machine Learning Research, 12:2825 2830, 2011.