Сигнал и отчети
Звукът е трептене на въздуха; микрофонът го прави на напрежение – аналогов сигнал, плавна линия. Компютърът не може да пази линия, само числа. Затова го снима през равни интервали: всяка снимка е един отчет. Колко снимки в секунда правим, се казва честота на дискретизация fs.
Нашата свирка е записана с fs = 16 000 Hz. Тя започва от 100 трептения в секунда (100 Hz, ниско) и стига до 7900 Hz (много високо). Отдолу е спектрограмата ѝ – картата на звука: времето е надясно, честотата – нагоре. Свирката е една светла наклонена линия.
Входът: звукът, както е записан
входът x(n)
Горе – вълната, долу – спектрограмата: линията се качва равномерно от 100 до 7900 Hz. Приближи вълната: в началото трептенията са редки, в края – толкова гъсти, че на едно трептене се падат само два отчета.
Честота на дискретизация и теорема на Найкуист
Сега снимаме по-рядко: от всичките отчети взимаме само всеки 4-и. Това е все едно да снимаме 4000 пъти в секунда. После звукът се сглобява обратно – както прави ЦАП-ът в слушалките.
Пусни: до 2000 Hz свирката се качва вярно, а над това се „обръща“ и слиза – макар истинската да продължава нагоре. Границата е половината от fs – тук 2000 Hz. Това е теоремата на Найкуист: за да запишем вярно една честота, трябва да снимаме повече от два пъти на всяко трептене.
Входът: звукът, както е записан
входът x(n)
Изходът: звукът сниман по-рядко
изходът y(n)
fs/2 = 2000 Hz
Пусни изхода. Розовият пунктир е fs/2. Под него линията се качва както трябва; над него се отразява като в огледало и слиза – чува се свирка, която тръгва надолу. При всеки 8-и отчет (2000 Hz) свирката прави няколко „зигзага“. Приближи входа: розовите стебла са отчетите, които остават.
Лъжливата честота (aliasing)
Защо свирката слиза? Да погледнем отблизо едно чисто трептене – синусоида, която трепти 9 Hz, снимана 10 пъти в секунда. От снимките тя изглежда като 1 Hz. Когато снимките са твърде редки, през същите точки минава и по-бавна вълна – и никой не може да каже коя е била.
Осцилоскоп: f = 9 Hz, fs = 10 Hz → видима честота 1 Hz
оригинал x(t), 9 Hz отчети x(nT₀) лъжлива 1 Hz
Честота на сигнала f = 9 Hz
Снимки в секунда fs = 10 Hz
Най-висока честота в сигнала W = 9 Hz
⚠ Твърде рядко (fs < 2·f): 9 Hz се преструва на 1 Hz (обърнат синус) – това е aliasing
fs < 2W: копията се застъпват → aliasing
оригинал |X(f)| копия около k·fs сума (това остава след АЦП) синусът ±9 Hz и копията му
а) Зеленият сигнал и розовите снимки; оранжевият пунктир е по-бавната вълна през същите точки. б) Снимането копира честотите около всяко кратно на fs; каквото падне под fs/2, това чуваме. Затова свирката над fs/2 „слиза“: тя е огледалният образ.
Пред-филтър и пост-филтър
Aliasing не може да се поправи след снимането: числата вече лъжат. Затова пред всеки АЦП има пред-филтър (antialiasing), който изрязва всичко над fs/2 преди снимането. Тогава горната част на свирката просто заглъхва – по-добре тишина, отколкото лъжлив тон.
На изхода пък ЦАП-ът има пост-филтър: той сглобява плавната линия от отчетите (без него би се чувало „стъпаловидно“ жужене). Тук пост-филтърът работи и в двата случая – разликата е само в пред-филтъра.
Входът: звукът, както е записан
входът x(n)
Изходът: звукът след АЦП и ЦАП
изходът y(n)
fs/2 = 2000 Hz
С пред-филтър линията свършва на розовия пунктир и няма огледален образ. Пусни и думата: при всеки 4-и отчет (4000 Hz) с филтър тя звучи глухо, като по стар телефон; без филтър – глухо и със съскащи „призраци“. Стъпката на снимане се сменя на фигура 2.
Квантуване
Освен времето, закръгляме и стойността: всеки отчет става най-близкото от 16 разрешени нива – това са 4 бита на отчет. Закръглянето винаги губи малко – и това се чува като шум. Сега сигналът е 14 dB по-силен от шума; всеки бит добавя около 6 dB (подробно – в тема 2).
Входът: звукът, както е записан
входът x(n)
Изходът: звукът закръглен
изходът y(n)
Пусни думата при 2–3 бита: чува се, но през силно съскане. При 8 бита (като стария телефон) почти не се различава. Приближи изхода – вижда се стълбицата от нива.
Апертура
Истинската „снимка“ не е мигновена: АЦП-ът мери за някакво време τ и взима средното. Това леко заглушава най-високите честоти.
ширина на импулса τ = 1·T₀
Апертурно отслабване: при fs/2 → −3,92 dB
|H(f)| = |sinc(f·τ)|
Колко пропуска една „широка“ снимка от всяка честота до fs/2. При τ = T₀ най-високата честота отслабва с ≈ 3,9 dB; при τ = 0,1·T₀ – почти без загуба.
Пиксели: картинката също се снима
Снимката е сигнал в две посоки: всеки пиксел е отчет. Ако пикселите са твърде редки за фините детайли, и тук се появява aliasing – назъбени ръбове и шарки, които ги няма. Взимаме всеки 4-и пиксел в двете посоки.
Само взимаме пиксела: перата стават на шарени петна, а тънките линии – на прекъснати точки (aliasing). Със средното всичко е размазано, но вярно – като пред-филтъра при звука. Снимка: Arpingstone, public domain.
Яркост и цвят: 4:2:0
Окото вижда детайла в светло-тъмното много по-добре, отколкото в оттенъка. Затова JPEG и видеото делят снимката на яркост Y и два цвята Cb, Cr – и пазят цвета по-рядко. При 4:2:0 остават 50 % от данните.
Целият детайл (перата, окото) е в яркостта; цветът сам е като размазан акварел. Сложени заедно, 4:2:0 не се различава от оригинала. Едва при цвят на 8×8 по ръбовете на перата се появяват цветни „ореоли“.
Самопроверка
1. Сигнал 7 kHz се снима с 8 kHz. Какво ще чуем?
|7 − 8| = 1 kHz. Затова в телефонията пред АЦП има филтър до 3,4 kHz.
2. Защо CD е 44,1 kHz, а не точно 2 · 20 = 40 kHz?
Истинският пред-филтър не реже като с нож – трябва му място между 20 и 22,05 kHz, за да спре.
3. Синус 5 Hz, сниман точно 10 пъти в секунда от t = 0. Какво записва АЦП?
Само нули – всяка снимка попада в нулата на синуса. Затова правилото е строго повече от 2 пъти. Пробвай „5 Hz @ 10 Hz“ на фигура 3.
4. Може ли aliasing да се махне с филтър след АЦП?
Не. След снимането 9 Hz и 1 Hz дават едни и същи числа. Единствената защита е филтър преди АЦП (фигура 4).
5. Колко данни остават при 4:2:0 и защо не се вижда разлика?
50 %: яркостта е цялата (1/3), а двата цвята – по 1/4 от своята трета. Окото вижда детайла в яркостта, а не в цвета.