Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab1_2_UORS.doc
Скачиваний:
35
Добавлен:
13.11.2019
Размер:
964.61 Кб
Скачать

2. Моделирование сигналов в MatLab

Ц ель работы. Практическое освоение применения системы MatLab для моделирования сигналов в радиотехнических устройствах.

2.1. Моделирование типовых детерминированных сигналов

2.1.1. Моделирование одиночных импульсов

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

Функция rectpuls формирует одиночный импульс прямоугольной формы. Команда вида

у = rectpuls(t - t0, tp)

позволяет сформировать вектор значений у одиночного импульса прямоугольной формы единичной амплитуды, длительностью tp, центрированного относительно момента времени t0. Вектор t задает временные отсчеты, в которые рассчитывается вектор у. Если длительность импульса tp не указана, ее значение по умолчанию равно единице. На рис. 2.1 приведены результаты моделирования сигнала, состоящего из трех последовательных прямоугольных импульсов разной высоты и ширины, сформированных последовательностью команд:

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

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

у = tripuls(t,tp,asym).

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

y =0.75*tripuls(t - 1, 0.5)+0.5*tripuls(t - 5, 0.5, - 1)...

+1.35*tripuls(t - 3, 0.8,1);

p

Рис. 2.1

lot (t, y), grid.

Радиоимпульс с гауссовской огибающей можно смоделировать с помощью функции gauspuls:

у = gauspuls(t, fc, bw).

Она формирует вектор значений этого сигнала с единичной амплитудой, несущей частотой

fc, Гц, и с шириной спектра bw. Если два последних аргумента не указаны, они по умолчанию устанавливаются равными 1000 и 0,5 Гц соответственно.

Пример моделирования одиночного гауссовского радиоимпульса (рис. 2.3):

t = 0 : 0.01 : 10;

y = 0.75*gauspuls(t - 3, 2,0.25);

plot(t, y), grid

Рис. 2.3

Рис. 2.2

2.1.2. Моделирование последовательностей сигналов

Полигармонические колебания, т.е. сигналы, состоящие из конечного числа гармонических составляющих, можно формировать при помощи функций sin(x) и cos(x) (рис. 2.4):

t = 0 : 0.01 : 50;

y =2+ 0.7*sin(2*pi*0.1*t-pi/2)+0.5*cos(2*pi*0.08*t+pi/6);

plot(t,y), grid

Периодические последовательности прямоугольных и пилообразных импульсов можно моделировать с помощью функций square, sawtooth, которые генерируют соответствующие импульсы с периодом на векторе временных отсчетов t. Обе функции имеют сходный синтаксис:

у = square(t, tau);

у = sawtooth(t, tau).

Для функции square tau определяет длительность импульса (в процентах от периода), для функции sawtooth tau – часть периода, в которой сигнал увеличивается. Ниже приведен пример применения рассматриваемых функций и результаты моделирования (рис.2.5).

t = 0 : 0.01 : 50;

y=0.7*square(pi*t/5, 25);

y1=0.5*sawtooth(pi*t/10, 0.75);

plot(t,y, t,y1), grid

Рис. 2.4

Рис. 2.5

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

у = pulstran(t, d, 'form', pl, p2,...).

Вектор t массив отсчетов времени, вектор d задержки центров импульсов; параметр 'form' имя функции, определяющей форму импульсов, например 'rectpuls', 'tripuls', 'gauspuls', р1, р2, ... – дополнительные параметры импульса, которые передаются функции 'form'. Вектор d может быть двумерным: первый столбец – массив задержек центров импульсов, второй – амплитуд соответствующих импульсов (рис. 2.7).

В другом варианте функция pulstran может вызываться следующим образом:

у = pulstran(t, d, p, fs, 'metod'),

где t и d как и ранее векторы отсчетов времени и задержек центров импульсов; p – вектор отсчетов одиночного сигнала; fsчастота дискретизации отсчетов одиночного сигнала; 'metod' – строковая константа, задающая метод интерполяции этого сигнала между отсчетами вектора p. Эта константа может принимать следующие значения:

‘nearest' – ступенчатая интерполяция;

'linear' - линейная

'spline' – кубическими сплайнами,

'pchip' или 'cubic' кусочно-полиномиальная полиномами Эрмита 3-й степени. Более подробную информацию можно получить во встроенной справочной системе MatLab для функции interp1.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]