MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем
uot;Системы передачи сигналов и связи\Communications Toolbox

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

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

MODMAP
Преобразование цифрового сигнала
в аналоговые параметры модуляции

Синтаксис:

modmap('method',...);
y = modmap(x,Fd,Fs,'ask',M);
y = modmap(x,Fd,Fs,'fsk',M,tone);
y = modmap(x,Fd,Fs,'msk');
y = modmap(x,Fd,Fs,'psk',M);
y = modmap(x,Fd,Fs,'qask',M);
y = modmap(x,Fd,Fs,'qask/arb',inphase,quadr);
y = modmap(x,Fd,Fs,'qask/cir',numsig,amp,phs);

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

Параметр Значение по умолчанию
tone Fd
amp [1:length(numsig)]
phs numsig*0

Описание:

Процесс цифровой модуляции (манипуляции) включает в себя два шага: преобразование цифрового сигнала в аналоговые параметры модуляции и выполнение аналоговой модуляции с использованием этих параметров. Функция modmap выполняет первый из перечисленных шагов. Второй шаг можно реализовать с помощью функций amod, amodce, или "самодельной" функции модуляции. В приведенной ниже таблице перечислены поддерживаемые функцией modmap виды манипуляции.

Вид манипуляции Значение параметра 'method'
M-уровневая амплитудная манипуляция (АМн) 'ask'
M-позиционная частотная манипуляция (ЧМн) 'fsk'
Минимальная частотная манипуляция (МЧМ) 'msk'
M-позиционная фазовая манипуляция (ФМн) 'psk'
Квадратурная амплитудная манипуляция (КАМн) 'qask', 'qask/cir' или 'qask/arb'

Отображение сигнального созвездия:

modmap( 'method' ,...)
Выводит график, характеризующий метод M-ичной манипуляции, указанный параметром 'method'. Параметр 'method' - одна из строк, перечисленных в правом столбце приведенной выше таблицы. Если 'method' = 'fsk' или 'msk', выводится график спектра частотно-манипулированного сигнала; в остальных случаях демонстрируется сигнальное созвездие (амплитуды и фазы, соответствующие символам цифрового сигнала).
В большинстве случаев параметры, следующие после параметра 'method' в этом варианте синтаксиса те же, что и при осуществлении преобразования цифрового сигнала в аналоговый. Подробно эти параметры описаны ниже, в разделе "Преобразование цифрового сигнала в аналоговый - конкретные варианты синтаксиса".
Исключение составляет случай минимальной частотной манипуляции ('method' = 'msk'), при этом синтаксис для вывода графика должен быть следующим:
modmap('msk',Fd)
Здесь Fd - тактовая частота (символьная скорость) входного цифрового сообщения.

Преобразование цифрового сигнала в аналоговый - общая информация:

Функция modmap вызывается следующим образом:
y = modmap(x,Fd,Fs,...)
При этом производится преобразование цифрового сообщения x в аналоговый сигнал. Параметр x - матрица неотрицательных целых чисел. Размеры матриц x и y зависят от метода манипуляции:
АМн, ЧМн, МЧМ. Если x - вектор длины n, то y будет вектором-столбцом длины n*Fs/Fd. Если x - матрица, содержащая n строк и m столбцов, то каждый столбец x обрабатывается независимо от других и y будет матрицей, имеющей (n*Fs/Fd) строк и m столбцов.
ФМн, КАМн. Если x - вектор длины n, то y будет матрицей, имеющей (n*Fs/Fd) строк и 2 столбца. Если x - матрица, содержащая n строк и m столбцов, то каждый столбец x обрабатывается независимо от других и y будет матрицей, имеющей (n*Fs/Fd) строк и 2m столбцов. Столбцы y с нечетными номерами представляют амплитуды синфазных составляющих, а столбцы с четными номерами - амплитуды квадратурных составляющих.
Частоты дискретизации (в герцах) для сигналов x и y равны, соответственно, Fd и Fs. (Таким образом, величина 1/Fd представляет собой период следования символов из сигнала x, а величина 1/Fs - период дискретизации сигнала y.) Отношение Fs/Fd должно быть положительным целым числом.

Преобразование цифрового сигнала в аналоговый - конкретные варианты синтаксиса:

  • y = modmap(x,Fd,Fs,'ask',M)

Преобразует сигнал, используя созвездие M-уровневой амплитудной манипуляции (АМн). Элементы x должны лежать в диапазоне [0, M-1]. Значения элементов y лежат в диапазоне [-1, 1].

  • y = modmap(x,Fd,Fs,'fsk',M,tone)

Преобразует сигнал в набор частотных сдвигов (относительно несущей) для реализации M-позиционной частотной манипуляции (ЧМн). Элементы x должны лежать в диапазоне [0, M-1]. Необязательный параметр tone задает расстояние между соседними используемыми частотами манипуляции. По умолчанию значение tone равно Fd.

  • y = modmap(x,Fd,Fs,'msk')

Преобразует сигнал в набор частотных сдвигов (относительно несущей) для реализации минимальной частотной манипуляции (МЧМ). Элементы x должны быть равны 0 или 1. Расстояние между двумя используемыми частотами в данном случае равно Fd/2.

  • y = modmap(x,Fd,Fs,'psk',M)

Преобразует сигнал, используя созвездие M-позиционной фазовой манипуляции (ФМн). Элементы x должны лежать в диапазоне [0, M-1].

  • y = modmap(x,Fd,Fs,'qask',M)

Преобразует сигнал, используя "квадратное" созвездие M-позиционной квадратурной манипуляции (КАМн). Элементы x должны лежать в диапазоне [0, M-1]. Приведенная ниже таблица показывает максимальные значения синфазной и квадратурной амплитуд для нескольких небольших значений M.

М Максимальное значение y М Максимальное значение y
2 1 32 5
4 1 64 7
8 128 Синфазная амплитуда - 3,
квадратурная амплитуда - 1
11
16 3 256 15

Примечание. Чтобы узнать, как именно символы передаваемого дискретного сообщения отображаются в точки "квадратного" созвездия, можно вывести соответствующий рисунок с помощью функции qaskenco(M) или modmap('qask',M).

  • y = modmap(x,Fd,Fs,'qask/arb',inphase,quadr)

Преобразует сигнал, используя произвольное созвездие квадратурной манипуляции (КАМн), задаваемое с помощью векторов inphase и quadr. Точка созвездия, соответствующая символу сообщения, равному k, имеет синфазную амплитуду, равную inphase(k+1), и квадратурную амплитуду, равную quadr(k+1).

  • y = modmap(x,Fd,Fs,'qask/cir',numsig,amp,phs)

Преобразует сигнал, используя "концентрическое" созвездие квадратурной манипуляции (КАМн). Параметры numsig, amp и phs должны быть векторами одинаковой длины. Элементы векторов numsig и amp должны быть положительными числами. Если k - целое число из диапазона [1, length(numsig)], то amp(k) - радиус k-й окружности, numsig(k) - число точек созвездия, лежащих на этой окружности, а phs(k) - фаза первой точки, лежащей на k-й окружности. Все точки, лежащие на одной окружности, распределены на ней равномерно. Если параметр phs не указан, его значение по умолчанию равно numsig*0. Если не указан и параметр amp, его значение по умолчанию равно [1:length(numsig)].

Примечание. Чтобы узнать, как именно символы передаваемого дискретного сообщения отображаются в точки "концентрического" созвездия, можно вывести соответствующий рисунок с помощью функции apkconst(numsig,amp,phs,'n').

Примеры.

Приведенная ниже команда выводит график сигнального созвездия 32-позиционной фазовой манипуляции (ФМн).

modmap('psk',32);

Приведенный ниже сценарий преобразует цифровое сообщение в аналоговые параметры модуляции для случая 32-позиционной ФМн. Затем к аналоговому сигналу добавляется шум, производится обратное преобразование аналогового сигнала в цифровое сообщение и вычисляется число ошибок. В данном примере используются случайные числа, поэтому от запуска к запуску результаты могут меняться.

M = 32; Fd = 1; Fs = 3;
x = randint(100,1,M); % Исходное сообщение
y = modmap(x,Fd,Fs,'psk',M); % Преобразование для ФМн-32
ynoisy = y+.1*rand(100*Fs,2); % Добавляем шум
z = demodmap(ynoisy,Fd,Fs,'psk',M); % Обратное преобразование
s = symerr(x,z) % Число ошибок после обратного преобразования
s = 8

Сопутствующие функции: demodmap, dmod, dmodce, amod, amodce, apkconst.

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


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

Система Orphus

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