čtvrtek, února 09, 2006

Kam kráčím?


Taky bych rád věděl, co studuju. A kdo to konečně úspěšně dostuduju. Popisovat, o čem ten je můj obor by byla celkem nuda. Zato ale rád popíšu jednu z vyčůraných metod, kterou nás naučili v předmětu, ze kterého jsem včera dělal zkoušku. Pokud něco víte o digitalizaci signálu, buďte prosím schovívaví ;)

Pozor, obtížnost čtení 4 z 5 ;) Kdo to dočte až do konce, má u mě velkou vychlazenou správně načepovanou zlatavou sklenici obdivu.

Předmět se týkal digitalizace signálu. To jest převod 'analogových' veličin do podoby, se kterou si poradí počítač, což jso u čísla.  Pokud rozumíte následujícímu reklamníku střípku, moc si v následujícím textu nepočtete. Pokud ovšem nevíte o čem je řeč a fakt byste chtěli, v příspěvku se to dozvíte...

"Firma Roland představuje pod svou druhou hlavičkou, Edirol, audio převodník pro připojení k USB portu. Interní zpracování probíhá ve 24bitovém rozlišení a nejvyšší samplovací frekvenci lze nastavit na 96 kHz"

Pokud ovšem nevíte, o čem je řeč a fakt byste chtěli, v příspěvku se to dozvíte. Pokud na následující otázky odpovíte ano, je na 95% jisté, že na konci příspěvku bez potíží porozumíte předchozí reklamní větě.

Vím, jak vypadá sínusovka?
Dokážu se představit čtverečkovaný papír?
Nepletu si vertikální a horizontální směr?
Vím, co je minimum a vím, co znamená záporný?
Nevadí mi drobé prohřešky proti českému jazyku?

Něco o digitalizaci
Představme si, že chceme 'dostat' do počítače naše pískání. Přeskočíme mikrofonovou část..... tak a na vstupu zvukové karty máme kmitající elektrický signál, který ovšem opticky vypadá jako naše pískání. Hodně zjednodušeně jde vlastně o sinusový signál. Nakresleme si tedy jednu periodu sinusovky. A teď co s tím? Nejšikovnější je, když půjdeme bod po bodě od začátku sinusovky a zapíšeme si čas a hodnotu v daném bodě. Nastává první problém : počítač je poměrně hloupý, dokáže si zapamatovat jen omezeně velké/malé číslo. Musíme se tedy rozhodnout, jak podrobně budeme na signál koukat. Budeme se muset určité informace vzdát (Venda tleská rukama a hladí analogový foťák;). Buď naší sinusovku očucháme podrobně, pak ovšem bude zabírat na disku ohromné místo, nebo ji ohodnotíme hodně zhruba, jenže pak snad ani nepůjde poznat, že to kdysi byla sinusovka. Nyní jsme se rozhodli, jak podrobně budeme naše pískání zkoumat a aby v tom nebyl binec, rozdělíme si oblast mezi záporným minimem a maximem rovnoměrně. Položíme tedy myšlenkově na sinusovku čtverečkovaný papír. Vodorovné čáry si odspodu očíslujeme. Svislé čáry jsou pro nás čas. A jak se tedy vzorkuje?

Pro daný čas se koukneme, kde nám příslušná svislá čára protíná sinusovku. Téměř vždy se nám stane, že svislá čára signál protne mimo naše vodorovné čáry. Které číslo máme zapsat? Zapíšeme to nejbližší spodní. Takhle postupně pokračujeme a zapisujeme si hodnoty. Tím si 'ovzorkujeme' celý signál. Máme v počítači naše pískání, které ovšem není úplně naše pískání, hodnoty jsou jen přibližné. Ale jak můžete slyšet například při přehrávání CDčka, moc poznat to není. Při přípravě CD byl totiž čtverečkovaný papír pěkně jemný : Svislých čar je 65 536 a vodorovných je na každou vteřinu 44 100. Proč 65536? To je totiž 2^16, čili dvě na šestnáctou, čili takzvané dva Byty, čili 16 bitů.  Počítače milují mocniny dvojky. Každá vteřina vašeho pískáni v CD kvalitě má tedy cca 86 kB. Dvouminutové pískáni by na disku zabralo asi 10MB. Proč má tedy tříminutová MP3 jen 3MB? Software, co dělá z CDčka MP3ky, část informací opět vypustí. Sice to dělá tak, aby si toho ucho nevšimlo, ale nesmí se to přehánět.

Ještě jedna zajímavost : aby bylo možné správně rekonstruovat signál, můžeme pískat jen na frekvenci o polovinu menší než je frekvence, se kterou koukáme na signál. V případě CDčka je to tedy 22 050 Hz, což naštěstí málokdo slyší. V opačném případě nejsme schopni správně signál obnovit. V extremním případě pískotu na frekvenci třeba 44 kHz, což už je ultrazvuk (znám ovšem lidi, nebudu jmenovat, kteří by toho byli schopni), by to po rekonstrukci znělo tak, že dotyčný píská na frekvenci 100 Hz, což je celkem hluboko. Divné, co? Na požádání matematicky zdůvodním ;) (Jen napovím, že 44 100 - 44 000 = 100, ale ono je to trochu komplikovanější).

Totéž v bledě modrém platí pro snímání obrazu, jen je to hold dvourozměrné a motají se do toho tři barevné složky. Venda je určitě spokojený, protože jsem tu vlastně dvakrát popsal, jak při digitalizaci dochází ke ztrátě informace. V případě fotografie jednou při vlastním snímání, podruhé při kompresi pro rozumnou velikost souboru. První ztrátě se bráníme tak, že přidáváme 'megapixely', druhé zcela jednoduše tak, že nekomprimujeme. Pak se nám sice na CD vejdou třebas jen 4 fotky, ale zmenšit je můžeme v budoucnu kdykoliv. U zvuku se to řeší tak, že na signál koukáme vícekrát za vteřinu (například 192 000 krát) a vertikální síto zhustíme na 24 bitů to jest 16 777 216 hodnot. Každá vteřina takového záznamu má 563 kB a dvouminutový pískat v DVD-AUDIO kvalitě by měl 66 MB.

Poslechněte si CD, při kterém už z výše popsaného principu určitě došlo ke zkreslení reality. Poznáte to? Někdo možná ano, ale chce to netopíří sluch a pořádný audio systém.

Původně jsem chtěl jen napsat jak uvedenou metodu vzorkování vtipnou metodou vylepšit, pak jsem si ale řekl, že nejdříve vysvětlím základy. Když jsem to dopsal, bylo mi hloupé nenapsat, jak se z ovzorkovaného signálu opět vytvoří naše pískání (třeba na jiném PC). Ale jsou tři, začal jsem psát ve dvě a fakt se mi chce spát :) A ona nádherná metoda? Někdy příště.

Tohle je jen základ pro ptákoviny, které jsme onom předmětu vyváděli. Dále jsme se učili, jak správně měřit čas, frekvenci, jak dobře rekonstruovat signál a jak získat v určitých případech rozumný signál i v případě, rozdíl mezi signálem a šumem je 130dB (pro znalé upozornuji, že šum je o 130dB VÝŠ, tj. signál je zcela utopen v šumu).

Pro machrování v hospodě

vzorkování = digitalizace = samplování
vodorovná čára = kvantovací úroveň
svislé čáry odpovídají vzorkovací frekvenci
vodorovné = kvantovací stavy = rozlišení
zvukovka = převodník = AD převodník == ADC (analog to digital convertor)

Tak co, dočetli jste to až sem? Rozumíte reklamnínu textu na začátku článku?



Tady je Java Applet, kde si můžete vyzkoušet vznik oné podivnosti, to jeste situaci, kdy se ovzorkovaná frekvence jeví jako úplně jiná. Nezapomeňte si zaškrtnou check-box alias frequency a show grid. Žlutou barvou je naše pískání, svislé čáry jsou místa odběru vzorků, modrozeleně je frekvence, která by lezla z CDčka po přehrání. Do textového políčka zapisujeme frekvenci pískání Vzorkujeme na frekvenci 8000, takže vše pod 4000 je OK a obě frekvence jsou stejné, vidíme tedy jen jednu, překrývají se.

Vymakanější applet, kde můžete vzorkovat a vzorkovat. Spouští se čudlíkem na konci stránky.

Vše o zpracování signálu. Krásně se to hýbe :)

Neidentifikované zvuky moří

2 Comments:

barča said...

ja vzdycky myslela bobe, ze: digitalizace = samplovani + kvantovani :-P

Bob said...

Mila Kubo, mozna bylo trochu odvazne dat mezi digitalizaci a samplovani rovnitko. Samozrejme mas pravdu. Pozdravuj na sdelovacce ;)