MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем
 

Обработка сигналов и изображений\Communications Toolbox

Список функций CommunicationsToolbox:  Модуляция и демодуляция

  В оглавление \ К следующему разделу \ К предыдущему разделу

AMODCE
Аналоговая модуляция (выход — комплексная огибающая)

Синтаксис:

y = amodce(x,Fs,'amdsb-tc',offset);
y = amodce(x,Fs,'amdsb-sc');
y = amodce(x,Fs,'amssb');
y = amodce(x,Fs,'amssb/time',num,den);
y = amodce(x,Fs,'amssb/time');
y = amodce(x,Fs,'qam');
y = amodce(x,Fs,'fm',deviation);
y = amodce(x,Fs,'pm',deviation);
y = amodce(x,[Fs phase],...);

Необязательные входные параметры:

Параметр Значение по умолчанию или поведение функции, если параметр опущен
offset -min(min(x))
deviation 1

Описание:

Функция amodce выполняет аналоговую модуляцию, генерируя комплексную огибающую выходного модулированного сигнала. Соответствующая функция демодуляции — ademodce. В приведенной ниже таблице перечислены поддерживаемые функцией amodce виды модуляции.

Вид модуляции Третий входной параметр
Амплитудная модуляция, две боковых полосы 'amdsb-tc'
Амплитудная модуляция, две боковых полосы с подавленной несущей 'amdsb-sc'
Амплитудная модуляция, одна боковая полоса с подавленной несущей 'amssb' или 'amssb/time'
Квадратурная амплитудная модуляция 'qam'
Частотная модуляция 'fm'
Фазовая модуляция 'pm'

Общая информация о синтаксисе:

При всех вариантах вызова функции y = amodce(x,Fs,...) в качестве модулирующего сигнала используется массив x, а возвращается комплексная огибающая модулированного сигнала. Параметр Fs — это частота дискретизации в герцах. (Соответственно, период дискретизации для x и y составляет 1/Fs.) Начальная фаза несущего колебания равна нулю. x — вещественная матрица, а y — комплексная матрица. Размеры x и y зависят от вида модуляции:

  • Квадратурная амплитудная модуляция. Массив x должен иметь четное число столбцов. Столбцы с нечетными номерами представляют синфазные компоненты модулирующего сигнала, а столбцы с четными номерами — квадратурные компоненты. Если массив x имеет n строк и 2m столбцов, то модулированный сигнал y будет иметь n строк и m столбцов; все пары столбцов массива x обрабатываются независимо друг от друга.
  • Другие виды модуляции. Массивы x и y имеют одинаковые размеры. Если x — двумерная матрица, то ее столбцы обрабатываются независимо друг от друга.

Можно задать частоту дискретизации в виде двухэлементного вектора: y = amodce(x,[Fs phase],...). В данном случае первый элемент этого вектора (Fs) задает частоту дискретизации, как описано выше. Второй элемент (phase) — это начальная фаза несущего колебания в радианах.

Конкретные варианты синтаксиса:

  • y = amodce(x,Fs,'amdsb-tc',offset)

Реализует двухполосную амплитудную модуляцию. Параметр offset — это постоянное смещение, добавляемое к x перед модуляцией. Если параметр offset опущен, его значение по умолчанию равно -min(min(x)). Это обеспечивает стопроцентную глубину модуляции.

  • y = amodce(x,Fs,'amdsb-sc')

Реализует двухполосную амплитудную модуляцию с подавленной несущей.

  • y = amodce(x,Fs,'amssb')

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

  • y = amodce(x,Fs,'amssb/time',num,den)

То же, что и предыдущий вариант синтаксиса, но преобразование Гильберта выполняется во временной области. Параметры num и den — векторы-строки, задающие коэффициенты числителя и знаменателя функции передачи фильтра (в порядке убывания степеней переменной z). Для расчета фильтра Гильберта можно использовать функцию hilbiir.

  • y = amodce(x,Fs,'amssb/time')

То же, что и предыдущий вариант синтаксиса, но фильтр, выполняющий преобразование Гильберта во временной области, рассчитывается по умолчанию следующим образом: [num,den] = hilbiir(1/Fs) (параметры num и den были описаны выше).

  • y = amodce(x,Fs,'qam')

Реализует квадратурную амплитудную модуляцию. Параметр x должен быть матрицей с четным числом столбцов, при этом столбцы с нечетными номерами служат синфазными модулирующими сигналами, а столбцы с четными номерами — квадратурными модулирующими сигналами. Выходной сигнал y будет матрицей с числом столбцов, в два раза меньшим, чем у x.

  • y = amodce(x,Fs,'fm',deviation)

Реализует частотную модуляцию. Ширина полосы частот модулированного сигнала равна max(x) – min(x). Необязательный параметр deviation — число, задающее девиацию частоты.

  • y = amodce(x,Fs,'pm',deviation)

Реализует фазовую модуляцию. Необязательный параметр deviation — число, задающее девиацию фазы.

Примеры.

Данный пример аналогичен приведенному под заголовком “Пример использования гильбертовского фильтра” на странице с описанием функции amod, отличие состоит лишь в том, что в данном случае моделируется комплексная огибающая. Графики для случая вещественного сигнала (см. описание функции amod) показывают наличие значительно более заметных искажений в демодулированном сигнале. Результат работы данного примера демонстрирует, что средняя разница между модулирующим и демодулированным сигналами не превосходит 10-16.

Fs = 100; % Частота дискретизации сигнала
[numh,denh] = hilbiir(1/Fs,15/Fs,15); % Расчет фильтра Гильберта.
t = [0:1/Fs:5]'; % Моменты дискретизации сигнала
x = cos(t); % Синусоидальный сигнал.
y = amodce(x,[Fs pi/4],'amssb/time',numh,denh); % Модулируем,
% используя преобразование Гильберта во временной области.
z = ademodce(y,[Fs pi/4],'amssb'); % Демодуляция.
d = ceil(log10(sum(abs(x-z))/length(x)))
d =

-16

Сопутствующие функции: ademodce, dmodce, ddemodce, amod, ademod.

  В оглавление \ К следующему разделу \ К предыдущему разделу

 

Поиск по сайту:

Система Orphus

Яндекс.Метрика