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

Выполните 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))

scatterplot(mappedData(:,2))

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

свернуть все

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

Типы данных: 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