comm.ConstellationDiagram

Отобразите диаграмму сигнального созведия для входного сигнала

Описание

comm.ConstellationDiagram Система object™ действительные отображения - и плавание с комплексным знаком - и фиксированная точка сигнализируют в плоскости IQ. Используйте этот Системный объект, чтобы выполнить качественный и количественный анализ модулируемых сигналов одно несущей.

Constellation diagram displaying QSPK, 16-QAM, and 8-DPSK signals and signal quality measurements

В окне Constellation Diagram вы можете:

  • Введите и постройте несколько сигналов на одной схеме созвездия. Чтобы задать ссылочное созвездие для каждого входного сигнала, используйте ReferenceConstellation свойство.

  • Выберите сигналы в легенде, чтобы переключить видимость отдельных каналов. Чтобы отобразить легенду, используйте ShowLegend свойство. Для многоканального сигнала задайте вход как матрицу с отдельными сигналами, заданными в столбцах матрицы.

  • Отобразите вычисленную величину вектора ошибок (EVM) и измерения ошибочного отношения модуляции (MER) для отдельных сигналов. Чтобы просмотреть и сконфигурировать измерения, выберите EVM/MER на вкладке Measurements. Когда несколько сигналов вводятся, можно выбрать который сигнал использовать для измерений в разделе Channel.

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

  1. Создайте comm.ConstellationDiagram объект и набор его свойства.

  2. Вызовите объект с аргументами, как будто это была функция.

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?

Создание

Описание

пример

constdiag = comm.ConstellationDiagram возвращается созвездие схематически изображают Системный объект, который отображается действительный - и плавание с комплексным знаком - и сигналы фиксированной точки в плоскости IQ.

пример

constdiag = comm.ConstellationDiagram(Name,Value) свойства наборов с помощью одних или нескольких аргументов name-value. Например, 'SamplesPerSymbol',10 задает 10 выборок для каждого нанесенного на график символа.

Свойства

развернуть все

Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и release функция разблокировала их.

Если свойство является настраиваемым, можно изменить его значение в любое время.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты.

Заголовок окна Constellation Diagram в виде вектора символов или строкового скаляра.

Настраиваемый: да

Типы данных: char | string

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

Настраиваемый: да

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

Количество отсчетов, чтобы пропустить прежде, чем построить точки в виде неотрицательного целого числа меньше, чем SamplesPerSymbol значение свойства. Это значение задает количество отсчетов, чтобы пропустить когда SamplesPerSymbol больше 1.

Настраиваемый: да

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

Источник символов, чтобы отобразиться в виде одного из этих значений.

  • 'Input frame length' — Количество символов, чтобы отобразиться равно длине входного кадра, разделенной на SamplesPerSymbol значение свойства.

  • 'Property'SymbolsToDisplay свойство задает максимальное количество символов, чтобы отобразиться.

Настраиваемый: да

Типы данных: char | string

Максимальное количество символов, чтобы отобразиться в виде положительного целого числа. Используйте это свойство ограничить максимальное количество символов, которые отображает схема созвездия, когда вы вводите длинные сигналы. Объект строит последний раз полученные символы.

Настраиваемый: да

Зависимости

Чтобы включить это свойство, установите SymbolsToDisplaySource к 'Property'.

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

Ссылочные созвездия для входных сигналов в виде вектора-строки или массива ячеек векторов, задающих идеальное созвездие, указывают для каждого входного сигнала. Входные сигналы могут быть одним каналом или многоканальный. Можно задать одно ссылочное созвездие для каждого входного сигнала.

  • Когда вы задаете вектор-строку, значения запрашивают все входные сигналы.

  • Когда вы задаете массив ячеек, можно задать отдельные ссылочные созвездия для каждого входного сигнала.

EVM и измерения MER используют заданное ссылочное созвездие, чтобы вычислить качество сигнала модулируемого входного сигнала. Для получения дополнительной информации об измерениях качества сигнала, см. EVM и Измерения MER.

Настраиваемый: да

Типы данных: double
Поддержка комплексного числа: Да

Маркер для ссылочного созвездия отображается в виде одного из значений, перечисленных в этой таблице.

МаркерОписаниеПолучившийся маркер
'o'Круг

Sample of circle marker

'+'Знак «плюс»

Sample of plus sign marker

'*'Звездочка

Sample of asterisk marker

'.'Точка

Sample of point marker

'x'Крест

Sample of cross marker

'_'Горизонтальная линия

Sample of horizontal line marker

'|'Вертикальная линия

Sample of vertical line marker

's'Квадрат

Sample of square marker

'd'Ромб

Sample of diamond line marker

'^'Треугольник, направленный вверх

Sample of upward-pointing triangle marker

'v'Нисходящий треугольник

Sample of downward-pointing triangle marker

'>'Треугольник, указывающий вправо

Sample of right-pointing triangle marker

'<'Треугольник, указывающий влево

Sample of left-pointing triangle marker

'p'Пентаграмма

Sample of pentagram marker

'h'Гексаграмма

Sample of hexagram marker

'none'Никакие маркерыНе применяется

Настраиваемый: да

Цвет для ссылочного созвездия отображения в виде трехэлементного вектора-строки, указывающего на составные цвета RGB или как массив ячеек, содержащий составные цвета RGB для каждого входного сигнала.

Настраиваемый: да

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

Опция, чтобы отобразить ссылочное созвездие в виде логического 1 TRUE) или 0 ложь).

Настраиваемый: да

Типы данных: логический

Определите объем положения окна и размера в пикселях в виде четырехэлементного вектора-строки из формы [left bottom width height]. Первые два элемента в векторе указывают на местоположение нижнего левого угла, и вторые элементы два задают размер окна. Значение по умолчанию для местоположения зависит от разрешения экрана.

Настраиваемый: да

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

Опция, чтобы показать сетку на созвездии схематически изображает в виде логического 1 TRUE) или 0 ложь).

Настраиваемый: да

Типы данных: логический

Количество входных сигналов в виде целого числа в области значений [1, 20]. Каждый входной сигнал, является ли это многоканальным сигналом или одним сигналом канала, становится отдельным каналом в осциллографе.

Общее количество каналов не может превысить 20. Когда вы задаете многоканальные входные сигналы, максимальное количество входных сигналов ограничивается общим количеством входных каналов, которые вы задаете.

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

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

Опция, чтобы отобразить легенду в виде логического 0 ложь) или 1 TRUE). Имена, перечисленные в легенде, являются именами сигнала, заданными ChannelNames свойство. Легенда не отображается, пока вы не вызываете объект с входным сигналом.

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

Настраиваемый: да

Типы данных: логический

Имена для входа образовывают канал в виде массива ячеек строк или векторов символов. Если вы не задаете имена, метки объектов каналы как Channel 1, Channel 2, и т.д.

Эти имена появляются в легенде, вкладке Measurements и панели Measurements Setting.

Пример: {'8-QAM','8-PSK'} задает имена для двух входных каналов к 8-QAM и 8-PSK.

Настраиваемый: да

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

Опция, чтобы построить траекторию сигнала в виде логического 0 ложь) или 1 TRUE). Установка этого свойства к true отображает траекторию между точками созвездия для нанесенных на график сигналов. Чтобы просмотреть траекторию сигнала, выберите Trajectory на вкладке Plot.

Настраиваемый: да

Типы данных: логический

Опция, чтобы добавить цвет, исчезающий эффект в виде логического 0 ложь) или 1 TRUE). Когда вы устанавливаете это свойство на true, точки в отображении исчезают как интервал времени после того, как они будут сначала построены увеличения. Эта анимация напоминает отображение осциллографа.

Настраиваемый: да

Типы данных: логический

Постройте заголовок в виде вектора символов или строкового скаляра.

Настраиваемый: да

Типы данных: char | string

x- в виде двухэлементного вектора-строки из формы [xmin xmax]. Первым элементом является минимальное значение оси X, и вторым элементом является максимальное значение оси X.

Настраиваемый: да

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

y- в виде двухэлементного вектора-строки из формы [ymin ymax]. Первым элементом является минимальное значение оси Y, и вторым элементом является максимальное значение оси Y.

Настраиваемый: да

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

x- в виде вектора символов или строкового скаляра.

Настраиваемый: да

Типы данных: char | string

y- в виде вектора символов или строкового скаляра.

Настраиваемый: да

Типы данных: char | string

Опция, чтобы вычислить и отобразить EVM и измерения MER в виде логического 0 ложь) или 1 TRUE).

Настраиваемый: да

Типы данных: логический

Длина окна для EVM и измерений MER в виде 'Current display', 'All displays', или целое число в области значений [2, SymbolsToDisplay].

Для получения дополнительной информации см. EVM и Измерения MER.

Настраиваемый: да

Типы данных: char | string | double

Метод нормализации EVM в виде 'Average constellation power' или 'Peak constellation power'. Для получения дополнительной информации см. EVM и Измерения MER.

Настраиваемый: да

Использование

Описание

пример

constdiag(signal1, ..., signalN) отображения до N сигнализируют в одной схеме созвездия, где N является NumInputPorts значение свойства.

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

развернуть все

Сигналы в виде отдельных аргументов N sym-1 вектор-столбцы или N sym-by-Nchannel матрицы. N sym является количеством символов, и канал N является количеством каналов входного сигнала. Сигналы могут иметь различные типы данных и размерности.

Необходимо задать входные параметры N, где N является NumInputPorts значение свойства. Можно визуализировать до 20 отдельных или коллективных каналов сигнала в схеме созвездия. Например, если вы создаете двухканальный сигнал для каждого входа, затем можно задать до 10 входных параметров.

Пример: [sig1_1,sig1_2],sig2 задает два сигнала, при условии, что sig1_1, sig1_2, и sig2 один сигналы вектор-столбца канала. первое, [sig1_1,sig1_2], задает двухканальный сигнал (созданный путем конкатенации двух вектор-столбцов в матрицу). Второй сигнал, sig2, задает один канал.

Типы данных: double
Поддержка комплексного числа: Да

Функции объекта

Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:

release(obj)

развернуть все

showОкно Show scope
hideСкройте окно scope
isVisibleОпределите видимость окна scope
stepЗапустите алгоритм Системного объекта
releaseВысвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики
resetСбросьте внутренние состояния Системного объекта

Примеры

свернуть все

QPSK - модулирует случайные символы данных и применяет амплитудную неустойчивость к сигналу. Передайте сигнал через шумный канал. Отобразите результирующее созвездие.

Создайте Системный объект схемы созвездия. Поскольку ссылочное созвездие по умолчанию для объекта является QPSK, установка дополнительных свойств не необходима.

constDiagram = comm.ConstellationDiagram;

Сгенерируйте случайные символы данных, и затем примените модуляцию QPSK.

data = randi([0 3],1000,1);
modData = pskmod(data,4,pi/4);

Примените амплитудную неустойчивость к модулируемому сигналу.

txSig = iqimbal(modData,5);

Передайте переданный сигнал через канал AWGN, и затем отобразите схему созвездия. Точки данных переключают от их идеальных местоположений.

rxSig = awgn(txSig,20);
constDiagram(rxSig)

Примените 16-QAM модуляцию, передайте данные с помощью канала AWGN и отобразите сигнальное созвездие.

Создайте 16-QAM ссылочное созвездие.

M = 16;
refC = qammod(0:M-1,M);

Создайте Системный объект схемы созвездия, задав контрольные точки созвездия и пределы осей.

constDiagram = comm.ConstellationDiagram('ReferenceConstellation',refC, ...
    'XLimits',[-4 4],'YLimits',[-4 4]);

Сгенерируйте случайные 16-ary символы данных.

data = randi([0 M-1],1000,1);

Примените 16-QAM модуляцию.

sym = qammod(data,M);

Передайте модулируемый сигнал через канал AWGN.

rcv = awgn(sym,15);

Отобразите схему созвездия.

constDiagram(rcv)

Отобразите созвездие мультивхода и многоканальных модулируемых сигналов. Постройте многоканальный сигнал с двумя 16-QAM сигналами для первого входа и одним сигналом 8-PSK для второго входа.

Создайте 16-QAM и созвездие ссылки 8-PSK.

M = 16;
refQAM = qammod(0:M-1,M);
S = 8;
refPSK = pskmod(0:S-1,S,pi/8);

Создайте Системный объект схемы созвездия, задав ссылочные созвездия для этих двух входных сигналов. Объект применяет одно ссылочное созвездие для всех каналов отдельного многоканального входа сигнала, но отдельные входные сигналы могут задать отдельные ссылочные созвездия.

constDiag = comm.ConstellationDiagram(2, ...
    'ReferenceConstellation',{refQAM,refPSK}, ...
    'ShowLegend',true, ...
    'XLimits',[-6 6],'YLimits',[-6 6], ...
    'ChannelNames', ...
    {'16-QAM, SNR 10 dB','16-QAM, SNR 20 dB','8-PSK'});

Сгенерируйте случайные символы данных, модулируйте символы и добавьте AWGN с двумя различными SNRs, чтобы дать к двум полученным сигналам. Используйте значения ОСШ 10 и 20 дБ.

d = randi([0 M-1],1000,1);
dQAM = qammod(d,M);
rcv1_1 = awgn(dQAM,10);
rcv1_2 = awgn(dQAM,20);
d = randi([0 S-1],1000,1);
dPSK = pskmod(d,S,pi/8);
rcv2 = awgn(dPSK,20);

Для первого входа создайте многоканальный сигнал путем конкатенации двух полученных 16-QAM сигналов. Поскольку второй вход использует один канал сигнал 8-PSK.

Отобразите схему созвездия мультивхода и многоканальных сигналов.

constDiag([rcv1_1,rcv1_2],rcv2);

Больше о

развернуть все

Советы

  • Чтобы получить простой снимок состояния сигнального созвездия, используйте scatterplot функция.

  • Чтобы вычислить качество сигнала, покажите траекторию сигнала, получите созвездия для нескольких сигналов, или обеспечьте состояние между вызовами, используйте comm.ConstellationDiagram Системный объект.

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

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

Блоки

Функции

Введенный в R2013a