demod
Страница в процессе разработки. |
Демодуляция для моделирования систем связи.
Библиотека |
|
Аргументы
Входные аргументы
#
fs —
частота дискретизации
Произвольный тип
Details
Частота дискретизации, указанная как вещественный положительный скаляр.
#
method —
метод модуляции
Произвольный тип
Details
Используемый метод модуляции, возможные значения:
-
"am"
или"amdsb-sc"
— амплитудная демодуляция, две боковые полосы, подавленная несущая. Умножаетy
на синусоиду с частотойfc
и применяет фильтр нижних частот Баттерворта пятого порядка с использованием функцииfiltfilt
.x = y.*cos(2*pi*fc*t); [b,a] = butter(5,fc*2/fs); x = filtfilt(b,a,x);
-
"amdsb-tc"
— амплитудная демодуляция, две боковые полосы, передаваемая несущая. Умножаетy
на синусоиду с частотойfc
и применяет фильтр нижних частот Баттерворта пятого порядка с использованием функцииfiltfilt
.x = y.*cos(2*pi*fc*t); [b,a] = butter(5,fc*2/fs); x = filtfilt(b,a,x);
-
"amssb"
— амплитудная демодуляция. Умножаетy
на синусоиду с частотойfc
и применяет фильтр нижних частот Баттерворта пятого порядка с использованием функцииfiltfilt
.x = y.*cos(2*pi*fc*t); [b,a] = butter(5,fc*2/fs); x = filtfilt(b,a,x);
-
"fm"
— частотная демодуляция. Демодулирует форму частотно-модулированного (ЧМ) сигнала путем модуляции преобразования Гильбертаy
с помощью комплексной экспоненциальной частоты-fc
Гц и получает в результате мгновенную частоту.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"
— фазовая демодуляция. Демодулирует форму фазово-модулированного (ФМ) сигнала путем модуляции преобразования Гильбертаy
с помощью комплексной экспоненциальной частоты-fc
Гц и получает в результате мгновенную фазу.y=cos(2*pi*fc*t + opt*x)
-
"pwm"
— широтно-импульсная демодуляция. Определяет ширину импульса сигнала с широтно-импульсной модуляциейy
. Функцияdemod
возвращает вx
вектор, элементы которого определяют длительность каждого импульса в долях периода. Импульсы вy
должны начинаться с начала каждого периода несущей, то есть они должны быть выровнены по левому краю. При вызове функцииmodulate(x,fc,fs,"pwm","centered")
получаются импульсы, центрированные в начале каждого периода. Длинаy
равнаlength(x)*fs/fc
. -
"ppm"
— позиционно-импульсная демодуляция. Определяет положения импульсов в сигнале с позиционно-импульсной модуляциейy
. Для правильной демодуляции импульсы не должны перекрываться. Длинаx
равнаlength(t)*fc/fs
. -
"qam"
— квадратурная амплитудная демодуляция. Функция[x1,x2] = demod(y,fc,fs,"qam")
умножаетy
на косинус и синус с частотойfc
и применяет фильтр нижних частот Баттерворта пятого порядка, используяfiltfilt
.x1 = y.*cos(2*pi*fc*t); x2 = y.*sin(2*pi*fc*t); [b,a] = butter(5,fc*2/fs); x1 = filtfilt(b,a,x1); x2 = filtfilt(b,a,x2);
#
fc —
несущая частота
Произвольный тип
Details
Несущая частота, используемая для модуляции полезного сигнала, заданная как вещественный положительный скаляр.
Выходные аргументы
# x — демодулированный полезный сигнал
Details
Демодулированный полезный сигнал, возвращаемый в виде вещественного вектора или матрицы.