Wstep: Różnice pomiędzy wersjami

Z Brain-wiki
(Nie pokazano 18 pośrednich wersji utworzonych przez tego samego użytkownika)
Linia 1: Linia 1:
==Sygnały ciągłe i dyskretne==
+
Sygnały zapisujemy, przetwarzamy i analizujemy w postaci ciągów liczb. Przejście od sygnału ciągłego do cyfrowego odbywa się przez proces próbkowania, czyli zapisywania kolejnych amplitud sygnału w ustalonych, stałych odstępach czasu,  [[TI/Cyfrowy_świat|omawiany wcześniej na TIiK]].
  
Wartości akcji w chwilach zamknięcia kolejnych sesji giełdy tworzą
+
[[Plik:AD.png|150px|bezramki]]
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|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ć
+
Ciągły sygnał z górnego rysunku, po próbkowaniu w punktach symbolizowanych czarnymi kropkami na rysunku dolnym, na dysku zostaje zapisany jako ciąg liczb:
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. <xr id="fig:7"> %i</xr>.
 
  
[[Plik:wstep_rys_2.jpg|thumb|center|600px|alt=próbkowanie zmienia ciągłys sygnał| <figure id="fig:7"></figure> Próbkowanie zamienia ciągły sygnał
+
102, 195, 80, 16, 147, 178
(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) &mdash; 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 [[STAT:Klasyczna#Twierdzenie_o_pr.C3.B3bkowaniu| rozdział o próbkowaniu]]]]
 
  
Przy przejściu z reprezentacji ciągłej (rys. <xr id="fig:7"> %i</xr> a) do dyskretnej (b) tracimy informację o
+
Żeby odtworzyć fizyczne własności sygnału, czyli narysować zapisane wartości próbek (czarne kropki) w odpowiedniej skali, musimy znać ''częstość próbkowania'' i ''stałą kalibracji''.
wartościach sygnału pomiędzy próbkami, a naiwne próby ich rekonstrukcji (c i d)
 
znacznie odbiegają od oryginału (a).
 
  
 +
Wyrażana w hercach (Hz) częstość próbkowania (ang. ''sampling frequency'', <math>f_s</math>) to liczba próbek na sekundę. Jest ona odwrotnością odstępu w czasie między kolejnymi próbkami (<math>\Delta t</math>):
 +
<div align = "center>
 +
<math>f_s = \dfrac{1}{\Delta t}</math>
 +
</div>
  
[[Plik:wstep_rys_3.jpg|thumb|center|600px|alt=próbkowanie zmienia ciągłys sygnał| <figure id="fig:8"></figure> Próbkowane z częstością 1 oscylacje o częstościach ''f'', od góry: 1,3, 1, 0,5 i 0,3.
+
Stała kalibracji to współczynnik, przez który mnożymy zapisane liczby, żeby otrzymać wartości w jednostkach fizycznych, na przykład mikrowoltach.
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 &mdash; 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''  ([[STAT:Klasyczna#Przekszta.C5.82cenie_Fouriera_sygna.C5.82.C3.B3w_dyskretnych.2C_aliasing | porównaj)]].]]
 
  
 +
Oczywiście musimy też wiedzieć, w jakim formacie zapisano na dysku liczby (omawiany rok temu na wykładzie o [[TI/Zera_i_jedynki|binarnych reprezentacjach liczb]]), oraz, w przypadku sygnałów wielozmiennych o jednolitym próbkowaniu, znać liczbę kanałów. Taka dodatkowa informacja (metainformacja) jest konieczna do poprawnego wyświetlenia danych z pliku.
  
Pomimo tego, cyfrowy zapis dźwięku (płyty CD)
+
===Aliasing===
zastąpił całkowicie
+
Poza znajomością zależności między zapisanymi liczbami a jednostkami fizycznymi w procesie próbkowania kluczową rolę odgrywa twierdzenie o próbkowaniu (inaczej twierdzenie Nyquista-Shannona, czasem w skrócie twierdzenie Nyquista). Mówi ono, że sygnał ciągły możemy odtworzyć za zapisanych próbek, jeśli częstość próbkowania <math>f_p</math> była wyższa niż dwukrotność najwyższej z występujących w sygnale częstości <math>f_{max}</math>, nazywana częstością Nyquista <math>f_N</math>:
analogowe "czarne płyty" z winylu &mdash; dlaczego?
+
<div align = "center>
<ref>
+
<math> f_s = \dfrac{1}{\Delta t} > 2* f_{max} = f_N</math>
Odpowiedź nie kryje się (niestety) w niższej cenie nośnika. Pomimo, że
+
</div>
technologia cyfrowa faktycznie pozwala na znacznie tańszą produkcję (tj.
+
Jeśli częstość próbkowania nie była wystarczająco wysoka, nie tylko stracimy informację o zmianach amplitudy sygnału "pomiędzy próbkami", ale dojdzie też do zafałszowania sygnału w niższych częstościach, które z pozoru nie powinny być zaburzone. Efekt ten jest bliżej omówiony w rozdziale [[Aliasing]].
powielanie) przy zachowaniu wysokiej jakości &mdash; jak wyjaśnimy za chwilę &mdash; 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</ref>
 
* 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.
 
  
 +
[[Plik:Nyquist1.png|600px|bezramki]]
  
 +
===Sygnał dyskretny jako wektor===
  
===Zapis cyfrowy i korekcja błędów===
+
[https://en.wikipedia.org/wiki/Energy_(signal_processing) Energia sygnału]
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.<ref>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.</ref>
 
  
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. <xr id="fig:9"></xr>; 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.
 
  
[[Plik:wstep_rys_4.jpg|thumb|center|600px|alt=digitalizacja sygnału analogowego|<figure id="fig:9"></figure> 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.]]
+
[[Plik:Product1.png|bezramki]]
  
Taki sposób zapisu wprowadza redundancję, czyli
+
[[Plik:Product2.png|bezramki]]
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.<ref>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'' ) </ref> 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<ref>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.</ref>. 
 
* 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ą
+
[[Plik:Product3.png|bezramki]]
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
+
[[Plik:Product4.png|bezramki]]
przestrzeni funkcji ciągłych &mdash; o ile nie tyczą się ''explicite''
 
efektów próbkowania. Teoria funkcji ciągłych jest asymptotycznie
 
zgodna z wynikami dla sekwencji dyskretnych &mdash; 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
+
[[Plik:Product5.png|bezramki]]
próbkowania; w takich sytuacjach będziemy rozróżniać sygnał ciągły
 
<math>s(t)</math> od dyskretnej sekwencji <math>s[n]</math>.
 
  
[[TI:Technologia_Informacyjna/Cyfrowy_świat| Podobne tematy opisuje rozdział "Cyfrowy Świat"]] z podręcznika Technologii Informacyjnej.
+
[[Plik:Product6.png|bezramki]]
 +
 
 +
===Liczby zespolone===
 +
 
 +
===[[Szereg Fouriera]]===
 +
 
 +
 
 +
 
 +
===[[Przekształcenie Fouriera]]===
 +
 
 +
 
 +
 
 +
 
 +
<div align="right">
 +
[[Analiza_sygnałów_-_wykład|⬆]] [[...|⮕]]
 +
</div>
 +
__NOTOC__

Wersja z 09:29, 26 lip 2024

Sygnały zapisujemy, przetwarzamy i analizujemy w postaci ciągów liczb. Przejście od sygnału ciągłego do cyfrowego odbywa się przez proces próbkowania, czyli zapisywania kolejnych amplitud sygnału w ustalonych, stałych odstępach czasu, omawiany wcześniej na TIiK.

AD.png

Ciągły sygnał z górnego rysunku, po próbkowaniu w punktach symbolizowanych czarnymi kropkami na rysunku dolnym, na dysku zostaje zapisany jako ciąg liczb:

102, 195, 80, 16, 147, 178

Żeby odtworzyć fizyczne własności sygnału, czyli narysować zapisane wartości próbek (czarne kropki) w odpowiedniej skali, musimy znać częstość próbkowania i stałą kalibracji.

Wyrażana w hercach (Hz) częstość próbkowania (ang. sampling frequency, [math]f_s[/math]) to liczba próbek na sekundę. Jest ona odwrotnością odstępu w czasie między kolejnymi próbkami ([math]\Delta t[/math]):

[math]f_s = \dfrac{1}{\Delta t}[/math]

Stała kalibracji to współczynnik, przez który mnożymy zapisane liczby, żeby otrzymać wartości w jednostkach fizycznych, na przykład mikrowoltach.

Oczywiście musimy też wiedzieć, w jakim formacie zapisano na dysku liczby (omawiany rok temu na wykładzie o binarnych reprezentacjach liczb), oraz, w przypadku sygnałów wielozmiennych o jednolitym próbkowaniu, znać liczbę kanałów. Taka dodatkowa informacja (metainformacja) jest konieczna do poprawnego wyświetlenia danych z pliku.

Aliasing

Poza znajomością zależności między zapisanymi liczbami a jednostkami fizycznymi w procesie próbkowania kluczową rolę odgrywa twierdzenie o próbkowaniu (inaczej twierdzenie Nyquista-Shannona, czasem w skrócie twierdzenie Nyquista). Mówi ono, że sygnał ciągły możemy odtworzyć za zapisanych próbek, jeśli częstość próbkowania [math]f_p[/math] była wyższa niż dwukrotność najwyższej z występujących w sygnale częstości [math]f_{max}[/math], nazywana częstością Nyquista [math]f_N[/math]:

[math] f_s = \dfrac{1}{\Delta t} \gt 2* f_{max} = f_N[/math]

Jeśli częstość próbkowania nie była wystarczająco wysoka, nie tylko stracimy informację o zmianach amplitudy sygnału "pomiędzy próbkami", ale dojdzie też do zafałszowania sygnału w niższych częstościach, które z pozoru nie powinny być zaburzone. Efekt ten jest bliżej omówiony w rozdziale Aliasing.

Nyquist1.png

Sygnał dyskretny jako wektor

Energia sygnału


Product1.png

Product2.png

Product3.png

Product4.png

Product5.png

Product6.png

Liczby zespolone

Szereg Fouriera

Przekształcenie Fouriera