Дві умови, два коефіцієнти
Фільтр з k+1 вільними коефіцієнтами може задовольнити рівно k+1 умов на його передавальній функції. Геммінг продемонстрував це на найпростішому нетривіальному випадку: два коефіцієнти, дві умови.
Умови
- При f = 1/6: H(1/6) = 1 (ця частота проходить без змін)
- При f = 1/3: H(1/3) = 0 (ця частота повністю затримується)
Форма фільтра
Фільтр, що використовує два коефіцієнти a та b з входом x_n та одною затримкою:
y_n = a · x_n + b · x_{n−1}
Підстановка власної функції
Вхід e^{i2πfn}, вихід H(f) · e^{i2πfn}. Права частина дає:
H(f) · e^{i2πfn} = a · e^{i2πfn} + b · e^{i2πf(n−1)}
Розділіть обидві частини на e^{i2πfn}:
H(f) = a + b · e^{−i2πf}
Тепер застосуйте дві умови, щоб отримати два рівняння з двома невідомими.
Розв'язування для коефіцієнтів
Підставляючи f = 1/6 у H(f) = a + b·e^{−i2πf}:
1 = a + b·e^{−i2π/6} = a + b·(cos(−π/3) + i·sin(−π/3)) = a + b·(1/2 − i√3/2)
Підставляючи f = 1/3:
0 = a + b·e^{−i2π/3} = a + b·(−1/2 − i√3/2)
З цих двох рівнянь Геммінг розв'язав, щоб отримати a = 1/2, b = 1/2 — те ж саме, що трьохзраткове усереднення (з виходом на середній позиції).
Повний фільтр
Фільтр, який задовольняє обидві умови, має форму:
y_n = (x_{n−1} + x_n + x_{n+1}) / 2
Вихід у позиції n використовує попередній, поточний та наступний зразки входу.
Передавальна функція:
H(f) = (e^{i2πf} + 1 + e^{−i2πf}) / 2 = (2cos(2πf) + 1) / 2 = cos(2πf) + 1/2
Перевірка:
- H(1/6) = cos(π/3) + 1/2 = 1/2 + 1/2 = 1 ✓
- H(1/3) = cos(2π/3) + 1/2 = −1/2 + 1/2 = 0 ✓
На інших частотах: H(0) = 1 + 1/2 = 3/2 (проходить постійну складову з посиленням), H(1/2) = −1 + 1/2 = −1/2.
Розуміння: цифровий фільтр реалізує програмно те, що аналоговий RC-фільтр реалізує апаратно. Вибір коефіцієнтів контролює частотну характеристику аналітично.
Передавальна функція на кількох частотах
Передавальна функція H(f) = cos(2πf) + 1/2 застосовується на кожній частоті, а не лише на двох точках проектування.
Відкриття Гіббса
Геммінг розповідав історію про Майкельсона — того самого Майкельсона з експерименту Майкельсона-Морлі — який побудував аналогову машину для обчислення рядів Фур'є до 75 членів. Коли він реконструював розривну функцію з її коефіцієнтів, машина показала стійкий переріг біля стрибка.
Майкельсон запитав місцевих математиків. Вони звинувачували обладнання. Тільки Гіббс слухав.
Явище Гіббса: коли ряд Фур'є, усічений до N членів, наближає ступеневу розривність, наближення перевищує приблизно на 8,9% висоти стрибка — і цей переріг НЕ зменшується зі збільшенням N. Більше членів звужує шип перериву, але ніколи його не усуває.
Математично: N-членний ряд Фур'є сходиться поточково скрізь, крім розривності. На розривності часткові суми сходяться до середини стрибка, але максимум часткової суми біля стрибка прагне до 1,0895 (для одиничного стрибка), а не до 1,0.
Чому це важливо для фільтрів
Ідеальний низькочастотний фільтр має ступневу передавальну функцію: H(f) = 1 при f < f_c, H(f) = 0 при f > f_c. Ця розривність між смугою пропускання та смугою затримання означає, що будь-який скінченнодовжинний фільтр (усічений ряд Фур'є) проявляє гіббсівський коливається в його частотній характеристиці.
Наслідок: розроблення усічених рядів Фур'є самостійно виробляє фільтри з приблизно 9% коливанням в смузі пропускання та смузі затримання, незалежно від того, скільки коефіцієнтів використовується.
Наслідки явища Гіббса
Геммінг використав цей результат для мотивування вікнових функцій: множення ідеальних коефіцієнтів Фур'є на плавно звужувальне вікно різко зменшує гіббсівський переріг.
Вікно Геммінга: w_k = 0,54 + 0,46·cos(πk/N). Це вікно зменшує гіббсівське коливання до менш ніж 0,2%.
Компроміс: віконування згладжує перехід, але розширює смугу переходу. Гострий зріз завжди вимагає більше коефіцієнтів.