
- •1. Содержание дисциплины
- •2. Тематика практических работ Работы выполняются на компьютерах по типовым программам с заданием индивидуальных параметров моделирования, расчетов и обработки данных для каждого студента группы.
- •Содержание
- •1.1. Общие сведения и понятия [1,10, 15, 25]
- •Содержание
- •1.2. Типы сигналов [1,10,15]
- •1.3. Системы преобразования сигналов [1, 9, 14, 18]
- •1.4. Информационная емкость сигналов [10,12,28]
- •Литература
- •Содержание
- •Введение
- •2.1. Пространство сигналов [1,3,16,29].
- •2.2. Мощность и энергия сигналов [1, 3, 16].
- •2.3. Пространства функций [1,3,11,16,29].
- •2.4. Функции корреляции сигналов [1, 25, 29].
- •2.5. Математическое описание шумов и помех [1, 30].
- •Литература
- •Содержание
- •Введение
- •3.1. Разложение сигналов по единичным импульсам [1, 11].
- •3.2. Свертка (конволюция) сигналов [1, 11].
- •Литература
- •Содержание
- •Введение
- •5.1. Мощность и энергия сигналов [1,3,16].
- •5.2. Энергетические спектры сигналов [1].
- •Литература
- •Содержание
- •Введение
- •6.1. Автокорреляционные функции сигналов [1,25].
- •6.2. Взаимные корреляционные функции сигналов [1,19].
- •6.3. Спектральные плотности корреляционных функций [1,25].
- •Литература
- •Лекция 8. Дискретизация сигналов Содержание
- •Введение.
- •7.1. Задачи дискретизации функций [10, 21].
- •7.2. Равномерная дискретизация [16,21].
- •7.3. Дискретизация по критерию наибольшего отклонения [10].
- •7.4. Адаптивная дискретизация [10].
- •7.5. Квантование сигналов [5,21].
- •7.6. Децимация и интерполяция данных [4,5,17].
- •Литература
- •Содержание
- •Введение
- •8.1. Преобразование Фурье [5,17,21].
- •8.2. Преобразование Лапласа.
- •8.4. Дискретная свертка (конволюция) [5,17,21].
- •Литература
- •Содержание
- •Введение.
- •9.1. Случайные процессы и функции [1, 2, 25].
- •9.2. Функции спектральной плотности [2,25,26].
- •9.3. Преобразования случайных функций [1, 26, 27].
- •9.4. Модели случайных сигналов и помех [2, 28].
- •Литература
8.4. Дискретная свертка (конволюция) [5,17,21].
Свертка – основной процесс в цифровой обработке сигналов. Поэтому важно уметь эффективно ее вычислять.
Уравнение дискретной свертки двух функций (сигналов) может быть получено непосредственно из интегрального уравнения свертки при замене интегрирования суммированием мгновенных значений функций с шагом t:
y(kt)
= th(nt)
s(kt-nt).
(8.4.1)
При выполнении дискретной свертки мы имеем дело с цифровыми массивами, при этом шаг дискретизации для массивов по физическому аргументу свертки должен быть равным и принимается за 1, а в качестве аргумента используется нумерация отсчетов в массивах:
y(k) =h(n)
s(k-n)
hn
sk-n
yk.
(8.4.1')
y(k) = h(n) * s(k-n) s(k) * h(n) sk * hn.
Техника свертки приведена на рис. 8.4.1. Для вычисления свертки массив одной из функций (sk- входного сигнала) располагается по ходу возрастания номеров. Массив второй функции (hn - более короткой, оператор свертки), строится параллельно первому массиву в обратном порядке (по ходу уменьшения номеров, в режиме обратного времени). Для вычисления yk значение h0 располагается против sk, все значения sk-n перемножаются с расположенными против них значениями hn и суммируются. Результаты суммирования являются выходным значением функции yk, после чего оператор hn сдвигается на один номер k вперед (или функция sk сдвигается ему навстречу) и вычисление повторяется для номера k+1 и т.д.
Рис. 8.4.1. Техника дискретной свертки.
Пример. Уравнение свертки: yk=bnxk-n= boxk+ b1xk-1+ b2xk-2. Значения оператора
bn:
bo= 5, b1= 3, b2= 2. Входной сигнал: xk= {0,1,0,0,0}, начальные условия:x-n= 0.
Расчет выходного сигнала:
yo= 5xo+ 3x-1+ 2x-2= 5 · 0 + 3 · 0 + 2 · 0 = 0,y1= 5x1+ 3xo+ 2x-1= 5 · 1 + 3 · 0 + 2 · 0 = 5,
y2 = 5x2 + 3x1 + 2xo = 5 · 0 + 3 · 1 + 2 · 0 = 3, y3 = 5x3 + 3x2 + 2x1 = 5 · 0 + 3 · 0 + 2 · 1 = 2,
y4 = 5x4 + 3x3 + 2x2 = 5 · 0 + 3 · 0 + 2 · 0 = 0, y5 = 5x5 + 3x4 + 2x3 = 5 · 0 + 3 · 0 + 2 · 0 = 0
Выходной сигнал: yk = {0, 5, 3, 2, 0}
Заметим:свертка функции оператора с единичным входным сигналом представляет собой повторение функции оператора свертки на выходе.
На рис. 8.4.2 приведен пример выполнения дискретной свертки каузальным (односторонним) и четным (симметричным, двусторонним) оператором одного и того же сигнала.
Рис. 8.4.2. Примеры выполнения дискретной свертки.
Прямое вычисление свертки требует K·N умножений, где K – длина исходного сигнала, а N – длина ядра свертки. Как длина сигнала, так и длина ядра свертки может достигать нескольких тысяч точек, и число умножений становится огромным.
Для дискретной свертки действительны все свойства и теоремы интегральной свертки. В частности, свертка функций в координатной области отображается произведением их спектров в частотной области, а умножение в координатной области эквивалентно свертке в частотной области. Это значит, что для выполнения свертки двух сигналов можно перевести их в частотную область, перемножить их спектры, и перевести результат обратно во временную область, т.е. действовать по следующей схеме:
s(k) S(), h(n) H(), Y() = S()H(), Y() y(k).
С появлением алгоритмов БПФ, позволяющих быстро вычислять преобразования Фурье, вычисление свертки через частотную область стало широко использоваться. При значительных размерах сигналов и длины ядра свертки такой подход позволяет в сотни раз
сократить время вычисления свертки.
Выполнение произведения спектров может производиться только при одинаковой их длине, и оператор h(n) перед ДПФ необходимо дополнять нулями до размера функции s(k).
Второй фактор, который следует принимать во внимание, это цикличность свертки при ее выполнении в спектральной области, обусловленная периодизацией дискретных функций. Перемножаемые спектры являются спектрами периодических функций, и результат на концевых интервалах может не совпадать с дискретной линейной сверткой, где условия продления интервалов (начальные условия) задаются, а не повторяют главный период.
Рис. 8.4.3. Результаты двух видов свертки.
При выполнении свертки через БПФ ощутимое повышение скорости вычислений появляется только при большой длине функций и операторов (например, M>1000, N>100). Следует также обращать внимание на разрядность результатов, т.к. перемножение чисел дает увеличение разрядности в 2 раза. При ограниченной разрядности числового представления с соответствующим округлением это может приводить к погрешностям суммирования.
В системах оперативной обработки данных часто возникает потребность вычислить свертку сигнала, поступающего на вход системы последовательными порциями (например, от датчиков скважинных приборов). В таких случаях применяется секционная свертка. Суть ее состоит в том, что каждая из этих частей сворачивается с ядром отдельно, а полученные части объединяются. Для объединения достаточно размещать их друг за другом с перекрытием в N-1 точку (N – длина ядра свертки), и производить суммирование в местах перекрытия.