wlanConstellationMap

Отображение созвездия

Описание

пример

y = wlanConstellationMap(bits,numBPSCS) сопоставляет входную последовательность bits с помощью количества закодированных битов на поднесущую на пространственный поток, numBPSCS, к одной из следующих модуляций:

  • BPSK, QPSK, 16QAM, или 64QAM, согласно IEEE® 802.11™-2012, разделяет 18.3.5.8

  • 256QAM, согласно IEEE 802.11ac™-2012, раздел 22.3.10.9.1

  • 1024QAM, согласно IEEE 802.11-16/0922r2

Отображение созвездия выполняется по столбцам.

пример

y = wlanConstellationMap(bits,numBPSCS,phase) вращает точки созвездия против часовой стрелки количеством радианов, заданных в phase.

Примеры

свернуть все

Выполните 256QAM отображение, как задано в IEEE® 802.11ac™-2013 Section 22.3.10.9.1.

Создайте последовательность битов данных.

bits = randi([0 1],416,1,'int8');

Выполните отображение созвездия на битах данных с 256QAM модуляция.

numBPSCS = 8;
mappedData = wlanConstellationMap(bits,numBPSCS);

Размер выходного параметра, возвращенного этой модуляцией, равняется размеру входной последовательности, разделенной на восемь.

size(mappedData)
ans = 1×2

    52     1

Выполните a π2- Отображение BPSK на последовательности битов данных, как задано в IEEE® 802.11ad™-2012 Section 21.6.3.2.4.

Создайте последовательность битов данных.

bits = randi([0 1],512,1);

Выполните отображение BPSK на битах данных с вращением π2 радианы. Обратите внимание на то, что размер вращения созвездия phase равно размеру входной последовательности.

numBPSCS = 1;
phase = pi*(0:size(bits,1)/numBPSCS-1).'/2;
mappedData = wlanConstellationMap(bits,numBPSCS,phase);

Когда мы выполнили отображение BPSK, количество символов на бит один, поэтому размер выхода равен размеру исходной последовательности.

size(mappedData)
ans = 1×2

   512     1

Отобразите модулируемое сигнальное созвездие с помощью scatterplot функция.

scatterplot(mappedData);

Figure Scatter Plot contains an axes. The axes with title Scatter plot contains an object of type line. This object represents Channel 1.

Выполните BPSK и QBPSK demapping для различных символов OFDM для поля VHT-SIG-A при помощи мягкой демодуляции. Отображение задано в IEEE® 802.11ac™-2013 Section 22.3.8.3.3 для поля VHT-SIG-A.

Создайте последовательность битов данных. Поместите два символа OFDM в столбцы.

bits = randi([0 1],48,2,'int8');

Выполните отображение созвездия на битах данных. Задайте размер вращения созвездия phase как количество столбцов во входной последовательности. Первый столбец сопоставлен с модуляцией BPSK. Второй столбец модулируется с модуляцией QBPSK.

numBPSCS = 1;
phase = [0 pi/2];
mappedData = wlanConstellationMap(bits,numBPSCS,phase);

Отобразите модулируемое сигнальное созвездие при помощи scatterplot функция. Первый график показывает данные после модуляции BPSK, и второй график показывает QBPSK-модулируемые символы.

scatterplot(mappedData(:,1))

Figure Scatter Plot contains an axes. The axes with title Scatter plot contains an object of type line. This object represents Channel 1.

scatterplot(mappedData(:,2))

Figure Scatter Plot contains an axes. The axes with title Scatter plot contains an object of type line. This object represents Channel 1.

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

свернуть все

Введите последовательность битов, чтобы сопоставить в символы в виде бинарного вектора, матрицы или многомерного массива.

Типы данных: double | int8

Количество закодированных битов на поднесущую на пространственный поток в виде log2 (M), где M является порядком модуляции. Поэтому numBPSCS должен равняться:

  • 1 для модуляции BPSK

  • 2 для модуляции QPSK

  • 4 для 16QAM модуляция

  • 6 для 64QAM модуляция

  • 8 для 256QAM модуляция

  • 10 для 1024QAM модуляция

Пример 4

Типы данных: double

Вращение созвездия в радианах в виде скаляра, вектора или многомерного массива. Размер phase должно быть совместимо с размером входа bits. phase и bits имейте совместимые размеры, если для каждой соответствующей размерности размеры размерности или равны или один из них, 1. Когда одна из размерностей bits равно 1, и соответствующая размерность phase больше, чем 1, затем выходные размерности имеют тот же размер как размерности phase.

Пример: pi*(0:size(bits,1)/numBPSCS-1).'/2;

Типы данных: double

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

свернуть все

Сопоставленные символы, возвращенные как комплексный вектор, матрица или многомерный массив. y имеет тот же размер как bits, за исключением количества строк, которое равно количеству строк bits разделенный на numBPSCS.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

Введенный в R2017b