Этот пример показывает, как построить созвездие PSK, имеющее 16 точек.
Установите параметры для 16-PSK модуляции без смещения фазы и двоичного отображения символов.
M = 16; % Modulation alphabet size phOffset = 0; % Phase offset symMap = 'binary'; % Symbol mapping (either 'binary' or 'gray')
Создайте объект модулятора.
pskModulator = comm.PSKModulator(M,phOffset,'SymbolMapping',symMap);
Постройте график созвездия.
constellation(pskModulator)
Этот пример показывает, как построить созвездие QAM, имеющее 32 точки.
Используйте qammod
функция для генерации 32-QAM символов с двоичным упорядоченным расположением символов.
M = 32;
data = 0:M-1;
sym = qammod(data,M,'bin');
Постройте график созвездия. Пометьте порядок символов созвездия.
scatterplot(sym,1,0,'b*'); for k = 1:M text(real(sym(k))-0.4,imag(sym(k))+0.4,num2str(data(k))); end axis([-6 6 -6 6])
Используйте функцию qammod, чтобы сгенерировать символы 8-QAM с упорядоченным расположением символов Грея. Обратите внимание, что Грей-кодирование является отображением символов по умолчанию для qammod
функция.
M = 8; data = 0:M-1; sym = qammod(data,M);
Постройте график созвездия. Пометьте порядок символов созвездия.
scatterplot(sym,1,0,'r*'); grid on for k = 1:M text(real(sym(k))-0.4,imag(sym(k))+0.4,num2str(data(k))); end axis([-4 4 -2 2])
Этот пример показов, как построить пользовательское созвездие ссылки QAM.
Опишите созвездие.
inphase = [1/2 -1/2 1 0 3/2 -3/2 1 -1]; quadr = [1 1 0 2 1 1 2 2]; inphase = [inphase; -inphase]; inphase = inphase(:); quadr = [quadr; -quadr]; quadr = quadr(:); refConst = inphase + 1i*quadr;
Создайте созвездие схемы Системный объект с помощью пар "имя-значение", чтобы задать название, пределы осей, тип маркера ссылки и цвет маркера ссылки.
constDiagram = comm.ConstellationDiagram('Title','Customized Constellation for QAM', ... 'XLimits',[-3 3],'YLimits',[-3 3], ... 'ReferenceConstellation',refConst, ... 'ReferenceMarker','*','ReferenceColor',[0 1 0]);
Постройте график настраиваемого созвездия.
constDiagram(refConst)