exponenta event banner

pskmod

Модуляция фазовой манипуляции

Описание

y = pskmod(x,M) модулирует входной сигнал, x, с использованием фазовой манипуляции (PSK) с порядком модуляции M.

пример

y = pskmod(x,M,ini_phase) определяет начальную фазу сигнала, модулированного PSK.

y = pskmod(x,M,ini_phase,symorder) определяет порядок символов сигнала, модулированного PSK.

Примеры

свернуть все

Модулировать и строить графики совокупностей QPSK и 16-PSK сигналов.

QPSK

Установите порядок модуляции равным 4.

M = 4;

Создание случайных символов данных.

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

Модулировать символы данных.

txSig = pskmod(data,M,pi/M);

Пропустите сигнал через белый шум и постройте график его созвездия.

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

Figure Scatter Plot contains an axes. The axes with title Scatter plot contains an object of type line. This object represents Channel 1.

16-PSK

Измените порядок модуляции с 4 на 16.

M = 16;

Создание случайных символов данных.

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

Модулировать символы данных.

txSig = pskmod(data,M,pi/M);

Пропустите сигнал через белый шум и постройте график его созвездия.

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

Figure Scatter Plot contains an axes. The axes with title Scatter plot contains an object of type line. This object represents Channel 1.

Создание случайных символов.

dataIn = randi([0 3],1000,1);

QPSK модулирует данные.

txSig = pskmod(dataIn,4,pi/4);

Передача сигнала по каналу AWGN.

rxSig = awgn(txSig,10);

Демодулируют принятый сигнал и вычисляют количество символьных ошибок.

dataOut = pskdemod(rxSig,4,pi/4);
numErrs = symerr(dataIn,dataOut)
numErrs = 2

Постройте график отображения символов PSK для данных серого и натурального двоичного кодирования.

Установите порядок модуляции, а затем создайте последовательность данных, содержащую полный набор точек созвездия.

M = 8;
data = (0:M-1);
phz = 0;

Модулировать и демодулировать данные с использованием данных Грея и натуральных двоичных кодированных данных.

symgray = pskmod(data,M,phz,'gray');
mapgray = pskdemod(symgray,M,phz,'gray');

symbin = pskmod(data,M,phz,'bin');
mapbin = pskdemod(symbin,M,phz,'bin');

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

  • Для отображения двоичных символов Грея смежные точки созвездия отличаются одним двоичным битом и не являются численно последовательными.

  • Для отображения натуральных двоичных символов смежные точки созвездия следуют естественному двоичному кодированию и являются последовательными.

scatterplot(symgray,1,0,'b*');
for k = 1:M
    text(real(symgray(k))-0.2,imag(symgray(k))+.15,...
        dec2base(mapgray(k),2,4));
     text(real(symgray(k))-0.2,imag(symgray(k))+.3,...
         num2str(mapgray(k)));
    
    text(real(symbin(k))-0.2,imag(symbin(k))-.15,...
        dec2base(mapbin(k),2,4),'Color',[1 0 0]);
    text(real(symbin(k))-0.2,imag(symbin(k))-.3,...
        num2str(mapbin(k)),'Color',[1 0 0]);
end
axis([-2 2 -2 2])

Figure Scatter Plot contains an axes. The axes with title Scatter plot contains 33 objects of type line, text. This object represents Channel 1.

Входные аргументы

свернуть все

Входной сигнал, определяемый как вектор или матрица положительных целых чисел. Элементы x должны иметь значения в диапазоне [0, M – 1].

Пример: randi([0 3],100,1)

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

Порядок модуляции, заданный как целочисленная степень, равная двум.

Пример: 2 | 4 | 16

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

Начальная фаза модуляции PSK, заданная в радианах как действительный скаляр.

При указании ini_phase как пустые, то pskmod использует начальную фазу 0.

Пример: pi/4

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

Порядок символов, указанный как 'bin' или 'gray'. Этот аргумент указывает, как функция присваивает двоичные векторы соответствующим целым числам.

  • Если symorder является 'bin', функция использует естественный двоично-кодированный порядок.

  • Если symorder является 'gray'функция использует порядок, закодированный Серым.

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

Выходные аргументы

свернуть все

Комплексное представление модулирующего сигнала, модулированного PSK, возвращаемого в виде вектора или матрицы комплексных значений. Столбцы y представляют собой независимые каналы.

Представлен до R2006a