Сигнал и отчети
Звукът е бързо трептене на въздуха. Микрофонът го превръща в напрежение, а компютърът го снима 16 000 пъти в секунда – всяка снимка е един отчет, едно число. Цифровият филтър получава тези числа едно по едно и за всяко връща ново число.
Входът: звукът, както е записан
входът x(n)
Думата „Здравей“, казана от човек (запис от Lingua Libre). Пусни я, пробвай другите звуци или запиши свой звук (колкото искаш дълъг, до 30 s). Приближи вълната (+ в ъгъла или влачи с мишката) – отблизо се виждат самите отчети, по 16 на всяка милисекунда.
Закъснение z⁻¹
Най-простият филтър просто чака: изходът е входът отпреди k отчета, y(n) = x(n − k). Закъснение с 200 ms значи k = 3200 отчета. В схемите едно закъснение с един отчет се рисува като кутийка z⁻¹ – това е просто една клетка памет.
Входът: звукът, както е записан
входът x(n)
Изходът: звукът със закъснение
изходът y(n)
Изходът е същият звук, само по-късно. Закъснението не променя звука – мести го във времето.
Импулсна характеристика и конволюция
Да добавим към звука и ехото му: y(n) = x(n) + 0,6 · x(n − D), където ехото идва след 250 ms.
Какво прави този филтър с едно-единствено пляскане (импулс)? Връща пляскането и ехото му – две стебла. Това е импулсната характеристика h(n) – „отпечатъкът“ на филтъра. А за всеки друг вход изходът е сума от такива отпечатъци: всеки отчет на входа пуска свое копие на h(n). Това сумиране се казва конволюция.
Импулсна характеристика h(n): какво прави системата с едно пляскане
h(n)
Входът: звукът, както е записан
входът x(n)
Изходът: звукът с ехото
изходът y(n)
Горе – отпечатъкът h(n): самият импулс в 0 ms и ехото му. Долу – думата през филтъра: всяка частица от нея получава свое ехо – това е конволюцията. Пробвай и мелодията.
Диференчно уравнение: нерекурсивен (КИХ) филтър
Формулата, която процесорът смята за всеки нов отчет, се казва диференчно уравнение. Когато изходът зависи само от входа, филтърът е нерекурсивен, или КИХ – с крайна импулсна характеристика: отпечатъкът свършва след последния коефициент.
Пример: средното от последните 8 отчета (≈ 0,5 ms). Средното изглажда бързите трептения – звукът става по-глух.
h(n): N еднакви стебла по 1/N
h(n)
Входът: звукът, както е записан
входът x(n)
Изходът: звукът изгладен
изходът y(n)
Горе – отпечатъкът: N еднакви стебла, всяко 1/N, и после нищо. Пусни тона 440 Hz и дръпни N до 36: тогава средното обхваща точно един период на тона (≈ 2,3 ms) и тонът почти изчезва (−40 dB). Пляскането пък става все по-глухо.
Обратна връзка: рекурсивен (БИХ) филтър
Сега част от изхода се връща обратно на входа: y(n) = x(n) + 0,6 · y(n − D), с D = 150 ms. Тогава ехото пак влиза във филтъра и дава ново ехо, а то – още едно: всяко ехо е 0,6 от предишното – ехата затихват.
Такъв филтър е рекурсивен, или БИХ – с безкрайна импулсна характеристика: теоретично ехата продължават вечно. Той може да е неустойчив: ако обратната връзка е по-силна от 1, всяко ехо е по-силно от предишното.
Импулсна характеристика h(n): какво прави системата с едно пляскане
h(n)
Входът: звукът, както е записан
входът x(n)
Изходът: звукът с обратната връзка
изходът y(n)
Горе – отпечатъкът: стебла на всеки D ms, всяко g пъти по-голямо от предишното. При отрицателно g знакът се сменя на всяко ехо. Дръпни g над 1 – изходът избухва.
Полюси, нули и устойчивост
Диференчното уравнение може да се запише като дроб – предавателна функция H(z). Корените на знаменателя са полюсите ×, корените на числителя – нулите ○. Нанасяме ги на карта с кръг с радиус 1, и картата казва всичко за филтъра.
Двойка полюси е резонатор: пляскането през него звъни като камбанка. Под ъгъл 30° звънът е на 1330 Hz; на разстояние 0,995 от центъра звънти около 57 ms.
ПНД – полюсно-нулева диаграма
✓ Устойчива – всички полюси са вътре в кръга (max |p| = 0,995)
Хвани × или ○ и го премести. Посочиш ли честота в АЧХ, тя светва като точка по окръжността.
Кои честоти пропуска (АЧХ)
ЛАЧХ
Рекурсивна (БИХ) – има обратна връзка
ДУ:
ПФ:
Входът: звукът, както е записан
входът x(n)
Изходът: звукът през резонатора
изходът y(n)
Влачи × по кръга – ъгълът сменя тона (върхът в АЧХ се мести), а разстоянието до ръба – колко дълго звъни. Изкарай × навън: звукът расте без край. Пусни след всяка промяна.
Схемни реализации
| Тухличка | Какво прави |
|---|---|
| Умножител (триъгълник) | умножава по коефициент |
| Суматор (кръг с +) | събира сигнали |
| Закъснение () | помни стойността до следващия отчет |
Същата H(z) може да се построи по различни начини. Кога коя се ползва:
| Структура | Идея | Кога |
|---|---|---|
| Директна форма I / II | всички коефициенти в един блок (II споделя закъсненията → минимум памет) | проста, но чувствителна към закръгляне |
| Каскадна | верига от малки звена от 2-ри ред | най-често – малка чувствителност (виж тема 7) |
| Паралелна | сума от малки звена | независими звена, паралелна обработка |
| КИХ с линейна ФЧХ | симетрични коефициенти се събират преди умножението | наполовина по-малко умножители |
Самопроверка
1. y(n) = x(n) + 0,5y(n−1). КИХ или БИХ? Устойчива ли е?
БИХ (има обратна връзка); полюс , вътре в окръжността → устойчива; .
2. Знаменател 1 − 2,5z⁻¹ + z⁻² – устойчив ли е?
Полюсите са 2 и 0,5; полюсът 2 е извън окръжността → неустойчив. (А при 1 − 1,2z⁻¹ + 0,35z⁻² полюсите са 0,7 и 0,5 → устойчив.)
3. Какво значи z⁻¹ в блоковата схема?
Закъснение с един отчет (регистър/памет).