kierunek FIZYKA, specjalność EKOFIZYKA Materiały uzupełniające - wykład z akustyki na I roku fizyki na specjalności ekofizyka Projekt: Unowocześnienie programów, poprawa jakości kształcenia oraz otwarcie nowej specjalności Ekofizyka na kierunku Fizyka w Uniwersytecie Zielonogórskim Opracowanie: dr hab. Mirosław R. Dudek 1
1 Detekcja dźwięku Nie wszyscy zdają sobie sprawę z faktu, że ucho ludzkie samo dokonuje analizy Fourierowskiej dźwięku. W trakcie procesu, który nazywamy słyszeniem drgania błony bębenkowej wywołane przez falę dźwiękową dochodzącą do ucha zostają przekształcone na sygnały do mózgu. Nie korzystamy przy tym z pomocy komputera do analizy skomplikowanych wzorów matematycznych a po prostu słuchamy. Ucho ludzkie rozróżnia poszczególne dźwięki działając analogicznie jak przyzmat, który rozkłada światło słoneczne przez niego przechodzące na kolorowe składowe po drugiej stronie pryzmatu. Początkowa analiza dźwięku przez ucho jest mechaniczna a dopiero potem następuje polepszanie jakości poszczególnych dźwięków kiedy sygnały dźwiękowe konwertowane są przez skomplikowaną sieć neuronową. Jeśli różne dźwięki pojawiają się jednocześnie to sami decydujemy, jak je pogrupować. W szczególności, jeśli słyszymy dwa różne tony jednocześnie pochodzące od dwóch różnych instrumentów to w przypadku niektórych relacji harmonicznych pomiędzy częstościami podstawowymi dla tych instrumentów jak np. 1:1 mamy tendencję do odbierania dźwięku złożonego z tych dwóch tonów raczej jako jeden - jakby pochodził on od jakieś innego ale jednego instrumentu. Podobne wrażenie łączenia tonów będziemy mieli przy relacjach pomiędzy dźwiękami 2:1 czy 3:2 (zob. [2]). Dopiero kiedy te relacje będą odbiegać od harmonicznych to nasze ucho zaczyna je traktować jako oddzielne dźwięki. Odbiór dźwięku bardzo zależeć będzie od częstości dźwięku. Jeśli na przykład mamy długie ciągi dźwięków składających się naprzemian z dwóch tonów, A i B, to jeśli różnica pomiędzy częstotliwościami f A i f B jest mała będziemy odbierać dźwięk złożony jako jeden spójny strumień tonów [2]. Inaczej jest jeśli różnica pomiędzy tymi częstościami zwiększy się - dźwięk złożony docierający do ucha odbierany będzie jako dwa różne nie związane ze sobą strumienie. 1.1 Ucho ludzkie jako analogowy analizator Fouriera Fala dźwiękowa rozchodząca się w powietrzu oznacza zmiany ciśnienia akustycznego w powietrzu. Zmiany te docierają kanałem słuchowym poprzez ucho zewnętrzne do błony bębenkowej (oddzielającej ucho zewnętrzne od wewnętrznego) i pobudzają ją do drgań. W uchu wewnętrznym drgania te są wzmacniane i przenoszone mechanicznie poprzez 3 kosteczki słuchowe młoteczek, kowadełko i strzemiączko od błony bębenkowej do błony na 2
Rysunek 1: Fragmenty ucha: kanał słuchowy wejściowy, błona bębenkowa oddzielająca ucho zewnętrzne od wewnętrznego, zestaw 3 kosteczek słuchowych przy czym ostatnia z nich, strzemiączko, dotyka błony owalnej slimaka. tzw. okienku owalnym dającym dostęp do ślimaka. Powierzchnia błony bębenkowej jest około 25 razy większa niż błony okienka owalnego do której docierają drgania poprzez strzemiączko [1]. Jest to bardzo ciekawe zjawisko ponieważ drgania przekazywane są od ośrodka gazowego w uchu zewnętrznym do ośrodka ciekłego znajdującego się wewnątrz ślimaka. Ponieważ siła działająca na błonę równa się iloczynowi ciśnienia i pola powierzchni błony to prawie 25 krotna różnica powierzchni błon oznacza, że na mniejszej z nich (owalnej) pojawia się dużo większe ciśnienie. Ciśnienie to jest już wystarczająco duże do wywołania fali dźwiękowej w wypełnionym płynami ślimaku. Ślimak, jest spiralnym kanałem kostnym wypełnionym płynami. W środku ślimaka jest m.in. błona podstawowa oddzielająca kanały z znajdującymi się w nich płynami. Dopiero drgania tej błony poprzez układ rzęsek zamieniane są na impulsy nerwowe. Błona podstawowa porusza się wskutek zmian ciśnienia generowanych w okienku owalnym. Zmiany ciśnienia są na tyle duże, że ruchy błony wykrywane są przez system rzęsek wzdłuż błony, które pobudzane są selektywnie w zależności od częstości zmian ciśnienia na wejściu/okienku owalnym. Błona podstawowa ma charakterystyczny kształt. Jest wąska i sztywna przy okienku owalnym i staje się około 5 razy szersza i bardziej elastyczna przy przeciwnym końcu. Pobudzenie błony np. sinusową oscylacją o zadanej częstości ω0 wywołuje odpowiedź zlokalizowaną w jakimś położeniu wzdłuż błony odpowiadającym tej częstości drgań. 3
Rysunek 2: Rysunek zrobiony na podstawie rys. 34 w publikacji [1]. Model sprężynkowy błony podstawowej wewnątrz ślimaka. Masy wzłuż stalowj taśmy rosną z lewa na prawo m1 < m2 <... < m6 < m7 i jednocześnie maleją współczynniki sprężystości sprężyn malejące z lewa na prawo k1 > k2 >... > k6 > k7. 1.2 Model mechaniczny błony podstawowej Podrozdział wg [1]. Model mechaniczny reprezentowany jest przez zestaw kuleczek przymocowanych do stalowej wstęgi i jednocześnie do sprężyn łączących kuleczki z prętami (jak na rysunku). W tym modelu kuleczki o masie m mają masy, które zwiększają się wraz z długością membrany a współczynnikiq sprężystości k odpowiednio maleją. Kuleczki drgają z częstością ω = k/m. Jeśli pobudzimy koniec taśmy stalowej z jakąś zadaną częstością ω0 to najpierw zacznie po niej przemieszczać się fala aż w końcu zamieni się ona w falę stojącą. Jeśli ω0 będzie miała częstość bliską częstości rezonansowej ω jednej z mas (np. na rysunku masy nr 5) to ta masa zacznie drgać z amplitudą drgań większą niż pozostałe. Dodajmy, że sztywna część błony podstawowej (ta przy okienku owalnym) ma częstości rezonansowe około 20 khz a przeciwny jej koniec, który jest bardziej elastyczny, ma częstości rezonansowe od 20 do 30 Hz. 4
1.3 Jednowymiarowy oscylator harmoniczny z periodyczną siłą wymuszającą Rozważmy oscylator harmoniczny, na który poza siłą sprężystą działa siła periodyczna w czasie. Równanie ruchu Newtona ma postać: m d2 x dt 2 = kx + Acos(ω 0t), (1) gdzie m jest masą oscylatora, k stałą sprężystości, A amplitudą siły wymuszającej, ω 0 częstością siły wymuszającej. Warunki początkowe, np. x(t = 0) = 0; v(t = 0) = 1. (2) W przypadku, kiedy nie ma siły wymuszającej (A=0) to oscylator drga z częstością własną ω = k m. (3) Ogólne rozwiązanie Równania 1 w przypadku amplitudy oscylacji x ma postać [5]: x(t) = C 1 sin(ωt + δ) + A m(ω 2 ω 2 0) cos(ω 0t), (4) gdzie stałe C i δ wyliczamy z warunków początkowych dla oscylatora, tj. dla t = 0. Rozwiązanie x(t) jest złożeniem dwóch drgań oczęstości ω i ω 0. Jeśli ω 0 ma wartości zbliżające się do wartości ω to oscylacje x(t) zwiekszają się. Analogicznie jest w modelu ucha z poprzedniego rozdziału. 2 Analiza Fouriera dla dyskretnych danych Błonę podstawową można w przybliżeniu rozpatrywać jak strunę o długości L. Wtedy długości dozwolonych fal stojących dla takiej struny można zapisać wzorem: λ n = 2L n, (5) gdzie n = 1, 2, 3,.... Długość fali odpowiadająca n = 1 to długość fali podstawowej. Jeśli związać prędkość fazową fali c 0 z częstotliwością fali f 5
c 0 = λf = λω (6) 2π to kolejne częstości będące całkowitymi krotnościami częstości podstawowej f 1 nazywamy harmonikami: f 1, f 2 = 2f 1, f 3 = 3f 1,.... 2.1 Transformata Fouriera W podręcznikach dla studentów można znaleźć definicję szeregu Fouriera jako rozwinięcie dowolnej funkcji h(t) periodycznej o okresie T = 2L, tj. h(t + T ) = h(t) w postaci nieskończonej sumy sinusów i cosinusów gdzie h(t) = 1 2 a 0 + k=1 a k cos( kπt L ) + k=1 b k sin( kπt L ) (7) a k = 1 L a 0 = 1 L L L L L L h(t)dt (8) h(x) cos(kπt)dt (9) L b k = 1 h(x) sin(kπt)dt (10) L L L gdzie k = 1, 2, 3,.... Jako szczególny przykład weźmy h(t)=t na odcinku [ π, π]]. Wtedy szereg Fouriera bedzie miał postać: t = 2 sin(t) sin(2t) 2 + sin(3t) 3 sin(4t) 4 +... (11) Jeśli ograniczymy szereg w Równ.(7) do odcinka t [ T/2, T/2] i weźmiemy granicę z T do nieskończoności to suma (7) staje się całką h(f) = h(t)e2πift dt (12) gdzie f w naszym przypadku pełni rolę częstotliwości jeśli t ma sens czasu. Jest to tzw. transformata Fouriera funkcji h(t) z domeny czasowej do częstotliwościowej. Zwykle dane pomiarów procesu fizycznego są w postaci 6
funkcji czasu h(t) ale też mogą być podane w funkcji częstotliwości h(f). Odpowiednio odwrotna transformata Fouriera ma postać: h(t) = h(t)e 2πift dt (13) W praktyce mamy do czynienia z pomiarami dyskretnymi w czasie t = k t, gdzie k = 0, 1, 2,..., N 1 i mamy skończoną liczbę N danych {h k } N 1 0. Wtedy dyskretna transformata Fouriera będzie miała postać (zob. rozdział o transformatach Fouriera w [6]): h(f n ) = h(t)e2πif nt dt t N 1 h k e 2πikn/N (14) gdzie f n = n, n = N/2,..., N/2, N t a N liczb zespolonych h 0,..., h N 1 przetransformowane jest na N liczb zespolonych h(f 0 ),..., hf N 1. Dokonując analizy sygnałów zwykle wylicza się tzw. spektrum mocy sygnału, S(f), gdzie jest to transformata Fouriera funkcji autokorelacyjnej sygnału w chwili t i t + τ h(t)h(t + τ) = 0 k=0 S(f)e 2πjft df. (15) gdzie τ jest zadanym parametrem korelacji. Spektrum mocy S(f) jest funkcją w domenie częstotliwości f, przy pomocy której badamy długoczasowe zachowania szybkich i wolnych oscylacji. W przypadku, kiedy analizie fourierowskiej poddane są np. oscylacje będące wypadkowymi różnego rodzaju oscylacji harmonicznych to w spektrum mocy te sygnały zobaczymy w postaci pojedynczych pików jak na rysunkach poniżej Rys. (3),(4). Załóżmy, że mamy dźwięk złożony z dwóch tonów A i B odpowiadającym dwóm częstościom f A i f B, które pojawiają się losowo, czyli h(t) = sin(2πf), (16) gdzie f = f A lub f = f B z jednakowym prawdopodobieństwem p = 1/2. Jak łatwo zauważyć z Rys. (6) pomimo losowego pojawiania się sygnałów częstości składowych zostały rozpoznane. Kolejny przypadek to całkowicie losowy sygnał. Można zaobserwować płaskie spektrum mocy 7
1,5 1 0,5 f=0.3 0,8 0,6 y 0 S(f) 0,4-0,5 0,2-1 -1,5 0 5 10 15 20 t 0 0 0,1 0,2 0,3 0,4 0,5 czestotliwosc, f Rysunek 3: Na lewym panelu przedstawione są dane w postaci funkcju h(t) = sin(2πft) w przypadku kiedy f = 0.3. Na prawym panelu przedstawione jest spektrum mocy S(f) w funkcji częstości. 8
4 f=0.3, 0.1, 0.8, 1.1 1 f=1.1 2 0,8 0,6 y 0 S(f) 0,4-2 0,2 f=0.1 f=0.3 f=0.8-4 0 5 10 15 20 t 0 0,01 0,1 1 czestotliwosc, f Rysunek 4: Na lewym panelu przedstawione są dane w postaci sumy h(t) = k=4 k=1 sin(2πf k t) w przypadku, kiedy f 1 = 0.3, f 2 = 0.1, f 3 = 0.8, f 4 = 1.1. Na prawym panelu przedstawione jest spektrum mocy S(f) w funkcji częstości. 9
1 0,5 f=0.3 0,3 0,25 0,2 y 0 S(f) 0,15 0,1-0,5 0,05-1 0 5 10 15 20 t 0 0 0,1 0,2 0,3 0,4 0,5 czestotliwosc, f Rysunek 5: Na lewym panelu przedstawione są dane w postaci h(t) = sin(2πft) w przypadku, kiedy f = f 1 = 0.3, f = f 2 = 0.1 z jednakowym prawdopodobieństwem. Na prawym panelu przedstawione jest spektrum mocy S(f) w funkcji częstości. 10
1 0,02 0,5 0,015 y 0 S(f) 0,01-0,5 0,005-1 0 5 10 15 20 t 0 0,1 1 czestotliwosc, f Rysunek 6: Na lewym panelu przedstawione są dane w postaci h(t) = sin(2πft) w przypadku, kiedy f jest losowe z przedziału [0,1]. Na prawym panelu przedstawione jest spektrum mocy S(f) w funkcji częstości. 11
Rysunek 7: Wizualizacja dźwięku poprzez program Kwave pod linuksem reprezentującego zdanie Tego roku jesień jest bardzo piękna wypowiedziane przez syntetyzator mowy espeak pod linuksem. S(f) const (17) Wynik ten jest taki sam jak dla tzw. białego szumu. 2.2 Syntetyzatory mowy Jeśli ktoś posługuje się linuksem może bez nakładu pieniędzy na zakup oprogramowania zobaczyć działanie syntetyzatorów mowy. Jednym z prostszych jest program espeak. Po prostu w terminalu lub konsoli użytkownika piszemy polecenie, np. espeak -vpl -w dzwieki.wav gdzie pl oznacza, że lektor ma mówić po polsku a nazwa dzwieki.wav oznacza plik dźwiękowy w formacie wav do którego zapisane zostanie wypisane przez nas na klawiaturze zdanie. Litery zostaną zamienione na dźwięki. W naszym przypadku wpiszmy, np. Tego roku jesień jest bardzo piękna a następnie naciśnijmy kombinację klawiszy Ctrl-C. Syntetyzatora espeak można też użyć bezpośrednio bez zapisu do pliku i wtedy od razu usłyszymy wpisany tekst. Obraz wygenerowanego dźwięku reprezentującego powyższe zdanie jest przedstawiony na Rys. 7. Pojedynczą literę T będącą początkiem zdania w postaci dźwięku można zobaczyć na kolejnym rysunku Rys. 8. Dodajmy, ze program espeak obsługuje kilka języków i dialektów. 12
Rysunek 8: Wygenerowanie dźwięku reprezentującego literę T - fragment poprzedniego rysunku 3 Kryteria hałasu Wrażliwość ucha zależy silnie od częstości dźwięku. O ile dźwięki o niższych częstościach rzędu 1 khz i niskim poziomie ciśnienia akustycznego bliskiego 0dB mogą być odbierane przez nasze ucho to np. już dźwięki powyżej 100 Hz będą słyszane dopiero przy kilkudziesięciu decybelach. Poniżej narysowane zostały krzywe (Rys. (10)) jednakowego poziomu głośności, krzywe Fletchera i Munsona. Krzywe te łączą punkty, gdzie dla różnych częstotliwości f i różnych poziomów ciśnienia akustycznego L p dźwięki odczuwane są jednakowo głośno. Pojedyncze dźwięki - tony - ucho odbiera jednakowo głośno przy różnych częstotliwościach f. Taki poziom jednakowej głośności jest wyrażony w tzw. fonach. Fony określają poziom natężenia konturu w decybelach dla częstotliwości f = 1 khz. Definicje: Poziom ciśnienia akustycznego dany jest wzorem [3], [4]: L p = 10 log p2 p 2 0 = 20 log p sk p 0, (18) gdzie p 0 = 2 10 5 Pa oznacza ciśnienie odniesienia, p sk ma sens ciśnienia skutecznego 13
Rysunek 9: Krzywe izofoniczne. Są to tzw. krzywe Fletchera i Munsona do określania poziomu głośności konturów dla różnych częstotliwości. Reprodukcje oryginałów Organizacji Normalizacyjnej ISO można znaleźć np. [7]. Tutaj, przedstawiony jest wyłącznie schemat ideowy. q psk = hp2 i. (19) Człowiek rozróżnia dźwięki dla których wartości Lp różnią się co najmniej o 1 db. 1 fon równa się 1 db poziomu natężenia dźwięku Lp przy częstości f = 1kHz. Krzywe z rys. (10) są takie jak je opublikował Fletcher i Munson w 1933 roku. Trzy lata później te krzywe zostały użyte jako pierwszy standard 14
Rysunek 10: Audiogram pacjenta z uszkodzonym słuchem prawego ucha. Na audiogramie zapisywane są progi słyszenia tonów (Lp,f ). Częstotliwość mierzona jest w Hz a głośność w db. Pacjent odsłuchuje poprzez słuchawki podany ton i przyciskiem potwierdza czy słyszy dźwięk. 15
80 poziom cisnienia akustycznego, Lp (db) 70 60 50 40 30 20 10 NC70 NC65 NC60 NC55 NC50 NC45 NC40 NC35 NC30 NC25 NC20 NC15 0 100 1000 10000 czestotliwosc (Hz) Rysunek 11: Kontury NC dla pasm oktawowych dla tabeli z rys. 12 16
USA dla określania norm poziomu głośności przez Amerykańskie Towarzystwo Akustyczne (Acoustical Society of America). Tak zwany standard A-ważonych poziomów głośności dotyczy konturu głośności opartego na krzywej odpowiadającej 40 Fonom. Reprezentuje on odpowiedź ucha ludzkiego na niskie poziomy głośności dźwięku, głównie poniżej 60 db. Wadą tego flitru jest to że stosuje się on do pojedynczych tonów - ton określa para (L p, f). Już w przypadku dźwięku generowanego w sposób losowy okazuje się, że hałas pochodzący od źródła losowego odbierany jest głośniej niż pojedynczy ton przy tym samym poziomie ciśnienia akustycznego. Niskie i wysokie częstości najczęściej odbierane są przez nas jako bardziej nieprzyjemne w odniesienu do częstości pośrednich. Dlatego z powodów czysto praktycznych konieczne jest określenie akceptowalnego standardu poziomu szumów akceptowalnych np. w biurze hałas pochodzący od wyposażenia klimatyzacji, w domu, bibliotece, szumy o określonej porze dnia itd. Na temat kryteriów dla określenia progu hałasu wg obowiązujących norm stosuje się metodę NC (noise criterion) w USA lub NR (noise rating curves) w Europie. Przykłady wyliczania takich progów można znaleźć też w internecie, np. algorytm wyliczania progów hałasu wg norm amerykańskich bardzo ładnie jest opisany na stronie [8], gdzie współczynniki hałasu określane są poprzez pasma oktawowe dla częstości od 63 Hz do 8kHz. Obszar słyszalności podzielony jest umownie na kilka przylegających do siebie pasm częstotliwości. Każde z nich ograniczone jest od dołu tzw. dolną częstotliwością f 1 a od góry górną częstotliwością f 2. Zwykle podaje się takie pasma przy pomocy tzw. częstotliwości środkowej, zdefiniowanej jako Dla pasm oktawowych mamy zależność f 2 = 2f 1. f = f 1 f 2. (20) Tabela norm NC hałasu dla częstości środkowych pasm oktawowych ma postać jak w poniższej tabeli Rys.12 (zob. [8] ). Skorzystajmy z przykładu (zob. [8] ale wybierzmy trochę inne dane. Załóżmy że interesuje nas dopuszczalny poziom hałasu w bibliotece. W biurze normy hałasu reprezentują krzywe NC25-NC30. Dla porównania w mieszkaniach NC25-NC35, w bibliotece NC35-NC40 a w restauracji NC40-NC45. W studiu nagrań NC15-NC20. Jeśli teraz np. dokonujemy pomiarów natężenia poziomu dźwięku w bibiotece dla różnych częstotliwości dźwięku i 17
Norma hałasu Częstość środkowa dla pasm oktawowych (w jednostkach Hz) 63 125 250 500 1000 2000 4000 8000 Natężenie poziomu dźwięku Lp (w jednostkach db) NC15 47 36 29 22 17 14 12 11 NC20 51 40 33 26 22 19 17 16 NC25 54 44 37 31 27 24 22 21 NC30 57 48 41 35 31 29 28 27 NC35 60 52 45 40 36 34 33 32 NC40 64 56 50 45 41 39 38 37 NC45 67 60 54 49 46 44 43 42 NC50 71 64 58 54 51 49 48 47 NC55 74 67 62 58 56 54 53 52 NC60 77 71 67 63 61 59 58 57 NC65 80 75 71 68 66 64 63 62 Rysunek 12: Kryteria hałasu NC wg pasm oktawowych - dane liczbowe są przykładowe i są wzięte z [8] 18
80 poziom cisnienia akustycznego, Lp (db) 70 60 50 40 30 20 10 NC70 NC65 NC60 NC55 NC50 NC45 NC40 NC35 NC30 NC25 NC20 NC15 0 100 1000 10000 czestotliwosc (Hz) Rysunek 13: Kontury NC dla pasm oktawowych i przykładowa krzywa repreentująca dane pomiarowe (krzywa przerywana) hałasu w pomieszczeniu. 19
otrzymujemy: 1. 62.5 Hz 30 db 2. 125 Hz 55 db 3. 250 Hz 50 db 4. 500 Hz 40 db 5. 1000 Hz 45 Hz 6. 2000 Hz 38 Hz 7. 4000 Hz 35 Hz 8. 8000 Hz 30 Hz Z rys. 13 widać że w tym przypadku dane pomiarowe wskazują poziom hałasu NC45. Czyli normy dla biblioteki zostały przekroczone. Zawsze wybieramy najniższą krzywą, której takie doświadczalne krzywe hałasu nie przetną. 4 Przydatne dodatki 4.1 Równanie falowe rozwiązane przy pomocy transformaty Fouriera Załóżmy, że mamy następujące jednowymiarowe równanie falowe dla propagacji ciśnienia akustycznego 2 p(x, t) = 1 2 p(x, t) (21) x 2 c 2 t 2 gdzie c jest prędkością dźwięku. Niech równanie spełnia warunki brzegowe: p p(x, 0) = f(x); (x, 0) = g(x). (22) t Zawsze możemy zapisać transformatę Fouriera dla p(x, t): p(k, t) = p(x, t)e 2πikx dx. (23) Odwrotna transformata od p(k, t) do p(x, t) ma postać: p(x, t) = p(k, t)e2πikx dk. (24) 20
Po podstawieniu w równaniu (21) za p(x, t) jej transformaty Fouriera z równania (24) otrzymujemy : Stąd: 2 x p(k, 2 t)e2πikx dk = 1 2 c 2 t p(k, 2 t)e2πikx dk. (25) (2πik) 2 p(k, t)e2πikx dk = 1 2 c 2 t 2 i rozwiązujemy równanie względem p(k, t): p(k, t)e2πikx dk, (26) (2πik) 2 p(k, t) = 1 2 c 2 t2p(k, t). (27) W następnym podrozdziale jest krótka dyskusja nt rozwiązywania równań różniczkowych przy pomocy pakietu xmaxima pod linuksem. Można skorzystać z tego pakietu również w naszym przypadku. Otrzymamy następującą postać rozwiązania tego równania różniczkowego: p(k, t) = A(k)e 2πikct + B(k)e 2πikct (28) Stosując odwrotną transformatę Fouriera otrzymujemy: = = p(x, t) = p(k, t)e2πikx dk = (29) (A(k)e2πikct + B(k)e 2πikct )e 2πikx dk = (30) A(k)e2πik(x+ct) + B(k)e2πik(x ct) = (31) = p 1 (x + ct) + p 2 (x ct). (32) czyli rozwiązaniem tego równania jest fala biegnąca w lewo p 1 (x + ct) i fala biegnąca w prawo p 2 (x ct). 21
Rysunek 14: Wygląd strony roboczej w pakiecie xmaxima pod linuksem. 4.2 Równania różniczkowe w pakiecie xmaxima pod linuksem Pakiet xmaxima pod linuksem jest jednym z wielu umozliwiającym obliczenia zarówno numeryczne i symboliczne. Przyjrzyjmy się paru przykładom. Jako pierwszy weźmy równanie różniczkowe z poprzedniego rozdziału. d 2 p dt 2 = w2 p, (33) gdzie w naszym przypadku w = 2πikc. Polecenie w pakiecie xmaxima do znalezienia rozwiązania ma postać: ode2( diff(p, t, 2) w 2 = 0, p, t). (34) 22
Rysunek 15: Wygląd powitalnego interfejsu pod programem xmgrace. Strona domowa http://plasma-gate.weizmann.ac.il/grace/ Na Rys.14 pokazujemy wygląd strony z zapisem wykonanych poleceń. W dolnej części ekranu maximy jest zestaw pomocniczych poleceń. Zauważmy, ze program maxima pyta się czy wartość w jest zerowa czy niezerowa. W odpowiedzi należy napisać zero; lub nonzero; ze średnikiem na końcu. W naszym przypadku wybieramy opcję nonzero; 4.3 Pakiet grace - wykresy 2D, analizy danych W każdej obecnej dystrybucji linuksa można zainstalować wiele pakietów graficznych do rysowania wykresów czy nawet analizy danych pomiarowych. Bardzo wygodny, i intuicyjnie prosty, jest pakiet grace. Jako program występuje on pod nazwą xmgrace. Pozwala on w środowisku graficznym wczytać dane do wykresu dwuwymiarowego, dokonać różnego rodzaju 23
operacji na wykresach jak wyliczenie średniej, znajdowanie korelacji pomiędzy wykresami czy różnego rodzaju analizy Fourierowskie. Rysunki z pierwszego rozdziału otrzymane zostały właśnie przy pomocy xmgrace. Dane do zrobienia wykresu można wpisać ręcznie podając współrzędną x i y każdego punktu wykresu. Można też zadać wzór analityczny funkcji, której wykres chcemy narysować. Najczęściej dane mamy juz w pliku tekstowym. W tym przypadku, klikamy myszą na Data w górnym menu (zob. rys. 15) a następnie w ściągalnym menu, które pojawi się na ekranie klikamy na Import i wybieramy rodzaj danych, np. ASCII. Pojawi nam się zawartość katalogów i po prostu musimy wybrać interesujący nas plik z danymi. Literatura [1] http://www.physics2000.com/pdf/text/ Ch 16 FOURIER ANALYSIS,%20 NORMAL MODES AND SOUND.pdf [2] Diana Deutsch, Hearing music in ensembles, Physics Today February 2010, 40-45 [3] Rufin Makarewicz, Dźwięk w środowisku. Ośrodek Wydawnictw Naukowych Poznań 1994 [4] Rufin Makarewicz, Dźwięki i fale, Wydawnictwo Naukowe UAM, 2009 [5] Grzegorz Białkowski, Mechanika klasyczna, PWN, Warszawa 1975. [6] William H. Press, Saul A. Teukolsky, William T. Vettering, Brian P. Flannery, Numerical Recipes in C, Cambridge University Press 1992 [7] Egbert Boeker, Rienk van Grondelle, Fizyka Środowiska, Wydawnictwa PWN, Warszawa 2002. [8] http://www.engineeringtoolbox.com/nc-noise-criterion-d 725.html 24