Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦОС шпора.docx
Скачиваний:
104
Добавлен:
28.10.2018
Размер:
12.79 Mб
Скачать

18. Алгоритм цифровой фильтрации на основе дпф.

ДПФ как дискретная фильтрация. ДПФ можно трактовать как обработку сигнала фильтром с соответствующей импульсной характеристикой (ИХ). Эту ИХ можно получить, если заметить, что  при целых n. С учётом этого формула прямого ДПФ запишется как: . Это есть дискретная сверка: т.е. N-й отсчёт результата обработки входного сигнала  фильтром с ИХ такого вида: Разумеется для каждого частотного отсчёта ИХ своя, чтобы это подчеркнуть в h мы использовали индекс n. Найдем частотную характеристику такого фильтра. Для этого сначала получим функцию передачи . . Воспользуемся формулой суммы конечной геометрической прогрессии: .. Чтобы рассчитать частотную характеристику используем подстановку . . После несложных тригонометрических преобразований можно получить: . где .

Функция вида  называется функцией Дирихле: ,

где n – целое положительное число. . Так выглядит АЧХ одного из каналов (3го) ДПФ при  (частотная ось в номерах каналов). Т.е. АЧХ фильтра, реализуемого при вычислении ДПФ – это гребёнка (набор) фильтров. Их АЧХ имеет уровень первого бокового лепестка примерно . При  это выражение стремится к .

.

Алгоритм Герцеля (Hoertzel). Функция передачи отдельного канала ДПФ соответствует рекурсивному фильтру N-го порядка: . Алгоритм вычисления отдельного отсчёта можно организовать только с помощью такого фильтра. Бывают случаи, когда нужно вычислить только некоторые отсчёты ДПФ, тогда такой алгоритм предпочтительнее, чем БПФ, принципиально ориентированное на получение срезу всех отсчётов БПФ. Для практического использования последнюю формулу модифицируют. Прежде всего, заметим, что слагаемое  в числителе выполняет лишь роль “ограничителя”. Оно “заставляет” ИХ закончится, достигнув длины N отсчётов. Такой фильтр вычисляет отсчёт мгновенного спектра сигнала, всё время используя последние N отсчётов входного сигнала. Если же мы будем обрабатывать сигнал порциями по N отсчётов, перед каждым поступлением новой порции обнуляя фильтр, то конечность длины ИХ не будет иметь значения. В этом случае можно удалить слагаемое  из числителя , получив рекурсивный фильтр 1-го порядка: . Далее, коэффициент обратной связи в рекурсивной ветви данного фильтра является комплексным. Поэтому при обработке каждого входного отсчёта нужно выполнить четыре вещественных умножения и столько же сложений. Число операций можно сократить, умножив числитель и знаменатель  на  и перейдя к фильтру второго порядка: . Рекурсивная часть фильтра теперь имеет чисто вещественные коэффициенты, к тому же коэффициент при  равен единице. Поэтому при обработке каждого отсчёта в рекурсивной ветви фильтра надо выполнить всего одно вещественное умножение и два вещественных сложения. В рекурсивной ветви фильтра комплексные коэффициенты исчезли, но появились в числители (не рекурсивной ветви). Однако если организовать фильтр в канонической форме (пока мы не говорили, что это такое), то расчёты будут выполняться сначала в рекурсивной ветви, а потом в не рекурсивной. И тогда комплексное умножение и сложение в числителе будет выполняться только один раз – для получения окончательного результата. Полученная структура фильтра показана на рисунке. Данный способ вычисления отдельного спектрального отсчёта называется алгоритмом Герцеля (Hoertzel).

Для вычисления одного спектрального отсчёта по алгоритму Герцеля требуется  вещественных умножений и  вещественных сложений. Если число вычисляемых спектральных отсчётов невелико, то этот алгоритм оказывается эффективнее, чем расчёт всех спектральных отсчётов с помощью БПФ.