genqamdemod

Общая квадратурная амплитудная демодуляция

Синтаксис

Описание

пример

z = genqamdemod(y,const) демодулирует комплексный конверт, y, из квадратурной амплитуды модулируемый сигнал с помощью отображения сигнала задан в const.

Примеры

свернуть все

Создайте точки, которые описывают шестиугольное созвездие.

inphase = [1/2 1 1 1/2 1/2 2 2 5/2];
quadr = [0 1 -1 2 -2 1 -1 0];
inphase = [inphase;-inphase]; inphase = inphase(:);
quadr = [quadr;quadr]; quadr = quadr(:);
const = inphase + 1i*quadr;

Постройте созвездие.

h = scatterplot(const);

Сгенерируйте символы входных данных. Модулируйте символы с помощью этого созвездия.

x = [3 8 5 10 7];
y = genqammod(x,const);

Демодулируйте модулируемый сигнал, y.

z = genqamdemod(y,const);

Постройте модулируемый сигнал в той же фигуре.

hold on;
scatterplot(y,1,0,'ro',h);
legend('Constellation','Modulated signal');

Определите количество ошибок символа между демодулируемыми данными к исходной последовательности.

numErrs = symerr(x,z)
numErrs = 0

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

свернуть все

Комплексный конверт в виде скаляра, вектора, матрицы или трехмерного массива числовых значений. Если y матрица с несколькими строками, функциональные процессы строки независимо.

Отображение сигнала в виде комплексного вектора.

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

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

свернуть все

Сигнал сообщения, возвращенный как скаляр, вектор, матрица или трехмерный массив числовых значений. Сигнал сообщения состоит из целых чисел между 0 и length(const) –1. Тип данных z совпадает с типом данных входа x.

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

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

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