Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Завдання_ЦОЕД 2013_заочники.docx
Скачиваний:
6
Добавлен:
01.05.2025
Размер:
760 Кб
Скачать
☆

Лабораторная работа №3 Свертка и деконволюция

Цель: Изучить основные свойства свертки и деконволюции и реализующие их функции системы MATLAB.

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

3.1 Свертка одномерных сигналов — conv

Пусть имеется две последовательности, представленные векторами a и b. Сверткой называют одномерный массив, вычисляемый так:

(3.1)

При записи этого выражения учтено, что нумерация индексов всех массивов (даже массивов Java) в MATLAB идет с 1. Свертка реализуется функцией conv(a,b).

Пример 1:

a=[2 4 6]; b=[3 5 7]; c=conv(a,b)

c=

6 22 52 58 42

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

(3.2)

3.2 Операция, обратная свертке — deconv

Операцию, обратную свертке, выполняет функция [q,r]=deconv(b,a). Данная функция позволяет вычислить импульсную характеристику линейной системы. Если у=соnv(х,h), то q = y и r = 0.

Пример 2:

а=[2 4 6]; b=[3 5 7]; c=conv(a.b)

с =

6 22 52 58 42

[q,r]=deconv(c,a)

q=

357

r =

00000

    1. Свертка двумерная и многомерная — conv2 и convn

Для осуществления свертки двумерных массивов (матриц) А и В с размерами ma па и mb nb служит функция C=conv2(A,B[, 'shape']). Параметр 'shape' в ней может иметь следующие значения:

'full' — полноразмерная свертка (принята по умолчанию);

'same' — центральная часть свертки, определяемая размером массива А;

'valid' —центральная часть свертки с размером [ma-mb+1, na—nb+1] при size(A) > size(B).

Выполнение двумерной свертки эффективно при size(A) > size(B). Эта операция используется при обработке изображений. Свертка многомерная реализуется функцией convn с записью, подобной рассмотренной для функции conv2. Она используется с многомерными массивами.

Задание

  1. Самостоятельно проработать вопрос реализации свертки как матричного умножения для данных примеров 1,2, применив функцию convmtx(x,n). Сравнить полученные результаты с результатами примеров 1 и 2.

  2. Пусть задан входной сигнал (отсчеты) x(k)=[1,5,8,10,4,-3,-7,2,5] и импульсно-переходная характеристика линейной системы h(k)=[3,4,6,8,10,5,3,2,1,2,3]. Найти выходной сигнал y.

  3. Решить задачу идентификации линейной системы при известных входных и выходных сигналах x, y пункта 2.

  4. Используя данные пункта 2 найти спектр свертки сигналов. Построить АЧХ и ФЧХ.

  5. Пусть заданы сигналы s(k)=[1, 3, 5, 6, 3, 2, -1, 2, 4] и x(k) (данные из п.2). Найти произведение этих сигналов и спектр этого произведения. Построить АЧХ и ФЧХ.

  6. Сгенерировать произвольные двумерные матрицы А и В. Найти двумерную свертку. Исследовать при этом влияние параметра ‘shape’.

Р исунок 3.1 Вычисление дискретной свертки

ЛИТЕРАТУРА

  1. Чен К., Джиблин П., Ирвинг А. MATLAB в математических исследованиях. Мир, 2001.

  2. Потемкин В. Введение в MATLAB. Диалог-МИФИ. 2000.