modulate
Модуляция для моделирования систем связи.
| Библиотека |
|
Аргументы
Входные аргументы
#
x —
полезный сигнал
вектор | матрица
Details
Полезный сигнал, заданный как вещественный вектор или матрица.
#
fc —
несущая частота
скаляр
Details
Несущая частота, используемая для модуляции полезного сигнала, заданная как вещественный положительный скаляр.
#
fs —
частота дискретизации
скаляр
Details
Частота дискретизации, указанная как вещественный положительный скаляр.
#
method —
метод модуляции
"am" (по умолчанию) | "amdsb-sc" | "amdsb-tc" | "amssb" | "fm" | "pm" | "pwm" | "ppm" | "qam"
Details
Используемый метод модуляции, возможные значения:
-
"am"или"amdsb-sc"— амплитудная модуляция, две боковые полосы, подавленная несущая. Умножаетxна синусоиду с частотой fc.y = x.*cos(2*pi*fc*t)
-
"amdsb-tc"— амплитудная модуляция, две боковые полосы, передаваемая несущая. Вычитает скалярное значениеoptотxи умножает результат на синусоиду с частотой fc.y = (x-opt).*cos(2*pi*fc*t)
Если вы не укажете
opt, тоmodulateиспользует значение по умолчаниюmin(min(x)), чтобы полезный сигнал(x-opt)был неотрицательным и имел минимальное значение, равное0. -
"amssb"— амплитудная модуляция, одиночная боковая полоса. Умножаетxна синусоиду с частотойfcи добавляет результат к преобразованию Гильбертаx, умноженному на сдвинутую по фазе синусоиду с частотойfc.y = x.*cos(2*pi*fc*t)+imag(hilbert(x)).*sin(2*pi*fc*t)
Этот метод эффективно устраняет верхнюю боковую полосу частот.
-
"fm"— частотная модуляция. Создает синусоиду с мгновенной частотой, которая изменяется в зависимости от полезного сигналаx.y = cos(2*pi*fc*t + opt*cumsum(x))
Функция
cumsumявляется прямоугольной аппроксимацией интеграла отx. Функцияmodulateиспользуетoptкак константу частотной модуляции. Если вы не укажете значениеopt, тоmodulateиспользует значение по умолчаниюopt=(fc/fs)*2*pi/(max(max(x))), поэтому максимальное отклонение частоты отfcбудетfcГц. -
"pm"— фазовая модуляция. Создает синусоиду с частотойfc, фаза которой изменяется в зависимости от полезного сигналаx.y=cos(2*pi*fc*t + opt*x)
-
"pwm"— широтно-импульсная модуляция. Создает широтно-импульсный сигнал modulated на основе длин импульсов вx. Элементыxнаходятся в интервале от0до1и определяют длительность каждого импульса в долях периода. Импульсы начинаются в начале каждого периода несущей, то есть они выравниваются по левому краю. При вызове функцииmodulate(x,fc,fs,"pwm","centered")получаются импульсы, центрированные в начале каждого периода. Длина_(y,t)равнаlength(x)*fs/fc. -
"ppm"— позиционно-импульсная модуляция. Создает сигнал с позиционно-импульсной модуляцией из позиций импульсов вx. Элементыxнаходятся в интервале от0до1, задавая левый край каждого импульса в долях периода. Значениеoptпредставляет собой скаляр от0до1, который определяет длину каждого импульса в долях периода. Значение по умолчанию дляoptявляется0.1. Длина_(y,t)равнаlength(x)*fs/fc. -
"qam"— квадратурная амплитудная модуляция. Создает сигнал с использованием квадратурной амплитудной модуляции из сигналовxиopt.y = x.*cos(2*pi*fc*t) + opt.*sin(2*pi*fc*t)