модулировать

Модуляция для коммуникационной симуляции

Синтаксис

y = modulate(x,fc,fs)
[y,t] = modulate(x,fc,fs)
[___] = modulate(x,fc,fs,method)
[___] = modulate(x,fc,fs,method,opt)

Описание

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')

Сгенерируйте две синусоидальных частоты сигналов 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 выборками перекрытия. Задайте длину БПФ 1 024.

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')

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

свернуть все

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

Пример: 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