Последовательность импульсов
В этом примере создается последовательность импульсов с использованием прямоугольного импульса по умолчанию с единичной шириной. Частота повторения - 0,5 Гц, длина сигнала - 60 с, частота дискретизации - 1 кГц. Коэффициент усиления представляет собой синусоиду с частотой 0,05 Гц.
t = 0:1/1e3:60; d = [0:2:60;sin(2*pi*0.05*(0:2:60))]'; x = @rectpuls; y = pulstran(t,d,x); plot(t,y) hold off xlabel('Time (s)') ylabel('Waveform')

В этом примере генерируется асимметричный пилообразный сигнал с частотой повторения 3 Гц. Пиловочник имеет ширину 0,2 с и коэффициент перекоса -1. Длина сигнала составляет 1 с, частота дискретизации - 1 кГц. Постройте график последовательности импульсов.
fs = 1e3; t = 0:1/1e3:1; d = 0:1/3:1; x = tripuls(t,0.2,-1); y = pulstran(t,d,x,fs); plot(t,y) hold off xlabel('Time (s)') ylabel('Waveform')

Постройте график 10 кГц гауссова радиочастотного импульса с 50% полосой пропускания, дискретизированного со скоростью 10 МГц. Усечь импульс, в котором огибающая падает на 40 дБ ниже пика.
fs = 1e7; tc = gauspuls('cutoff',10e3,0.5,[],-40); t = -tc:1/fs:tc; x = gauspuls(t,10e3,0.5); plot(t,x) xlabel('Time (s)') ylabel('Waveform')

Частота повторения импульсов - 1 кГц, частота дискретизации - 50 кГц, длина последовательности импульсов - 25 мс Коэффициент усиления - синусоида частоты 0,1 Гц.
ts = 0:1/50e3:0.025; d = [0:1/1e3:0.025;sin(2*pi*0.1*(0:25))]'; y = pulstran(ts,d,x,fs);
Постройте график периодической гауссовой последовательности импульсов.
plot(ts,y) xlim([0 0.01]) xlabel('Time (s)') ylabel('Waveform')

Запишите функцию, которая генерирует пользовательские импульсы, состоящие из синусоиды, демпфируемой экспоненциальной. Импульс является нечетной функцией времени. Генерирующая функция имеет второй входной аргумент, который задает единственное значение частоты синусоиды и коэффициента демпфирования. Отображение генерируемого импульса, дискретизированного на частоте 1 кГц в течение 1 секунды, с частотой и значением демпфирования, равными 30.
fnx = @(x,fn) sin(2*pi*fn*x).*exp(-fn*abs(x)); ffs = 1000; tp = 0:1/ffs:1; pp = fnx(tp,30); plot(tp,pp) xlabel('Time (s)') ylabel('Waveform')

Используйте pulstran для формирования последовательности пользовательских импульсов. Последовательность отбирается при частоте 2 кГц в течение 1,2 секунды. Импульсы возникают каждую треть секунды и имеют экспоненциально уменьшающиеся амплитуды.
Первоначально задайте сгенерированный импульс в качестве прототипа. Включите частоту выборки прототипа в вызов функции. В этом случае pulstran воспроизводит импульсы в указанных местоположениях.
fs = 2e3; t = 0:1/fs:1.2; d = 0:1/3:1; dd = [d;4.^-d]'; z = pulstran(t,dd,pp,ffs); plot(t,z) xlabel('Time (s)') ylabel('Waveform')

Создайте последовательность импульсов снова, но теперь используйте функцию генерации в качестве входного аргумента. Включите параметр частоты и демпфирования в вызов функции. В этом случае pulstran генерирует импульс так, что он центрируется вокруг нуля.
y = pulstran(t,dd,fnx,30); plot(t,y) xlabel('Time (s)') ylabel('Waveform')

Запишите функцию, которая генерирует пользовательский экспоненциально затухающий пилообразный сигнал частотой 0,25 Гц. Генерирующая функция имеет второй входной аргумент, который задает единственное значение частоты пилообразной волны и коэффициента демпфирования. Отображение генерируемого импульса, дискретизированного с частотой 0,1 кГц в течение 1 секунды, со значением частоты и демпфирования, равным 50.
fnx = @(x,fn) sawtooth(2*pi*fn*0.25*x).*exp(-2*fn*x.^2); fs = 100; t = 0:1/fs:1; pp = fnx(t,50); plot(t,pp)

Используйте pulstran для формирования последовательности пользовательских импульсов. Последовательность отбирают при 0,1 кГц в течение 125 секунд. Импульсы возникают каждые 25 секунд и имеют экспоненциально уменьшающиеся амплитуды.
Укажите сгенерированный импульс в качестве прототипа. Создайте три последовательности импульсов, используя метод линейной интерполяции по умолчанию, интерполяцию ближайшего соседа и кусочно-кубическую интерполяцию. Сравните последовательности импульсов на одном графике.
d = [0:25:125; exp(-0.015*(0:25:125))]'; ffs = 100; tp = 0:1/ffs:125; r = pulstran(tp,d,pp); y = pulstran(tp,d,pp,'nearest'); q = pulstran(tp,d,pp,'pchip'); plot(tp,r) hold on plot(tp,y) plot(tp,q) xlim([0 125]) legend('Linear interpolation','Nearest neighbor interpolation','Piecewise cubic interpolation') hold off

t - Значения времениЗначения времени, при которых func вычисляется, указывается как вектор.
d - СмещениеСмещение, удаленное из значений массива t, заданный как действительный вектор. К каждой задержанной оценке можно применить дополнительный коэффициент усиления, указав d в виде матрицы из двух столбцов со смещением, определенным в столбце 1, и соответствующим усилением в столбце 2. При указании d в качестве вектора строки значения интерпретируются только как задержки.
func - Непрерывная функция'rectpuls' | 'gauspuls' | 'tripuls' | дескриптор функцииНепрерывная функция, используемая для генерации последовательности импульсов на основе ее выборок, указанных как 'rectpuls', 'gauspuls', 'tripuls'или дескриптор функции.
Если вы используете func в качестве дескриптора функции можно передать параметры функции следующим образом:
y = pulstran(t,d,'gauspuls',10e3,0.5);
Это создает последовательность импульсов с использованием гауссова импульса 10 кГц с полосой пропускания 50%.
p - Импульс прототипаФункция прототипа, заданная как вектор. Интервал p задается [0,(length(p)-1)/fs]и его выборки одинаково равны нулю за пределами этого интервала. По умолчанию для генерации задержек используется линейная интерполяция.
fs - Частота выборки1 (по умолчанию) | вещественный скалярЧастота дискретизации в Гц, заданная как действительный скаляр.
intfunc - Метод интерполяции'linear' (по умолчанию) | 'nearest' | 'next' | 'previous' | 'pchip' | 'cubic' | 'v5cubic' | 'makima' | 'spline'Метод интерполяции, указанный в качестве одного из параметров в этой таблице.
Метод | Описание | Непрерывность | Комментарии |
|---|---|---|---|
| Линейная интерполяция. Интерполированное значение в точке запроса основано на линейной интерполяции значений в соседних точках сетки в каждом соответствующем измерении. Это метод интерполяции по умолчанию. | C0 |
|
| Интерполяция ближайшего соседа. Интерполированное значение в точке запроса - это значение в ближайшей выборочной точке сетки. | Прерывистый |
|
| Интерполяция следующего соседа. Интерполированное значение в точке запроса - это значение в следующей выборочной точке сетки. | Прерывистый |
|
| Предыдущая интерполяция соседей. Интерполированное значение в точке запроса - это значение в предыдущей выборочной точке сетки. | Прерывистый |
|
| Фасонно-сохраняющая кусочно-кубическая интерполяция. Интерполированное значение в точке запроса основано на сохраняющей форму кусочно-кубической интерполяции значений в соседних точках сетки. | C1 |
|
| Кубический сверток, используемый в MATLAB ® 5. | C1 | Точки должны быть равномерно разнесены. |
| Модифицированная Akima кубическая эрмитовая интерполяция. Интерполированное значение в точке запроса основано на кусочной функции многочленов со степенью не более трех. Формула Акимы модифицируется, чтобы избежать переполнения. | C1 |
|
| Интерполяция сплайна с использованием условий конца без узла. Интерполированное значение в точке запроса основано на кубической интерполяции значений в соседних точках сетки в каждом соответствующем измерении. | C2 |
|
y - Последовательность импульсовПоследовательность импульсов, генерируемая функцией, возвращается в виде вектора.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.