modulate

Модуляция для симуляции системы связи

Описание

y = modulate(x,fc,fs) модулирует реальный сигнал сообщения x с несущей частотой fc и частоту дискретизации fs. Если x является матрицей, модулируемый сигнал вычисляется независимо для каждого столбца и сохраняется в соответствующем столбце y.

[y,t] = modulate(x,fc,fs) также возвращает внутренний временной вектор t.

пример

[___] = modulate(x,fc,fs,method) модулирует реальный сигнал сообщения, используя метод модуляции, заданный как method. Можно использовать эти входы с любым из предыдущих выходных синтаксисов.

пример

[___] = modulate(x,fc,fs,method,opt) использует дополнительные опции, указанные в opt для некоторых методов модуляции.

Примеры

свернуть все

Сгенерируйте синусоидальный сигнал 10 Гц, дискретизированный со скоростью 200 Гц в течение 1 секунды. Встроите синусоиду в белый Гауссов шум отклонения 0,01.

fs = 200;
t = 0:1/fs:1;
x = sin(2*pi*10*t) + randn(size(t))/10;

Амплитуда с одной боковой полосой модулирует сигнал с несущей частотой 50 Гц. Вычислите и отобразите новые оценки спектральной плотности мощности методом Уелча.

y = modulate(x,50,fs,'amssb');

pwelch([x;y]',hamming(100),80,1024,fs,'centered')

Figure contains an axes. The axes with title Power Spectral Density contains 2 objects of type line.

Сгенерировать две синусоидальные частоты сигналов 10 Гц и 20 Гц, дискретизированные со скоростью 200 Гц в течение 1 секунды. Встройте синусоиды в белый Гауссов шум отклонения 0,01.

fs = 200;
t = 0:1/fs:1;
i = sin(2*pi*10*t) + randn(size(t))/10;
q = sin(2*pi*20*t) + randn(size(t))/10;

Создайте квадратурный амплитудно-модулированный сигнал из сигналов i и q использование несущей частоты 70 Гц. Вычислите оценки спектральной плотности степени Уэлча исходной и модулированной последовательностей. Используйте 100-образцевое окно Хэмминга с 80 выборками перекрытия. Задайте длину БПФ 1024.

y = modulate(i,70,fs,'qam',q);

pwelch([i;q;y]',hamming(100),80,1024,fs,'centered') 
legend('In-phase signal','Quadrature signal','Modulated signal')

Figure contains an axes. The axes with title Power Spectral Density contains 3 objects of type line. These objects represent In-phase signal, Quadrature signal, Modulated signal.

Входные параметры

свернуть все

Сигнал сообщения, заданный как вектор действительных чисел или матрица.

Пример: sin(2*pi*25*[0:(1/200):1])

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

Частота дискретизации, заданная как действительная положительная скалярная величина.

Используемый метод модуляции, заданный как один из:

  • amdsb-sc или am - Амплитудная модуляция, двойная боковая полоса, подавленная несущая. Умножает 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)

    modulate использует opt как константа фазовой модуляции. Если вы не задаете opt параметр, modulate использует значение по умолчанию   opt = pi/(max(max(x))) так что максимальная фаза экскурсия - π радиан.

  • pwm - Импульсно-широтная модуляция. Создает модулированный по ширине импульса сигнал из ширины импульса в x. Элементы x должно быть от 0 до 1, задавая ширину каждого импульса в долях периода. Импульсы начинаются в начале каждого периода, то есть они остаются обоснованными. modulate(x,fc,fs,'pwm','centered') приводит к импульсам, центрированным в начале каждого периода. Длина y является length(x)*fs/fc.

  • ppm - Импульсно-позиционная модуляция. Создает импульсно-позиционный модулированный сигнал из импульсных положений в x. Элементы x должно быть от 0 до 1, задавая левый край каждого импульса в долях периода. opt является скаляром между 0 и 1, который задает длину каждого импульса в долях периода. Значение по умолчанию для opt является 0.1. Длина y является length(x)*fs/fc.

  • qam- Квадратурная амплитудная модуляция. Создает квадратурный амплитудно-модулированный сигнал из сигналов x и opt.

    y=x.*cos(2*pi*fc*t) + opt.*sin(2*pi*fc*t)

    Входной параметр opt должен быть того же размера, что и x.

Необязательный вход, заданный для некоторых методов. См. method для получения дополнительной информации о том, как использовать opt.

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

свернуть все

Модулированный сигнал сообщения, возвращенный как вектор действительных чисел или матрица. За исключением методов pwm и ppm, y - тот же размер, что и x.

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

См. также

|

Представлено до R2006a