logo
Конспект лекций ПТТ

Лекция 5 - Цифровая обработка сигналов (квантование, цифровая фильтрация).

Цифрова́я обрабо́тка сигна́лов (ЦОС, DSP — англ. digital signal processing) — преобразование сигналов, представленных в цифровой форме.

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

Любой непрерывный (аналоговый) сигнал может быть подвергнут дискретизации по времени и квантованию по уровню (оцифровке), то есть представлен в цифровой форме. Если частота дискретизации сигнала не меньше, чем удвоенная наивысшая частота в спектре сигнала (то есть ), то полученный дискретный сигнал эквивалентен сигналу по методу наименьших квадратов (МНК) (см.: Теорема Котельникова).

При помощи математических алгоритмов преобразуется в некоторый другой сигнал , имеющий требуемые свойства. Процесс преобразования сигналов называется фильтрацией, а устройство, выполняющее фильтрацию, называется фильтр. Поскольку отсчёты сигналов поступают с постоянной скоростью , фильтр должен успевать обрабатывать текущий отсчет до поступления следующего (чаще — до поступления следующих n отсчётов, где n — задержка фильтра), то есть обрабатывать сигнал в реальном времени. Для обработки сигналов (фильтрации) в реальном времени применяют специальные вычислительные устройства — цифровые сигнальные процессоры.

Всё это полностью применимо не только к непрерывным сигналам, но и к прерывистым, а также к сигналам, записанным на запоминающие устройства. В последнем случае скорость обработки непринципиальна, так как при медленной обработке данные не будут потеряны.

Различают методы обработки сигналов во временной (англ. time domain) и в частотной (англ. frequency domain) области. Эквивалентность частотно-временных преобразований однозначно определяется через преобразование Фурье.

Обработка сигналов во временной области широко используется в современной электронной осциллографии и в цифровых осциллографах. Для представления сигналов в частотной области используются цифровые анализаторы спектра. Для изучения математических аспектов обработки сигналов используются пакеты расширения (чаще всего под именем Signal Processing) систем компьютерной математики MATLAB, Mathcad, Mathematica, Maple и др.

В последние годы при обработке сигналов и изображений широко используется новый математический базис представления сигналов с помощью «коротких волночек» — вейвлетов. С его помощью могут обрабатываться нестационарные сигналы, сигналы с разрывами и иными особенностями и сигналы в виде пачек.

Квантование (англ. quantization) — в информатике разбиение диапазона значений непрерывной или дискретной величины на конечное число интервалов. Существует также векторное квантование — разбиение пространства возможных значений векторной величины на конечное число областей. Простейшим видом квантования является деление целочисленного значения на натуральное число, называемое коэффициентом квантования.

Квантованный сигнал

Не следует путать квантование с дискретизацией (и, соответственно, шаг квантования с частотой дискретизации). При дискретизации изменяющаяся во времени величина (сигнал) замеряется с заданной частотой (частотой дискретизации), таким образом, дискретизация разбивает сигнал по временной составляющей (на графике — по горизонтали). Квантование же приводит сигнал к заданным значениям, то есть, разбивает по уровню сигнала (на графике — по вертикали). Сигнал, к которому применены дискретизация и квантование, называется цифровым.

Квантование часто используется при обработке сигналов, в том числе при сжатии звука и изображений.

При оцифровке сигнала уровень квантования называют также глубиной дискретизации или битностью. Глубина дискретизации измеряется в битах и обозначает количество бит, выражающих амплитуду сигнала. Чем больше глубина дискретизации, тем точнее цифровой сигнал соответствует аналоговому. В случае однородного квантования глубину дискретизации называют также динамическим диапазоном и измеряют в децибелах (1 бит ≈ 6 дБ).

Виды квантования:

Однородное (линейное) квантование — разбиение диапазона значений на отрезки равной длины. Его можно представлять как деление исходного значения на постоянную величину (шаг квантования) и взятие целой части от частного: .

Квантование по уровню — представление величины отсчётов цифровыми сигналами. Для квантования в двоичном коде диапазон напряжения сигнала от до делится на интервалов. Величина получившегося интервала (шага квантования):

Каждому интервалу присваивается -разрядный двоичный код — номер интервала, записанный двоичным числом. Каждому отсчёту сигнала присваивается код того интервала, в который попадает значение напряжения этого отсчёта. Таким образом, аналоговый сигнал представляется последовательностью двоичных чисел, соответствующих величине сигнала в определённые моменты времени, то есть цифровым сигналом. При этом каждое двоичное число представляется последовательностью импульсов высокого (1) и низкого (0) уровня.

При фильтрации во временной области каждый элемент исходного сигнала заменяется последовательностью элементов, пропорциональных ему по амплитуде, но сдвинутых по времени, сумма этих элементов образует новый сигнал.

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

После аналоговой фильтрации, АЦ-преобразования и ввода данных в компьютер выполняется цифровая фильтрация. Цифровая фильтрация обладает большой гиб­костью, поскольку характеристики фильтра можно изменить, просто задав новые па­раметры соответствующей ему программы. В отличие от аналоговых, цифровые фильтры хорошо работают с длительными постоянными сигналами.

В общем виде цифровой фильтр (digital filter) можно представить как

где hэто интервал выборки, — отфильтрованный выход, а у — вход. Заметим, что аргументkh, по смыслу представляющий из себя время, можно рассматривать и про­сто как номер (k) в последовательности входных значений. Если все коэффициенты ai равны нулю, то такой фильтр называется фильтром скользящего среднего (Moving AverageMA) с конечной импульсной характеристикой. Это означает, что если в те­чение некоторого времени все последовательные значения yi кроме одного, равны нулю, то на выходе фильтра сигнал будет отличен от нуля только на т временных интервалах. Если некоторые либо все коэффициенты ai не равны нулю, то такой фильтр называется авторегрессивным (AutoRegressiveAR) и имеет бесконечную импульсную характеристику. Другими словами, входной сигнал, отличающийся от нуля только на одном временном интервале, вызовет появление на выходе сигнала, отличного от нуля в течение бесконечно долгого времени. Обобщенный фильтр, опи­сываемый уравнением (5.9), называется авторегрессивным фильтром скользящего среднего (AutoRegressive Moving AverageARMA).

Фильтры могут быть "причинными" и "непричинными". Причинный (causal) фильтр вычисляет выходное значение на основании ранее введенных данных (в любой момент t0 учитываются входные значения только для t < t0). Поэтому все фильтры реального времени (on-line) являются причинными. Последовательность отфильтрованных значений на выходе будет отставать на некоторое время по сравнению с по­следовательностью на входе. Если данные обрабатываются в автономном режиме (off-line), например при анализе серии значений уже собранных измерений, можно использовать непричинный (non-causal) фильтр. В этом случае расчет для момента времени t0 можно производить на основе как предыдущих (t < t0), так и последующих (t >t0) значений.

Цифровые фильтры низкой частоты

Для того чтобы исследовать медленно изменяющийся входной сигнал, необходи­мо удалить из измерительных данных случайные пики и высокочастотные наводки, которые не содержат какой-либо полезной информации. Это можно сделать с помо­щью цифрового фильтра низкой частоты (digital low pass filter). Структура цифрово­го фильтра, который эффективно удаляет резкие колебания сигнала и в то же время не влияет на медленные изменения, всегда компромиссна, потому что частотные ди­апазоны исходного и постороннего сигналов обычно пересекаются. Как и у аналоговых фильтров, динамика фильтра высокого порядка более эффективна для удаления нежелательных высоких частот.

Два наиболее важных типа ФНЧ — скользящего среднего и экспоненциального сглаживания (exponential smoothing). ФНЧ, используемые в промышленности, почти всегда базируются на одном из этих простых фильтров.

Пример.Фильтр скользящего среднего — простейший ФНЧ.

Простой фильтр скользящего среднего получается, если принять все пара­метры ai в уравнении (5.9) равными нулю. Если необходимо простое усредне­ние, то все весовые коэффициенты bi равны и дают в сумме единицу. Например, фильтр скользящего среднего с пятью входными отсчетами имеет вид

Если операция фильтрации производится не в режиме реального времени, то величину скользящего среднего можно подсчитать, используя измерения как до, так и после заданного момента времени kh. В этом случае отфильтрованное значе­ние не отстает по времени относительно входных значений. Непричинный про­стой фильтр скользящего среднего по пяти значениям имеет вид

Если величина на выходе представляет собой усреднение по последним п выборкам, то она смещается на 1 + п/2 циклов. При больших значениях п вы­ходной сигнал становится более гладким, но при этом все больше отстает по времени. Импульсная характеристика фильтра скользящего среднего конечна. Для входного импульса в момент t = 0 выходной сигнал после момента t = п становится нулевым.

Скользящее среднее — это простой метод, но он имеет определенные ограни­чения. При использовании одинаковых коэффициентов фильтр может быть из­лишне инертным и недостаточно быстро реагировать на реальные изменения во входном сигнале. С другой стороны, если коэффициенты различны и убывают для больших значений индекса n, то это затрудняет анализ свойств фильтра.

Экспоненциальный фильтр (exponential filter) — это авторегрессионный фильтр скользящего среднего первого порядка, определяемый следующим уравнением

Отфильтрованное значение у(kh) вычисляется суммированием предыдущего значе­ния отфильтрованного сигнала y[(k -1)h] и последнего значения y(kh) измерительного сигнала с весовыми коэффициентами. Коэффициент a лежит в интервале меж­ду 0 и 1. Уравнение (5.10) можно переписать в виде

т. е. экспоненциальный фильтр уточняет отфильтрованное значение на выходе сразу, как только на вход поступает новое значение. Это уточнение невелико и становится еще меньше для значений а, близких к 1; в этом случае появляется эффект инерционности. Уменьшение шумовых компонентов выходного сигнала происходит за счет слабого со­ответствия с реальными изменениями на входе. При а, близком к нулю, величина по­правки растет. Соответственно, фильтрация шума уменьшится, однако изменения ис­ходного сигнала будут отслеживаться более точно. При a = 0 сигнал на выходе идентичен сигналу на входе. Влияние величины а на реакцию фильтра при скачке зашумленного входного сигнала проиллюстрировано на рис. 3.19.

Цифровые фильтры низкой частоты высоких порядков

Аналоговый фильтр второго порядка более эффективен для подавления высокочастотных компонентов, чем фильтр первого порядка (раздел 5.3.2). Цифровой фильтр со структурой, определяемой уравнением (5.9), при п = т = 2 соответствует аналоговому фильтру второго порядка. Соединив последовательно два экспоненциальных фильтра первого порядка, получим фильтр второго порядка с двумя одина­ковыми частотами среза

где у — значение входного сигнала, у1 выходной сигнал первого фильтра, а у2 — выходной сигнал второго фильтра. Свойства фильтра определяются параметром а. Если исключить переменную y1(kh), то цифровой фильтр второго порядка можно записать в следующем виде

Результат применения фильтра второго порядка к сигналу, изображенному на рис. 3.19, показан на рис. 3.20. Фильтр второго порядка эффективнее подавляет высокие частоты, поэтому можно выбрать меньшее значение а. Выходной сигнал этого фильтра точнее соответствует изменениям входного сигнала, чем у фильтра первого порядка.

Влияние экспоненциального фильтра второго порядка при разных значени­ях параметра а

Цифровые фильтры высокой частоты

В некоторых случаях необходимо выделить высокочастотные компоненты сигналa, а не плавные изменения. Поэтому сигнал должен быть обработан фильтром высо­кой частоты. Разностная схема — это простой пример цифрового фильтра высокой частоты (digital high pass filter)

Выходной сигнал отличен от нуля только тогда, когда есть изменения во входном сигнале.

Цифровой ФВЧ можно также получить разностной аппроксимацией аналогового ФВЧ.

Соответствующее дифференциальное уравнение аналогично равнению

де у — это входной сигнал, а у — выходной.

Применив к этому уравнению аппроксимацию разностями "вперед", получим цифровой ФВЧ

Преимущества:

Преимуществами цифровых фильтров перед аналоговыми являются:

Высокая точность (точность аналоговых фильтров ограничена допусками на элементы).

Стабильность (в отличие от аналогового фильтра передаточная функция не зависит от дрейфа характеристик элементов).

Гибкость настройки, лёгкость изменения.

компактность — аналоговый фильтр на очень низкую частоту (доли герца, например) потребовал бы чрезвычайно громоздких конденсаторов или индуктивностей.

[править]

Недостатки:

Недостатками цифровых фильтров по сравнению с аналоговыми являются:

Трудность работы с высокочастотными сигналами. Полоса частот ограничена частотой Найквиста, равной половине частоты дискретизации сигнала. Поэтому для высокочастотных сигналов применяют аналоговые фильтры, либо, если на высоких частотах нет полезного сигнала, сначала подавляют высокочастотные составляющие с помощью аналогового фильтра, затем обрабатывают сигнал цифровым фильтром.

Трудность работы в реальном времени — вычисления должны быть завершены в течение периода дискретизации.

Для большой точности и высокой скорости обработки сигналов требуется не только мощный процессор, но и дополнительное, возможно дорогостоящее, аппаратное обеспечение в виде высокоточных и быстрых ЦАП и АЦП.

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4