Отобразите диаграмму сигнального созведия для входного сигнала
comm.ConstellationDiagram
Система object™ действительные отображения - и плавание с комплексным знаком - и фиксированная точка сигнализируют в плоскости IQ. Используйте этот Системный объект, чтобы выполнить качественный и количественный анализ модулируемых сигналов одно несущей.
В окне Constellation Diagram вы можете:
Введите и постройте несколько сигналов на одной схеме созвездия. Чтобы задать ссылочное созвездие для каждого входного сигнала, используйте ReferenceConstellation
свойство.
Выберите сигналы в легенде, чтобы переключить видимость отдельных каналов. Чтобы отобразить легенду, используйте ShowLegend
свойство. Для многоканального сигнала задайте вход как матрицу с отдельными сигналами, заданными в столбцах матрицы.
Отобразите вычисленную величину вектора ошибок (EVM) и измерения ошибочного отношения модуляции (MER) для отдельных сигналов. Чтобы просмотреть и сконфигурировать измерения, выберите EVM/MER на вкладке Measurements. Когда несколько сигналов вводятся, можно выбрать который сигнал использовать для измерений в разделе Channel.
Отобразить диаграммы сигнального созведия для входного сигнала:
Создайте comm.ConstellationDiagram
объект и набор его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?
возвращается созвездие схематически изображают Системный объект, который отображается действительный - и плавание с комплексным знаком - и сигналы фиксированной точки в плоскости IQ.constdiag
= comm.ConstellationDiagram
свойства наборов с помощью одних или нескольких аргументов name-value. Например, constdiag
= comm.ConstellationDiagram(Name
,Value
)'SamplesPerSymbol',10
задает 10 выборок для каждого нанесенного на график символа.
Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и release
функция разблокировала их.
Если свойство является настраиваемым, можно изменить его значение в любое время.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты.
Name
— Заголовок окна Constellation Diagram'Constellation Diagram'
(значение по умолчанию) | вектор символов | строковый скалярЗаголовок окна Constellation Diagram в виде вектора символов или строкового скаляра.
Настраиваемый: да
Типы данных: char |
string
SamplesPerSymbol
— Количество отсчетов раньше представляло каждый символ
(значение по умолчанию) | положительное целое числоКоличество отсчетов раньше представляло каждый символ в виде положительного целого числа. Сигнал прорежен значением этого свойства, прежде чем это будет построено.
Настраиваемый: да
Типы данных: double
SampleOffset
— Количество отсчетов, чтобы пропустить прежде, чем построить точки
(значение по умолчанию) | неотрицательное целое числоКоличество отсчетов, чтобы пропустить прежде, чем построить точки в виде неотрицательного целого числа меньше, чем SamplesPerSymbol
значение свойства. Это значение задает количество отсчетов, чтобы пропустить когда SamplesPerSymbol
больше 1.
Настраиваемый: да
Типы данных: double
SymbolsToDisplaySource
— Источник символов, чтобы отобразиться'Input frame length'
(значение по умолчанию) | 'Property'
Источник символов, чтобы отобразиться в виде одного из этих значений.
'Input frame length'
— Количество символов, чтобы отобразиться равно длине входного кадра, разделенной на SamplesPerSymbol
значение свойства.
'Property'
— SymbolsToDisplay
свойство задает максимальное количество символов, чтобы отобразиться.
Настраиваемый: да
Типы данных: char |
string
SymbolsToDisplay
— Максимальное количество символов, чтобы отобразиться
(значение по умолчанию) | положительное целое числоМаксимальное количество символов, чтобы отобразиться в виде положительного целого числа. Используйте это свойство ограничить максимальное количество символов, которые отображает схема созвездия, когда вы вводите длинные сигналы. Объект строит последний раз полученные символы.
Настраиваемый: да
Чтобы включить это свойство, установите SymbolsToDisplaySource
к 'Property'
.
Типы данных: double
ReferenceConstellation
— Ссылочные созвездия[0.7071+0.7071i -0.7071+0.7071i -0.7071-0.7071i 0.7070-0.7071i]
(значение по умолчанию) | вектор-строка | массив ячеекСсылочные созвездия для входных сигналов в виде вектора-строки или массива ячеек векторов, задающих идеальное созвездие, указывают для каждого входного сигнала. Входные сигналы могут быть одним каналом или многоканальный. Можно задать одно ссылочное созвездие для каждого входного сигнала.
Когда вы задаете вектор-строку, значения запрашивают все входные сигналы.
Когда вы задаете массив ячеек, можно задать отдельные ссылочные созвездия для каждого входного сигнала.
EVM и измерения MER используют заданное ссылочное созвездие, чтобы вычислить качество сигнала модулируемого входного сигнала. Для получения дополнительной информации об измерениях качества сигнала, см. EVM и Измерения MER.
Настраиваемый: да
Типы данных: double
Поддержка комплексного числа: Да
ReferenceMarker
— Маркер для ссылочного отображения созвездия'+'
(значение по умолчанию) | 'o'
| '*'
| '.'
| 'x'
| ...Маркер для ссылочного созвездия отображается в виде одного из значений, перечисленных в этой таблице.
Маркер | Описание | Получившийся маркер |
---|---|---|
'o' | Круг |
|
'+' | Знак «плюс» |
|
'*' | Звездочка |
|
'.' | Точка |
|
'x' | Крест |
|
'_' | Горизонтальная линия |
|
'|' | Вертикальная линия |
|
's' | Квадрат |
|
'd' | Ромб |
|
'^' | Треугольник, направленный вверх |
|
'v' | Нисходящий треугольник |
|
'>' | Треугольник, указывающий вправо |
|
'<' | Треугольник, указывающий влево |
|
'p' | Пентаграмма |
|
'h' | Гексаграмма |
|
'none' | Никакие маркеры | Не применяется |
Настраиваемый: да
ReferenceColor
— Цвет для ссылочного созвездия отображения
(красное) (значение по умолчанию) | трехэлементный вектор-строка | массив ячеекЦвет для ссылочного созвездия отображения в виде трехэлементного вектора-строки, указывающего на составные цвета RGB или как массив ячеек, содержащий составные цвета RGB для каждого входного сигнала.
Настраиваемый: да
Типы данных: double
ShowReferenceConstellation
— Опция, чтобы отобразить ссылочное созвездиеtrue
или 1
(значение по умолчанию) | false
или 0
Опция, чтобы отобразить ссылочное созвездие в виде логического 1
TRUE
) или 0
ложь
).
Настраиваемый: да
Типы данных: логический
Position
— Определите объем положения окна и размераОпределите объем положения окна и размера в пикселях в виде четырехэлементного вектора-строки из формы [left bottom width height]. Первые два элемента в векторе указывают на местоположение нижнего левого угла, и вторые элементы два задают размер окна. Значение по умолчанию для местоположения зависит от разрешения экрана.
Настраиваемый: да
Типы данных: double
ShowGrid
— Опция, чтобы показать сеткуtrue
или 1
(значение по умолчанию) | false
или 0
Опция, чтобы показать сетку на созвездии схематически изображает в виде логического 1
TRUE
) или 0
ложь
).
Настраиваемый: да
Типы данных: логический
NumInputPorts
— Количество входных сигналов
(значение по умолчанию) | целое число в области значений [1, 20]Количество входных сигналов в виде целого числа в области значений [1, 20]. Каждый входной сигнал, является ли это многоканальным сигналом или одним сигналом канала, становится отдельным каналом в осциллографе.
Общее количество каналов не может превысить 20. Когда вы задаете многоканальные входные сигналы, максимальное количество входных сигналов ограничивается общим количеством входных каналов, которые вы задаете.
Когда вы вызываете объект, количество входных параметров, которые вы задаете, должно равняться значению этого свойства.
Типы данных: double
ShowLegend
— Опция, чтобы отобразить легендуfalse
или 0
(значение по умолчанию) | true
или 1
Опция, чтобы отобразить легенду в виде логического 0
ложь
) или 1
TRUE
). Имена, перечисленные в легенде, являются именами сигнала, заданными ChannelNames
свойство. Легенда не отображается, пока вы не вызываете объект с входным сигналом.
В легенде scope кликните по имени сигнала, чтобы переключить видимость сигнала в осциллографе.
Настраиваемый: да
Типы данных: логический
ChannelNames
— Имена для входных каналов{''}
(значение по умолчанию) | массив ячеек строк или векторов символовИмена для входа образовывают канал в виде массива ячеек строк или векторов символов. Если вы не задаете имена, метки объектов каналы как Channel 1
, Channel 2
, и т.д.
Эти имена появляются в легенде, вкладке Measurements и панели Measurements Setting.
Пример: {'8-QAM','8-PSK'}
задает имена для двух входных каналов к 8-QAM
и 8-PSK
.
Настраиваемый: да
Типы данных: cell
ShowTrajectory
— Опция, чтобы построить траекторию сигналаfalse
или 0
(значение по умолчанию) | true
или 1
Опция, чтобы построить траекторию сигнала в виде логического 0
ложь
) или 1
TRUE
). Установка этого свойства к true
отображает траекторию между точками созвездия для нанесенных на график сигналов. Чтобы просмотреть траекторию сигнала, выберите Trajectory на вкладке Plot.
Настраиваемый: да
Типы данных: логический
ColorFading
— Опция, чтобы добавить цвет, исчезающий эффектfalse
или 0
(значение по умолчанию) | true
или 1
Опция, чтобы добавить цвет, исчезающий эффект в виде логического 0
ложь
) или 1
TRUE
). Когда вы устанавливаете это свойство на true
, точки в отображении исчезают как интервал времени после того, как они будут сначала построены увеличения. Эта анимация напоминает отображение осциллографа.
Настраиваемый: да
Типы данных: логический
Title
— Постройте заголовок''
(значение по умолчанию) | вектор символов | строковый скалярПостройте заголовок в виде вектора символов или строкового скаляра.
Настраиваемый: да
Типы данных: char |
string
XLimits
— x - пределы по осям
(значение по умолчанию) | двухэлементный вектор-строкаx- в виде двухэлементного вектора-строки из формы [xmin xmax]. Первым элементом является минимальное значение оси X, и вторым элементом является максимальное значение оси X.
Настраиваемый: да
Типы данных: double
YLimits
— y - пределы по осям
(значение по умолчанию) | двухэлементный вектор-строкаy- в виде двухэлементного вектора-строки из формы [ymin ymax]. Первым элементом является минимальное значение оси Y, и вторым элементом является максимальное значение оси Y.
Настраиваемый: да
Типы данных: double
XLabel
— x - подпись по осям'In-phase Amplitude'
(значение по умолчанию) | вектор символов | строковый скалярx- в виде вектора символов или строкового скаляра.
Настраиваемый: да
Типы данных: char |
string
YLabel
— y - подпись по осям'Quadrature Amplitude'
(значение по умолчанию) | вектор символов | строковый скалярy- в виде вектора символов или строкового скаляра.
Настраиваемый: да
Типы данных: char |
string
EnableMeasurements
— Опция, чтобы вычислить и отобразить EVM и измерения MERfalse
или 0
(значение по умолчанию) | true
или 1
Опция, чтобы вычислить и отобразить EVM и измерения MER в виде логического 0
ложь
) или 1
TRUE
).
Настраиваемый: да
Типы данных: логический
MeasurementInterval
— Длина окна для EVM и измерений MER'Current display'
(значение по умолчанию) | 'All displays'
| ...Длина окна для EVM и измерений MER в виде 'Current display'
, 'All displays'
, или целое число в области значений [2, SymbolsToDisplay
].
Для получения дополнительной информации см. EVM и Измерения MER.
Настраиваемый: да
Типы данных: char |
string
| double
EVMNormalization
— Метод нормализации EVM'Average constellation power'
(значение по умолчанию) | 'Peak constellation power'
Метод нормализации EVM в виде 'Average constellation power'
или 'Peak constellation power'
. Для получения дополнительной информации см. EVM и Измерения MER.
Настраиваемый: да
constdiag(
отображения до N сигнализируют в одной схеме созвездия, где N является signal1, ..., signalN
)NumInputPorts
значение свойства.
signal1, ..., signalN
— Сигналы (в качестве отдельных аргументов)Сигналы в виде отдельных аргументов 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)
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);
Панель Measurements отображает EVM и настройки измерения качества сигнала MER и результаты вычисления для заданного канала сигнала.
EVM — Вектор ошибок является вектором в плоскости IQ от идеальной точки созвездия до реальной точки в приемнике. Вычисления EVM включают среднеквадратичное значение (RMS), пик и средние значения.
Можно нормировать RMS EVM и Вычисления среднего значения EVM средним или пиковым методом степени созвездия, как вычислено использующим эти алгоритмы.
Метод нормализации EVM | Алгоритм |
---|---|
Средняя степень созвездия |
RMS EVM, в проценте, для средней нормализации степени созвездия: |
Пиковая степень созвездия |
RMS EVM, в проценте, для пиковой нормализации степени созвездия: |
Панель Measurements показывает RMS и пику EVM в проценте и средних и пиковых децибелах EVM для выбранного входного канала. EVM в децибелах вычисляется как EVM (дБ) = 10 ‑ log10 (MS EVM) = 20 ‑ log10 (RMS EVM), где:
Ik является синфазным значением k th символ во входном векторе.
Qk является квадратурным значением фазы k th символ во входном векторе.
Ik и Qk представляют идеальные (ссылочные) значения символа. и представляйте измеренные (полученные) значения символа.
N является длиной входного вектора.
P в среднем является значением для средней степени созвездия.
P макс. является значением для пиковой степени созвездия.
Максимальное значение EVM в векторе где k является k-ым символом в векторе из длины N.
MER — MER является отношением средней степени переданного сигнала к средней степени вектора ошибок. Панель Measurements указывает на средний результат измерения MER в децибелах для выбранного канала сигнала.
MER является мерой ОСШ в модулируемом сигнале, вычисленном в дБ. MER по символам N
где:
I k является синфазным значением k-ого символа во входном векторе.
Q k является квадратурным значением фазы k-ого символа во входном векторе.
I k и Qk представляют идеальные (ссылочные) значения. и представляйте измеренные (полученные) символы.
Чтобы получить простой снимок состояния сигнального созвездия, используйте scatterplot
функция.
Чтобы вычислить качество сигнала, покажите траекторию сигнала, получите созвездия для нескольких сигналов, или обеспечьте состояние между вызовами, используйте comm.ConstellationDiagram
Системный объект.
Указания и ограничения по применению:
Генерация кода поддержек MEX путем обработки вызовов объекта как значение внешних параметров. Не поддерживает генерацию кода для автономных приложений.
Смотрите системные объекты в Генерации кода MATLAB (MATLAB Coder).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.