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

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

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

DEMODMAP
Преобразование аналогового демодулированного сигнала
в цифровой сигнал

Синтаксис:

z = demodmap(x,Fd,Fs,'ask',M);
z = demodmap(x,Fd,Fs,'fsk',M,tone);
z = demodmap(x,Fd,Fs,'msk');
z = demodmap(x,Fd,Fs,'psk',M);
z = demodmap(x,Fd,Fs,'qask',M);
z = demodmap(x,Fd,Fs,'qask/arb',inphase,quadr);
z = demodmap(x,Fd,Fs,'qask/cir',numsig,amp,phs);
z = demodmap(x,[Fd offset],Fs,...)

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

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

Описание:

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

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

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

Функция demodmap вызывается следующим образом:

z = demodmap(x,Fd,Fs,...)
При этом производится восстановление цифрового сообщения z из аналогового сигнала x. После измерения расстояния от значений входного сигнала до всех точек используемого созвездия функция выбирает символ, соответствующий ближайшей точке.

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

Частоты дискретизации (в герцах) для сигналов x и z равны, соответственно, Fs и Fd. (Таким образом, величина 1/Fd представляет собой период следования символов из сигнала z, а величина 1/Fs - период дискретизации сигнала x.) Отношение Fs/Fd должно быть положительным целым числом. Расстояние между соседними точками принятия решения о переданных символах равно 1/Fd.

Чтобы сдвинуть точки принятия решения вперед на целое число отсчетов offset, вместо числа Fd задается двухэлементный вектор:

z = demodmap(x,[Fd offset],...)
Такая модификация может использоваться для всех перечисленных далее вариантов синтаксиса. По умолчанию offset = 0.

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

  • z = demodmap(x,Fd,Fs,'ask',M)

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

  • z = demodmap(x,Fd,Fs,'fsk',M,tone)

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

  • z = demodmap(x,Fd,Fs,'msk')

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

  • z = demodmap(x,Fd,Fs,'psk',M)

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

  • z = demodmap(x,Fd,Fs,'qask',M)

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

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

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

  • z = demodmap(x,Fd,Fs,'qask/arb',inphase,quadr)

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

  • z = demodmap(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').

Примеры.

Приведенный ниже сценарий показывает, какие области на плоскости в координатах (синфазная амплитуда - квадратурная амплитуда) соответствуют разным символам цифрового сообщения при использовании 4-позиционной ФМн. Для этого формируются случайно расположенные на плоскости точки, с помощью функции demodmap они преобразуются в символы сообщения. Далее точки, отображенные функцией в символ 0, выводятся на график красным цветом, а в символ 2 - синим. Горизонтальная ось соответствует синфазной амплитуде, вертикальная - квадратурной.

x = 4*(rand(1000,2)-1/2); % Создаем случайные координаты точек
y = demodmap(x,1,1,'psk',4); % Преобразуем в цифровое сообщение, используя ФМн-4
red = find(y==0); % Индексы точек, давших символ 0
h = scatterplot(x(red,:),1,0,'r.'); hold on % Выводим красным цветом
blue = find(y==2); % Индексы точек, давших символ 2
scatterplot(x(blue,:),1,0,'b.',h); hold off % Выводим синим цветом


Сопутствующие функции: modmap, ddemod, ddemodce, ademod, ademodce, eyediagram, scatterplot.

 

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


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

Система Orphus

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