Схема графика рассеивания или созвездия используется, чтобы визуализировать созвездие в цифровой форме модулируемого сигнала.
Чтобы произвести график рассеивания из сигнала, используйте scatterplot
функционируйте или используйте comm.ConstellationDiagram
Система object™. График рассеивания или схема созвездия могут быть полезными при сравнении производительности системы с опубликованным стандартом, такой как 3GPP или DVB.
Вы создаете comm.ConstellationDiagram
объект с объектом по умолчанию или путем определения пар "имя-значение".
В этом примере показано, как использовать схемы созвездия для представления QPSK переданные и полученные сигналы, которые импульсной формы с повышенным фильтром косинуса.
Создайте модулятор QPSK.
qpsk = comm.QPSKModulator;
Создайте повышенный фильтр передачи косинуса с выборками на символ, sps
, равняйтесь 16.
sps = 16; txfilter = comm.RaisedCosineTransmitFilter('Shape','Normal', ... 'RolloffFactor',0.22, ... 'FilterSpanInSymbols',20, ... 'OutputSamplesPerSymbol',sps);
Сгенерируйте символы данных, примените модуляцию QPSK и передайте модулируемые данные через повышенный фильтр передачи косинуса.
data = randi([0 3],200,1); modData = qpsk(data); txSig = txfilter(modData);
Можно отобразить схему созвездия переданного сигнала с помощью scatterplot
. Поскольку сигнал сверхдискретизирован в фильтре выход, необходимо десятикратно уменьшить количеством выборок на символ так, чтобы график рассеивания не показывал путь к переходу между точками созвездия. Если бы сигнал имел смещение синхронизации, вы могли бы обеспечить что как входной параметр, чтобы отобразить сигнальное созвездие с откорректированным смещением синхронизации.
scatterplot(txSig,sps)
Альтернативно, можно использовать comm.ConstellationDiagram
, определение количества выборок на символ, и в случае необходимости синхронизации возмещено. Кроме того, использование comm.ConstellationDiagram
ссылочное созвездие можно показать.
Создайте схему созвездия и установите SamplesPerSymbol
свойство к фактору сверхдискретизации сигнала. Задайте схему созвездия так, чтобы она только отобразила последние 100 выборок. Это скрывает нулевые значения, выведенные фильтром RRC для первого FilterSpanInSymbols
выборки.
constDiagram = comm.ConstellationDiagram('SamplesPerSymbol',sps, ... 'SymbolsToDisplaySource','Property','SymbolsToDisplay',100);
Отобразите схему созвездия переданного сигнала.
constDiagram(txSig)
Чтобы совпадать с сигналом к его ссылочному созвездию, нормируйте фильтр путем установки его усиления на квадратный корень из OutputSamplesPerSymbol
свойство. Это было ранее задано как sps
. Усиление фильтра является ненастраиваемым, таким образом, объект должен быть выпущен до изменения этого значения.
release(txfilter) txfilter.Gain = sqrt(sps);
Передайте модулируемый сигнал через нормированный фильтр.
txSig = txfilter(modData);
Отобразите схему созвездия нормированного сигнала. Точки данных и ссылочное созвездие почти перекрываются.
constDiagram(txSig)
Чтобы просмотреть переданный сигнал более ясно, скройте ссылочное созвездие путем установки ShowReferenceConstellation
свойство к false
.
constDiagram.ShowReferenceConstellation = false;
Создайте сигнал с шумом путем передачи txSig
через канал AWGN.
rxSig = awgn(txSig,20,'measured');
Покажите ссылочное созвездие и постройте полученное сигнальное созвездие.
constDiagram.ShowReferenceConstellation = true; constDiagram(rxSig)
Можно также использовать scatterplot
чтобы просмотреть этот сигнал с шумом, но существует не создано в опции, чтобы добавить ссылочное созвездие с помощью scatterplot
.
scatterplot(rxSig,sps)