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