Wstep: Różnice pomiędzy wersjami

Z Brain-wiki
Linia 1: Linia 1:
==Analiza==
 
Informację niesioną przez milion liczb, wylosowanych niezależnie
 
spomiędzy 0 i 1, można przedstawić krócej niż przez wyliczenie ich
 
wszystkich — choćby tym właśnie zdaniem. Opis ten jest nie tylko
 
bardziej zwięzły niż przytaczanie miliona wartości, ale oddaje
 
jednocześnie najważniejsze ich cechy — ''istotę''
 
sygnału. Zwięzłych, trafny i kompletny opis sygnałów występujących w
 
przyrodzie to właśnie Święty Graal analizy sygnałów.  Ta książka to
 
zaledwie zbiór wskazówek, które przy rozsądnym stosowaniu mogą nas
 
czasem doprowadzić w jego pobliże.
 
 
Zastanówmy się więc, na czym właściwie ma polegać analiza czy opis
 
sygnału, w przypadku bardziej skomplikowanym niż przytoczony powyżej?
 
Sięgniemy raz jeszcze do [http://sjp.pwn.pl/|''Słownika języka polskiego'']:
 
 
'''analiza''' 1. myślowe, pojęciowe wyodrębnienie cech,
 
części, lub składników badanego zjawiska lub przedmiotu; badanie cech
 
elementów lub struktury czegoś oraz zachodzących między nimi związków
 
(...)
 
 
Skoncentrujmy się najpierw na "wyodrębnianiu części lub składników".
 
Ilustrację tego podejścia stanowi rysunek <xr id="fig:1"> %i</xr>.
 
 
[[Plik:wstep_rys_1.jpg|thumb|center|600px|alt=Sumowanie sygnałów|<figure id="fig:1"></figure> (a) = (b) + (c) + (d)<br/>(b)=<math>  0.3 \sin(2\pi 12 t)</math> (sinus)<br/>(c)=<math> 0.7 e^{{-(t-0.8)^2}/{0.2}} \sin(2\pi 20 t)</math> (funkcja Gabora)<br/> (d)=<math>0.5 \sin(2\pi\,2\, t\; t )</math> (chirp)]]
 
 
"Tajemnicę" konstrukcji sygnału z górnej części rysunku
 
<xr id="fig:1"> %i</xr> odkrywają wyrysowane pod nim funkcje składowe. Sygnał
 
(a) jest ich (liniową) sumą. Taki przypadek sygnału będącego liniową
 
kombinacją znanych funkcji możemy przedstawić ogólnie jako
 
 
<equation id="eq:suma_syg">
 
<math>
 
s(t) = \sum_{k} \alpha_k g_k
 
</math>
 
</equation>
 
 
gdzie <math>\{g_i\}</math> to zbiór "znanych" funkcji, a <math>\alpha_i</math> to
 
współczynniki określające ich wkłady. W konkretnym przypadku sygnału z
 
rysunku <xr id="fig:1"> %i</xr> wyglądałyby one następująco:
 
<equation id="eq:zlozenie_sygnalow">
 
<math>
 
\left \{
 
\begin{matrix}
 
\alpha_1 = 0.3, & g_1 = \sin(2 \pi 12 t)\\
 
\alpha_2 = 0.7,  &g_2 = e^{{-(t-0.8)^2}/{0.2}} \sin(2\pi 20 t)\\
 
\alpha_3 = 0.5, &g_3 =  \sin(2\pi\,2\, t\; t )
 
\end{matrix}
 
\right .
 
</math>
 
</equation>
 
 
Załóżmy, że interesująca nas w sygnale informacja została faktycznie
 
zakodowana według równania <xr id="eq:suma_syg">(%i)</xr>. Niestety, dokładne
 
"odgadnięcie" reprezentacji typu równania <xr id="eq:zlozenie_sygnalow">(%i)</xr> jest
 
w ogólnym przypadku &mdash; czyli w braku pewnej wiedzy a priori o sygnale
 
&mdash; niemożliwe. Już sam wybór ''rodzaju''  funkcji (np. sinusy i
 
kosinusy) jest nieskończenie trudny &mdash; wszak różnych funkcji jest
 
nieskończenie wiele! Nawet gdy już zdecydujemy, jakiego rodzaju
 
funkcje powinny najlepiej opisywać analizowany sygnał, to dobranie ich
 
parametrów wciąż pozostaje poważnym problemem (patrz np. rozdział [[Reprezentacje_przybliżone#Przybliżenia_adaptacyjne(adaptive_approximations)|o algorytmie Matching Pursuit]]).
 
 
 
Ale analiza to również "badanie cech elementów lub struktury (...)
 
oraz zachodzących między nimi związków".  Możemy pokusić się o
 
ustalenie związku między wartością sygnału w danej chwili i w chwilach
 
poprzednich, w postaci zależności liniowej -- takie założenie realizuje [[Klasyczna#Model_AR|opisany w jednym z następnych rozdziałów model AR]]:
 
 
<equation id="eq:zal_lin">
 
<math>
 
s(t) = \alpha_1 s(t - \Delta t) + \alpha_2 s(t -2\Delta t) + \alpha_3 s(t - 3 \Delta t) + ...
 
</math>
 
</equation>
 
 
Jeśli weźmiemy pod uwagę czynniki przypadkowe, jak np. niedokładność
 
pomiarów, do równań <xr id="eq:suma_syg">(%i)</xr> i <xr
 
id="eq:zal_lin">(%i)</xr> należy dodać element stochastyczny &mdash; nie
 
podlegający opisowi w ramach modelu szum <math>\epsilon</math>
 
([[Reprezentacje przybliżone|patrz rozdział o reprezentacjach przybliżonych]]):
 
 
<equation id="eq:suma_z_szumem">
 
<math>\begin{matrix}
 
s(t) = \sum_{k=0}^{M} \alpha_k g_k + \epsilon_M \\
 
s(t) = \sum_{k=0}^{M} \alpha_k s (t - k \Delta t) + \epsilon_t
 
\end{matrix}</math>
 
</equation>
 
 
Na koniec zauważmy, że zaproponowane dotychczas modele mają postać
 
liniowych sum.  Uwzględnienie nieliniowości otwiera nowe, nie
 
uwzględnione w tej książce rozdziały, jak np. chaos deterministyczny,
 
fraktale...
 
 
 
==Sygnały ciągłe i dyskretne==
 
==Sygnały ciągłe i dyskretne==
  

Wersja z 16:51, 25 lip 2024

Sygnały ciągłe i dyskretne

Wartości akcji w chwilach zamknięcia kolejnych sesji giełdy tworzą sygnał z natury dyskretny. Jednak w przyrodzie większość stanowią sygnały ciągłe, jak dźwięk (zmiany ciśnienia powietrza w czasie) czy elektroencefalogram (EEG, potencjał elektryczny mózgu mierzony z powierzchni czaszki). Niezależnie od tego, współczesna analiza sygnałów odnosi się w praktyce głównie do sygnałów dyskretnych. "Winne" są oczywiście komputery, urządzenia z natury cyfrowe, czyli "rozumiejące" wyłącznie dyskretne wartości. Zastanówmy się nad wynikającymi stąd korzyściami i stratami.

Jeśli sygnał z natury ciągły (np. dźwięk) zdecydujemy się analizować lub przechowywać w formie cyfrowej, to ciągłą funkcję (np. ciśnienia powietrza) w czasie musimy zastąpić jej wartościami zmierzonymi w określonych (najlepiej jednakowych) odstępach czasu, jak na rys. %i 1.

próbkowanie zmienia ciągłys sygnał
Próbkowanie zamienia ciągły sygnał (a) na punkty (b) o współrzędnych w chwilach próbkowania i odpowiadających im wartościach sygnału ciągłego. Jeśli dysponujemy tylko sygnałem próbkowanym (b), to możemy "uzupełnić" wartości spomiędzy próbek przyjmując, że sygnał pomiędzy nimi jest np. liniowy (c) lub stały od poprzedniego punktu (d) — widzimy rozbieżności z sygnałem oryginalnym (a). Faktyczną reprezentacją funkcji po próbkowaniu jest ciąg liczb (e) plus znajomość odstępu próbkowania [math]\Delta t[/math]. Optymalny sposób odzyskania wartości spomiędzy próbek, jeśli próbkowanie przeprowadzono zgodnie z regułami sztuki, podaje rozdział o próbkowaniu

Przy przejściu z reprezentacji ciągłej (rys. %i 1 a) do dyskretnej (b) tracimy informację o wartościach sygnału pomiędzy próbkami, a naiwne próby ich rekonstrukcji (c i d) znacznie odbiegają od oryginału (a).


próbkowanie zmienia ciągłys sygnał
Próbkowane z częstością 1 oscylacje o częstościach f, od góry: 1,3, 1, 0,5 i 0,3. Sinusa o częstości 0,3 można odtworzyć dokładnie z samych wartości dyskretnych (kropki), podobnie dla granicznej częstości 0,5. Natomiast próbkowane z tą samą częstością szybsze oscylacje wprowadzają przekłamania — widoczna na samej górze oscylacja o częstości 1,3 daje w chwilach próbkowania wartości dokładnie takie same jak sygnał na dole. Zjawisko to nosi nazwę aliasingu ( porównaj).


Pomimo tego, cyfrowy zapis dźwięku (płyty CD) zastąpił całkowicie analogowe "czarne płyty" z winylu — dlaczego? [1]

  • Po pierwsze, przy pewnych dodatkowych założeniach o sygnale ciągłym [math]s(t)[/math], możliwe jest jego dokładne odtworzenie z dyskretnej sekwencji próbek, jeśli odstęp próbkowania [math]\Delta t[/math] dobrano odpowiednio dla danego sygnału. Mówi o tym twierdzenie Nyquista.
  • Po drugie, zapis cyfrowy umożliwia korekcję błędów.


Zapis cyfrowy i korekcja błędów

Aby zrozumieć, dlaczego łatwość korekcji błędów związana jest z zapisem cyfrowym, przyjrzyjmy się bliżej analogowym i cyfrowym zapisom dźwięku. Na płycie analogowej dźwięk kodowany jest w zmiennym wyżłobieniu rowka, w którym przemieszcza się igła gramofonu. W przybliżeniu możemy wyobrazić sobie, że "podskok" igły w większym wgłębieniu rowka odwzorowywany jest jako większe wychylenie membrany głośnika (po zamianie w impuls elektryczny i przejściu przez wzmacniacz). Tak więc wyżłobienie rowka płyty oryginalnie odwzorowuje dokładnie zapisany dźwięk. Jego zarysowanie lub zabrudzenie wprowadzi przy odtwarzaniu zakłócenia (zwykle trzaski). Jednoznaczne rozróżnienie, które z wyżłobień rowka winylowej płyty odzwierciedlają oryginalny zapis muzyki, a które powstały skutkiem uszkodzeń, jest właściwie niemożliwe, dlatego też muzyka ze starych płyt kojarzy nam się z obecnością trzasków i szumu.[2]

W przypadku zapisu cyfrowego możemy w prosty sposób wykryć fakt wystąpienie zakłóceń. Wyobraźmy sobie, że zapisujemy muzykę jako szereg liczb, opisujących amplitudę fali dźwiękowej mierzoną w ustalonych odstępach czasu (rys. Figure 3; dla płyty kompaktowej [math]\Delta t = 1/44 100[/math] sekundy). Ponieważ urządzenie, które będzie zamieniać ten zapis z powrotem na muzykę, i tak musi być swego rodzaju specjalizowanym komputerem (odtwarzaczem CD), to do programu odtwarzającego możemy wprowadzić pewną modyfikację. Umówmy się dla przykładu, że z każdych dziesięciu kolejnych liczb, do zapisu muzyki będziemy wykorzystywać tylko dziewięć, a ostatnią będziemy dobierać tak, żeby suma kolejnych dziesięciu liczb zawsze wynosiła np. milion.

digitalizacja sygnału analogowego
Od góry: ciągły (analogowy) zapis fali dźwiękowej, poniżej próbkowanie, czyli wybór chwil, w których ją mierzymy, dalej zamiana zmierzonych wartości na liczby i liczb na bity. Pasek na dole może być np. fragmentem ścieżki na płycie CD: białe pola (zera) odbijają światło lasera, a czarne (jedynki) nie.

Taki sposób zapisu wprowadza redundancję, czyli nadmiar informacji w zapisie, ponieważ przy prawidłowym odczycie wystarczyłoby znać dziewięć kolejnych liczb, aby wyznaczyć dziesiątą (jako milion minus suma pozostałych dziewięciu). Jednak jeśli wczytamy z takiego zapisu wszystkie liczby, i suma którejś dziesiątki okaże się inna niz milion, to mamy pewność, że w tym miejscu wystąpił błąd.[3] Taka informacja jest bardzo cenna:

  • Jeśli jesteśmy pewni , że nagły skok amplitudy w kilku kolejnych próbkach jest wynikiem błędu zapisu, a nie efektem zamierzonym przez muzyka, to możemy ten skok "przemilczeć", czyli np. zastąpić "popsute" próbki średnią wartością poprzednich.
  • Możemy zwiększyć redundancję i zapisać dwie jednakowe kopie; jeśli uszkodzeniu ulegnie fragment pierwszej kopii, program może automatycznie sięgnąć do odpowiedniego fragmentu drugiej kopii[4].
  • W przypadku transmisji przez modem, program może zażądać powtórnego przesłania uszkodzonego fragmentu.

Niezależnie od tych korzyści, jeśli chcemy analizować sygnały z pomocą komputera (maszyny cyfrowej), i tak jesteśmy "skazani" na pracę z ich dyskretną formą.

Mimo tego, większość ogólnych twierdzeń będziemy rozważać w przestrzeni funkcji ciągłych — o ile nie tyczą się explicite efektów próbkowania. Teoria funkcji ciągłych jest asymptotycznie zgodna z wynikami dla sekwencji dyskretnych — dla odstępu próbkowania dążącego do zera. Jej rezultaty, prostsze pojęciowo i łatwiejsze do wyprowadzenia, są wystarczająco dokładne by wyjaśnić ogólne własności dyskretnych obliczeń.

W uzasadnionych przypadkach będziemy oczywiście dyskutować efekty próbkowania; w takich sytuacjach będziemy rozróżniać sygnał ciągły [math]s(t)[/math] od dyskretnej sekwencji [math]s[n][/math].

Podobne tematy opisuje rozdział "Cyfrowy Świat" z podręcznika Technologii Informacyjnej.

  1. Odpowiedź nie kryje się (niestety) w niższej cenie nośnika. Pomimo, że technologia cyfrowa faktycznie pozwala na znacznie tańszą produkcję (tj. powielanie) przy zachowaniu wysokiej jakości — jak wyjaśnimy za chwilę — to jednak cena średnio dwukrotnie wyższa niż cena odp. płyty winylowej, która w pierwszym okresie była uzasadniona wysokimi kosztami wprowadzania nowej technologii, po jej rozpowszechnieniu pozostała na wywindowanym poziomie, podwajając zyski wytwórni fonograficznych
  2. Tak naprawdę sprawa nie jest beznadziejna:
    • część zakłócen pochodzi z zanieczyszczeń; w tym przypadku zwykle pomaga delikatne czyszczenie płyty.
    • Do pozostałych zakłóceń, których nie da się usunąć mechanicznie, stosuje się potężną metodologię analizy sygnałów (będącą przedmiotem następnych rozdziałów), która pomaga zgadnąć, które dźwięki w zapisie mogą pochodzić z zakłóceń. Zwykle jednak nie da się usunąć dokładnie wszystkich zakłóceń bez naruszenia brzmienia oryginału.
  3. Ale poprawna suma nie daje gwarancji, że błędu nie ma. W jednej dziesiątce mogą wystąpić np. dwa jednakowe błędy o przeciwnych znakach i suma pozostanie niezmieniona. Dlatego sumy kontrolne liczy się w bardziej wyrafinowany sposób (np. CRC -- Cyclic Redundancy Check )
  4. Prawdopodobieństwo wystąpienia uszkodzeń w tych samych fragmentach dwóch zapisów jest już bez porównania mniejsze niż pojedynczego uszkodzenia. Sposobem wprowadzania nadmiarowości, który minimalizuje prawdopodobieństwo wystąpienia takich pechowych przypadków, rządzi dość złożona matematyka z pogranicza statystyki, której nie będziemy tu omawiać. W każdym razie, dwie jednakowe kopie umieszczone jedna za drugą zwykle nie okazują się rozwiązaniem otymalnym.