MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

Обработка сигналов и изображений\Signal Processing Toolbox

Список функций Signal Processing Toolbox: Генерация сигналов

  В оглавление \ К следующему разделу \ К предыдущему разделу

PULSTRAN

Генерация последовательности импульсов произвольной формы

Синтаксис:

y = pulstran(t,d,'func')
y = pulstran(t,d,'func',p1,p2,...)
y = pulstran(t,d,p,fs)
y = pulstran(t,d,p)

Описание:

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

y = pulstran(t,d,'func')

Генерирует последовательность импульсов, форма которых определяется непрерывной функцией времени, имя которой задается строковым входным параметром 'func'. Этот параметр должен являться именем функции, которая в качестве первого входного параметра принимает вектор моментов времени, а возвращает вектор отсчетов импульса, рассчитанных для этих моментов времени. Примерами возможных значений параметра 'func' являются следующие строки:

  • 'gauspuls' - для генерации последовательности гауссовых радиоимпульсов;
  • 'rectpuls' - для генерации последовательности прямоугольных импульсов;
  • 'tripuls' - для генерации последовательности треугольных импульсов.

    Функция pulstran вызывает функцию 'func' length(d) раз и возвращает сумму результатов, полученную следующим образом:

    y = func(t-d(1)) + func(t-d(2)) + ...

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

    Помимо разных задержек, генерируемые импульсы могут иметь различные амплитуды. Для этого необходимо задать входной параметр d в виде двухстолбцовой матрицы, в первом столбце которой содержатся значения задержек, а во втором - значения амплитудных множителей. Обратите внимание на то, что если параметр d задан в виде вектора произвольной ориентации (строка или столбец), он интерпретируется функцией как вектор задержек.

    y = pulstran(t,d,'func',p1,p2,...)

    Передает функции 'func' дополнительные параметры p1, p2 и т. д. Результат в этом случае рассчитывается следующим образом:

    y = func(t-d(1),p1,p2,...) + func(t-d(2),p1,p2,...) + ...

    y = pulstran(t,d,p,fs)

    Генерирует последовательность импульсов, форма которых задана вектором отсчетов p, взятых с частотой дискретизации fs. Предполагается, что отсчеты из вектора p соответствуют временному интервалу [0,(length(p)-1)/fs], а за пределами этого интервала значения отсчетов равны нулю. Для пересчета отсчетов задержанных импульсов к моментам времени из вектора t по умолчанию используется линейная интерполяция.

    y = pulstran(t,d,p)

    В данном варианте синтаксиса по умолчанию считается, что частота дискретизации fs равна 1 Гц.

    y = pulstran(...,'func')

    Дополнительно позволяет указать используемый метод интерполяции с помощью строкового параметра 'func'. Список возможных методов интерполяции см. на странице с описанием функции interp1.

    Примеры

    Пример 1

    В данном примере генерируется последовательность асимметричных пилообразных импульсов длительностью 0,1 с, следующих друг за другом с частотой 3 Гц. Длительность генерируемого сигнала равна 1 с, частота дискретизации составляет 1 кГц:

    t = 0:1/1e3:1; % интервал 1 с дискретизирован с частотой 1 кГц
    d = 0:1/3:1; % вектор задержек - частота импульсов 3 Гц
    y = pulstran(t,d,'tripuls',0.1,-1);
    plot(t,y)

    Пример 2

    В данном примере генерируется последовательность гауссовых радиоимпульсов с несущей частотой 10 кГц и относительной шириной спектра 50%. Частота следования импульсов 1 кГц, частота дискретизации сигнала 50 кГц, длина последовательности 10 мс. Амплитуда каждого импульса составляет 0,8 от амплитуды предыдущего импульса:

    t = 0:1/50E3:10e-3;
    d = [0:1/1E3:10e-3; 0.8.^(0:10)]';
    y = pulstran(t,d,'gauspuls',10e3,0.5);
    plot(t,y)

    Пример 3

    В данном примере генерируется последовательность из 10 окон Хэмминга:

    p = hamming(32);
    t = 0:320; d = (0:9)'*32;
    y = pulstran(t,d,p);
    plot(t,y)

    Сопутствующие функции: chirp, cos, diric, gauspuls, rectpuls, sawtooth, sin, sinc, square, tripuls

      В оглавление\ К следующему разделу \ К предыдущему разделу


  • Поиск по сайту:

    Система Orphus

    Яндекс.Метрика