Skip to content
ЦОС · Тема 3 · Цифрови филтри

Импулсна характеристика и z-област

В целия урок слушаме една и съща дума – „Здравей“ – и я пускаме през различни цифрови филтри. Всеки филтър е правило, което от входните отчети прави изходни – а цялото му поведение се вижда от това, какво прави с едно-единствено пляскане.

≈ 5 мин четене∿ 6 живи уредаСамопроверка: 3 въпроса

Сигнал и отчети ​

Звукът е бързо трептене на въздуха. Микрофонът го превръща в напрежение, а компютърът го снима 16 000 пъти в секунда – всяка снимка е един отчет, едно число. Цифровият филтър получава тези числа едно по едно и за всяко връща ново число.

Входът
Входът: звукът, както е записан
020040060080010001200−101t – време, msx
входът x(n)
Фигура 1.

Думата „Здравей“, казана от човек (запис от Lingua Libre). Пусни я, пробвай другите звуци или запиши свой звук (колкото искаш дълъг, до 30 s). Приближи вълната (+ в ъгъла или влачи с мишката) – отблизо се виждат самите отчети, по 16 на всяка милисекунда.

Закъснение z⁻¹ ​

Най-простият филтър просто чака: изходът е входът отпреди k отчета, y(n) = x(n − k). Закъснение с 200 ms значи k = 3200 отчета. В схемите едно закъснение с един отчет се рисува като кутийка z⁻¹ – това е просто една клетка памет.

Закъснение
Входът: звукът, както е записан
020040060080010001200−101t – време, msx
входът x(n)
Изходът: звукът със закъснение
020040060080010001200−101t – време, msy
изходът y(n)
Фигура 2.

Изходът е същият звук, само по-късно. Закъснението не променя звука – мести го във времето.

Импулсна характеристика и конволюция ​

Да добавим към звука и ехото му: y(n) = x(n) + 0,6 · x(n − D), където ехото идва след 250 ms.

Какво прави този филтър с едно-единствено пляскане (импулс)? Връща пляскането и ехото му – две стебла. Това е импулсната характеристика h(n) – „отпечатъкът“ на филтъра. А за всеки друг вход изходът е сума от такива отпечатъци: всеки отчет на входа пуска свое копие на h(n). Това сумиране се казва конволюция.

Ехо
Импулсна характеристика h(n): какво прави системата с едно пляскане
0200400600−101време, msh
h(n)
Входът: звукът, както е записан
020040060080010001200−101t – време, msx
входът x(n)
Изходът: звукът с ехото
020040060080010001200−101t – време, msy
изходът y(n)
Фигура 3.

Горе – отпечатъкът h(n): самият импулс в 0 ms и ехото му. Долу – думата през филтъра: всяка частица от нея получава свое ехо – това е конволюцията. Пробвай и мелодията.

Диференчно уравнение: нерекурсивен (КИХ) филтър ​

Формулата, която процесорът смята за всеки нов отчет, се казва диференчно уравнение. Когато изходът зависи само от входа, филтърът е нерекурсивен, или КИХ – с крайна импулсна характеристика: отпечатъкът свършва след последния коефициент.

Пример: средното от последните 8 отчета (≈ 0,5 ms). Средното изглажда бързите трептения – звукът става по-глух.

Плъзгаща средна
h(n): N еднакви стебла по 1/N
−10−50−101време, msh
h(n)
Входът: звукът, както е записан
020040060080010001200−101t – време, msx
входът x(n)
Изходът: звукът изгладен
020040060080010001200−101t – време, msy
изходът y(n)
Фигура 4.

Горе – отпечатъкът: 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): какво прави системата с едно пляскане
02004006008001000−101време, msh
h(n)
Входът: звукът, както е записан
020040060080010001200−101t – време, msx
входът x(n)
Изходът: звукът с обратната връзка
020040060080010001200−101t – време, msy
изходът y(n)
Фигура 5.

Горе – отпечатъкът: стебла на всеки D ms, всяко g пъти по-голямо от предишното. При отрицателно g знакът се сменя на всяко ехо. Дръпни g над 1 – изходът избухва.

Полюси, нули и устойчивост ​

Диференчното уравнение може да се запише като дроб – предавателна функция H(z). Корените на знаменателя са полюсите ×, корените на числителя – нулите ○. Нанасяме ги на карта с кръг с радиус 1, и картата казва всичко за филтъра.

Двойка полюси е резонатор: пляскането през него звъни като камбанка. Под ъгъл 30° звънът е на 1330 Hz; на разстояние 0,995 от центъра звънти около 57 ms.

Резонатор: полюсите звънят
ПНД – полюсно-нулева диаграма
−1−0,50,51−1−0,50,51Re zIm z2
✓ Устойчива – всички полюси са вътре в кръга (max |p| = 0,995)

Хвани × или ○ и го премести. Посочиш ли честота в АЧХ, тя светва като точка по окръжността.

Кои честоти пропуска (АЧХ)
00,20,40,60,81−40−200Ω/π (1 = fd/2)|H|, dB
ЛАЧХ
Рекурсивна (БИХ) – има обратна връзка
ДУ:y(n)=x(n)+1,72 y(n−1)−0,99 y(n−2)y(n) = x(n) + 1{,}72\,y(n-1) - 0{,}99\,y(n-2)
ПФ:H(z)=11−1,72 z−1+0,99 z−2H(z) = \dfrac{1}{1 - 1{,}72\,z^{-1} + 0{,}99\,z^{-2}}
Входът: звукът, както е записан
020040060080010001200−101t – време, msx
входът x(n)
Изходът: звукът през резонатора
0200400600800100012000t – време, msy
изходът y(n)
Фигура 6.

Влачи × по кръга – ъгълът сменя тона (върхът в АЧХ се мести), а разстоянието до ръба – колко дълго звъни. Изкарай × навън: звукът расте без край. Пусни след всяка промяна.

Схемни реализации ​

ТухличкаКакво прави
Умножител (триъгълник)умножава по коефициент
Суматор (кръг с +)събира сигнали
Закъснение (z−1z^{-1})помни стойността до следващия отчет

Същата H(z) може да се построи по различни начини. Кога коя се ползва:

СтруктураИдеяКога
Директна форма I / IIвсички коефициенти в един блок (II споделя закъсненията → минимум памет)проста, но чувствителна към закръгляне
Каскаднаверига от малки звена от 2-ри реднай-често – малка чувствителност (виж тема 7)
Паралелнасума от малки звенанезависими звена, паралелна обработка
КИХ с линейна ФЧХсиметрични коефициенти се събират преди умножениетонаполовина по-малко умножители

Самопроверка ​

1. y(n) = x(n) + 0,5y(n−1). КИХ или БИХ? Устойчива ли е?

БИХ (има обратна връзка); полюс z=0,5z = 0{,}5, вътре в окръжността → устойчива; h(n)=0,5nh(n) = 0{,}5^n.

2. Знаменател 1 − 2,5z⁻¹ + z⁻² – устойчив ли е?

Полюсите са 2 и 0,5; полюсът 2 е извън окръжността → неустойчив. (А при 1 − 1,2z⁻¹ + 0,35z⁻² полюсите са 0,7 и 0,5 → устойчив.)

3. Какво значи z⁻¹ в блоковата схема?

Закъснение с един отчет (регистър/памет).