logo search
Цифровая обработка сигналов

5.1.1. Формирование отдельных импульсных процессов

В пакете Signal предусмотрено несколько процедур, образующих последовательности данных, представляющие некоторые одиночные импульсные процессы типовых форм.

Процедура rectpuls обеспечивает формирование одиночного импульса прямоугольной формы. Обращение вида:

y = rectpuls (t, w)

позволяет образовать вектор у значений сигнала такого импульса единичной амплитуды, шириной w, центрированного относительно t = 0по заданному вектору t моментов времени. Если ширина импульса w не указана, ее значение по умолчанию принимается равным единице. На рис. 5.2 приведен результат образования процесса, состоящего из трех последовательных прямоугольных импульсов разной высоты и ширины, по такой последовательности команд:

>> t = 0 : 0.01 : 10;

>> y = 0.75 * rectpuls (t – 3, 2) + 0.5 * rectpuls ( t – 8, 0.4 …

+ 1.35 * rectpuls ( t – 5, 0.8);

>> plot (t, y), grid, set (gca, `FontName`, `Arial Cyr`, `FontSize`, 16)

>> titlе (`Пример применения процедуры RECTPULS`)

>> xlabel (` Время ( с )`)

>> ylable (` Выходной процесс Y( t )`)

Формирование импульса треугольной формы единичной амплитуды можно осуществить при помощи процедуры tripuls, обращение к которой имеет вид:

y = tripuls (t, w, s)

Аргументы у, t и w имеют тот же смысл. Аргумент s (-1<s<1) определяет наклон треугольника. Если s = 0 или не указан, треугольный импульс имеет симметричную форму. Приведем пример (результат представлен на рис. 5.3):

>> t = 0 : 0.01 : 10;

>> y = 0.75 * tripuls (t – 1, 0.5) + 0.5 * tripuls ( t – 5, 0.5, -1 …

+ 1.35 * rectpuls ( t – 3, 0.8, 1);

>> plot (t, y), grid, set (gca, `FontName`, `Arial Cyr`, `FontSize`, 16)

>> titlе (`Пример применения процедуры tripuls `)

>> xlabel (` Время ( с )`)

>> ylable (` Выходной процесс Y( t )`)

Для формирования импульса, являющегося синусоидой, модулированной функцией Гаусса, используется процедура gauspuls. Если обратиться к ней по форме:

y = gauspuls (t, fc, bw)

то она создает вектор указанного сигнала с единичной амплитудой, с синусоидой, изменяющейся с частотой fc ГЦ, и с шириной bw полосы частот сигнала.

В случае, когда последние два аргумента не указаны, они по умолчанию приобретают значения 1000 Гц и 0.5 соответственно. Приведем пример создания одиночного гауссового импульса (результат приведен на рис. 5.4):

>> t = 0 : 0.01 : 10;

>> y = 0.75 * gauspuls (t – 3, 1, 0.5);

>> plot (t, y), grid, set (gca, `FontName`, `Arial Cyr`, `FontSize`, 16)

>> titlе (`Пример применения процедуры gauspuls `)

>> xlabel (` Время ( с )`)

>> ylable (` Выходной процесс Y( t )`)

Наконец, рассмотрим процедуру sinc, формирующую вектор значений функции sinc ( t ), которая определяется формулами:

Эта функция является обратным преобразованием Фурье прямоугольного импульса шириной и высотой 1:

Приведем пример ее применения:

>> t = 0 : 0.01 : 50;

>> y1 = 0.7 * sinc (pi*(t - 25) / 5);

>> plot (t, y1), grid, set (gca, `FontName`, `Arial Cyr`, `FontSize`, 16)

>> title (`Функция SINC Y( t ) = 0.7 * SINC (pi * (t – 25) / 5) `)

>> xlabel (` Время ( с )`)

>> ylable (` Выходной процесс Y( t )`)

Результат изображен на рис. 5.5