Документация Engee

gmonopuls

Гауссов моноимпульс.

Библиотека

EngeeDSP

Синтаксис

Вызов функции

  • y = gmonopuls(t, fc) — возвращает отсчеты гауссова моноимпульса с единичной амплитудой и несущей частотой fc в моменты времени, заданные входным вектором t.

  • tc = gmonopuls("cutoff", fc) — возвращает длительность времени между точками, в которых моноимпульс принимает минимальное и максимальное значения.

Аргументы

Входные аргументы

# t — значения времени
вектор

Details

Значения времени, при которых вычисляется гауссов моноимпульс с единичной амплитудой, заданные в виде вектора.

# fc — несущая частота
1000 (по умолчанию) | скаляр

Details

Несущая частота в Гц, заданная как вещественный положительный скаляр. По умолчанию fc = 1000 Гц.

Выходные аргументы

# y — моноимпульс
вектор

Details

Гауссов моноимпульс с единичной амплитудой, возвращаемый в виде вектора.

# tc — временной интервал
скаляр

Details

Длительность времени между точками, где моноимпульс принимает минимальное и максимальное значения, возвращаемая в виде скаляра.

Примеры

Гауссов моноимпульс

Details

Рассмотрим гауссов моноимпульс с несущей частотой ГГц и частотой дискретизации ГГц. Определим время отсечки используя опцию "cutoff" и вычислим моноимпульс в диапазоне от до .

import EngeeDSP.Functions: gmonopuls

fc = 2e9
fs = 100e9

tc = gmonopuls("cutoff", fc)
t = -2*tc:1/fs:2*tc

y = gmonopuls(t, fc)

Моноимпульс определяется уравнением:

где , а экспоненциальный множитель таков, что . Построим две кривые и убедимся, что они совпадают.

using Plots

sg = 1/(2*pi*fc)
ys = exp(1/2) * t/sg .* exp.(-(t/sg).^2/2)

plot(t, y, label="gmonopuls")
scatter!(t, ys, markershape=:circle, label="Definition")

gmonopuls 1

Последовательность гауссовых моноимпульсов

Details

Рассмотрим гауссов моноимпульс с несущей частотой ГГц и частотой дискретизации ГГц. Используем этот моноимпульс для построения последовательности импульсов с интервалом между ними 7.5 нс. Определим время отсечки каждого импульса используя опцию "cutoff". Установим времена задержки кратными интервалу между импульсами.

import EngeeDSP.Functions: gmonopuls
import EngeeDSP.Functions: pulstran

fc = 2e9
fs = 100e9

tc = gmonopuls("cutoff", fc)
D = [2.5, 10.0, 17.5] * 1e-9

Сгенерируем последовательность импульсов общей длительностью с. Отобразим результат на графике.

using Plots

t = 0:1/fs:150*tc
yp = pulstran(t, D, "gmonopuls", fc)

plot(t, yp)

gmonopuls 2

Советы

Вместо пустых или пропущенных входных аргументов используются значения по умолчанию.