English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

гость
1 / ?
назад к урокам

От идеального отклика к практическому фильтру

Хэмминг представил четырёхшаговый метод проектирования FIR-фильтров с использованием рядов Фурье.

Шаг 1: Укажите идеальный отклик

Определите H_ideal(f): именно ту частотную характеристику, которую вы хотите. Для фильтра нижних частот: H = 1 для f < f_c, H = 0 для f > f_c. Это функция-ступень в частотной области.

Шаг 2: Вычислите коэффициенты Фурье

Разложите H_ideal(f) в ряд Фурье по переменной частоты. Коэффициенты c_k — это значения импульсной характеристики фильтра:

c_k = ∫₀¹ H_ideal(f) · e^{i2πfk} df

Для фильтра нижних частот с частотой среза f_c: c_k = sin(2πf_c·k) / (πk) при k ≠ 0, c_0 = 2f_c.

Эта импульсная характеристика бесконечна — функция sinc простирается вечно во времени. Практический фильтр требует конечное количество коэффициентов.

Шаг 3: Усеките до 2N+1 членов

Оставьте только коэффициенты c_k для |k| ≤ N. Эта прямоугольная окна из 2N+1 членов — самое простое усечение. Оно производит феномен Гиббса: ≈9% перебросок вблизи частоты среза.

Шаг 4: Примените окно

Умножьте усечённые коэффициенты на оконную функцию w_k для уменьшения перебросков Гиббса:

c̃_k = c_k · w_k

Оконные коэффициенты c̃_k определяют практический фильтр.

Феномен Гиббса и оконные функции

Вычисление коэффициентов Фурье

Формула коэффициента Фурье c_k = sin(2πf_c·k) / (πk) для фильтра нижних частот с частотой среза f_c даёт импульсную характеристику.

Для полосового фильтра с нижней частотой среза f_l и верхней частотой среза f_u коэффициент Фурье идеального отклика равен: c_k = [sin(2πf_u·k) − sin(2πf_l·k)] / (πk).

Для фильтра нижних частот с частотой среза f_c = 1/4 вычислите коэффициенты Фурье c_k для k = 0, 1, 2 и −1. Используйте c_0 = 2f_c и c_k = sin(2πf_c·k)/(πk) для k ≠ 0. Покажите вычисление для каждого. Затем объясните, почему последовательность коэффициентов симметрична: c_k = c_{−k}.

Как окна уменьшают перебросок Гиббса

Оконная функция w_k сужает усечённую последовательность коэффициентов от центрального значения к нулю на краях. Сужение удаляет острые края, введённые прямоугольным усечением.

Почему сужение работает

Перебросок Гиббса возникает потому, что преобразование Фурье прямоугольного окна (функция sinc) имеет большие боковые лепестки. Эти боковые лепестки добавляются вместе вблизи разрыва, создавая ≈9% перебросок.

Гладкое окно имеет преобразование Фурье с меньшими боковыми лепестками. Умножение коэффициентов на окно свёртывает идеальный частотный отклик с преобразованием Фурье окна. Меньшие боковые лепестки → меньше пульсаций.

Распространённые окна

Прямоугольное (без окна): боковые лепестки ≈ −13 дБ, Гиббс ≈ 9%.

Ханна (фон Ханн): w_k = 0.5 + 0.5·cos(πk/N). Боковые лепестки ≈ −31 дБ.

Хэмминга: w_k = 0.54 + 0.46·cos(πk/N). Боковые лепестки ≈ −41 дБ, первый боковой лепесток ≈ −43 дБ. Гиббс < 0.2%.

Кайзера: w_k = I₀(α·√(1−(k/N)²)) / I₀(α). Настраиваемо: α управляет уровнем боковых лепестков, позволяя дизайну торговать высотой боковых лепестков на ширину переходной полосы.

Компромисс окна

Каждое окно налагает компромисс: подавление боковых лепестков всегда расширяет главный лепесток.

Более широкий главный лепесток означает более широкую переходную полосу — диапазон частот между полосой пропускания и полосой подавления.

Хэмминг формализовал это в терминах параметров дизайна Кайзера:

- δ: допустимая пульсация (вертикальный допуск от идеала — насколько отклик может отклониться от 0 или 1)

- ΔF: ширина переходной полосы (горизонтальный допуск — насколько узка переходная полоса от пропускания к подавлению)

Метод Кайзера находит как N (количество коэффициентов), так и α (параметр формы окна) только из δ и ΔF. Никаких угадываний типа окна.

Спецификация фильтра требует: пульсация в полосе пропускания ≤ 0.01 (δ = 0.01) и ширина переходной полосы ΔF = 0.05 (нормализовано). Второй фильтр требует: пульсация в полосе пропускания ≤ 0.001 (δ = 0.001) и то же самое ΔF = 0.05. Какой фильтр требует больше коэффициентов N? Объясните связь между допуском на пульсацию δ и порядком фильтра N в проектировании рядов Фурье.

От спецификаций к коэффициентам

Метод Кайзера берёт две спецификации — δ (допуск на пульсацию) и ΔF (ширина переходной полосы) — и производит как N, так и коэффициенты окна без метода проб и ошибок.

Последовательность дизайна

1. Вычислите A = −20·log₁₀(δ) (ослабление в дБ)

2. Вычислите параметр формы α:

- Если A > 50: α = 0.1102·(A − 8.7)

- Если 21 ≤ A ≤ 50: α = 0.5842·(A − 21)^{0.4} + 0.07886·(A − 21)

- Если A < 21: α = 0 (прямоугольное окно)

3. Вычислите N = (A − 8) / (2.285 · 2πΔF)

4. Вычислите веса окна Кайзера: w_k = I₀(α·√(1−(k/N)²)) / I₀(α)

5. Умножьте идеальные коэффициенты Фурье на веса окна

6. Оцените результирующую передаточную функцию и проверьте пульсацию на δ. Если пульсация превышает δ (интерференция на краях), повторите с меньшим допуском.

Хэмминг отметил: Кайзер пришёл к показателю степени 0.4, пробуя 0.5 (слишком большой) и обнаружив, что 0.4 хорошо подходит. Компьютер служил экспериментальным инструментом для теоретических исследований.

Применение метода Кайзера

Функция Бесселя I₀(x) появляется в формуле окна Кайзера. Она вычисляется как быстро сходящийся ряд:

I₀(x) = Σ_{m=0}^∞ [(x/2)^m / m!]²

Для малых x ряд сходится за несколько членов из-за m!² в знаменателе.

Фильтр нижних частот требует δ = 0.01 (пульсация 1%) и ΔF = 0.1 (10% частоты дискретизации как ширина переходной полосы). Используя формулу Кайзера: A = −20·log₁₀(0.01) = 40 дБ. Так как 21 ≤ 40 ≤ 50, используйте α = 0.5842·(A−21)^{0.4} + 0.07886·(A−21). Вычислите α. Затем используйте N = (A−8)/(2.285·2πΔF) для вычисления требуемого количества коэффициентов фильтра. Округлите N до ближайшего целого числа.