Цифровая модуляция

В большинстве сред для связи для передачи доступна только фиксированная область значений частот. Один из способов передачи сигнала сообщения, частотный спектр которого не попадает в этот фиксированную область значений, или тот, который в противном случае непригоден для канала, - это изменение передаваемого сигнала в соответствии с информацией в вашем сигнале сообщения. Это изменение называется модуляцией, и это модулированный сигнал, который вы передаете. Затем приемник восстанавливает исходный сигнал посредством процесса, называемого демодуляцией.

Функции цифровой модуляции

Методов модуляции

Communications Toolbox™ поддерживает эти методы модуляции для цифровых данных. Все методы в крайнем правом направлении реализованы в библиотечных блоках.

Как и аналоговая модуляция, цифровая модуляция изменяет передаваемый сигнал согласно информации в сигнале сообщения. Однако для цифровой модуляции сигнал сообщения ограничивается конечным множеством. Функции модуляции выводят комплексную огибающую модулированного сигнала. Функции Communications Toolbox позволяют вам модулировать и демодулировать сигналы с помощью различных методов цифровой модуляции. Графики созвездия позволяют вам визуализировать сигнальное созвездие символа модуляции.

Примечание

Если не указано иное, функции модуляции и демодуляции не выполняют формирование или фильтрацию импульсов. Смотрите Объединение Формирования Импульсов и Фильтрации с Модуляцией для получения дополнительной информации о фильтрации.

Доступные методы модуляции зависят от того, является ли входной сигнал аналоговым или цифровым. Категория Modulation приводит поддерживаемые методы цифровой и аналоговой модуляции.

Доступ к блокам цифровой модуляции.  Откройте библиотеку Modulation, дважды щелкнув значок в основной библиотеке блоков. Затем откройте поддиапазон Digital Baseband, дважды щелкнув его значок в библиотеке Modulation.

Библиотека Digital Baseband имеет собственные подсобки. Откройте каждый из этих сублибрариев, дважды щелкнув значок, указанный в таблице ниже.

Вид модуляцииЗначок в библиотеке Digital Baseband
Амплитудная модуляция Утра
Фазовая модуляция ПРЕМЬЕР-МИНИСТР
Частотная модуляция FM
Непрерывная фазовая модуляция КАРТА В МИНУТУ
Треллис-кодированная модуляция TCM

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

Общие и специфические блоки

Общий модуляторОбщие условия модулятораСпецифический модулятор
General QAM Modulator Baseband

Предопределенное созвездие, содержащее 2K точки на прямоугольной решетке.

K - порядок модуляции.

Rectangular QAM Modulator Baseband
M-PSK Modulator Baseband M-ary number параметр 2. BPSK Modulator Baseband
M-ary number параметр 4. QPSK Modulator Baseband
M-DPSK Modulator Baseband M-ary number параметр 2. DBPSK Modulator Baseband
M-ary number параметр 4. DQPSK Modulator Baseband
CPM Modulator Baseband M-ary number параметр 2, Frequency pulse shape параметр Gaussian. GMSK Modulator Baseband
M-ary number параметр 2, Frequency pulse shape параметр Rectangular, Pulse length параметр 1. MSK Modulator Baseband
Frequency pulse shape параметр Rectangular, Pulse length параметр 1. CPFSK Modulator Baseband
General TCM Encoder Предопределенное сигнальное созвездие, содержащее 2K точки на прямоугольной решетке. Rectangular QAM TCM Encoder
Предопределенное сигнальное созвездие, содержащее 2K точки на круге.M-PSK TCM Encoder

Кроме того, блок CPFSK Modulator Baseband аналогичен блоку M-FSK Modulator Baseband, когда блок M-FSK использует непрерывные фазовые переходы. Однако функции M-FSK этого продукта отличаются от функций CPFSK в их маскировочных интерфейсах и в реализациях демодулятора.

Симуляция основной полосы и полосы пропускания

Для данного метода модуляции два способа моделирования методов модуляции называются основной полосой частот и полосой пропускания. Симуляция основной полосы, также известная как эквивалентный метод lowpass, требует меньших расчетов. Communications Toolbox поддерживает симуляцию основной полосы для цифровой модуляции и симуляцию полосы пропускания для аналоговой модуляции.

Заданные модулированные сигналы основной полосы частот

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

Y1(t)cos(2πfct+θ)Y2(t)sin(2πfct+θ),

где <reservedrangesplaceholder0> c - несущая частота, и θ - начальная фаза сигнала перевозчика, тогда симуляция основной полосы частот признает, что это равняется реальной части

[(Y1(t)+jY2(t))ejθ]exp(j2πfct).

и моделирует только часть внутри квадратных скобок. Вот j квадратный корень из -1. Комплексный вектор y является дискретизацией комплексного сигнала

(Y1(t)+jY2(t))ejθ.

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

Терминология модуляции

Модуляция является процессом, посредством которого сигнал несущей изменяется согласно информации в сигнале сообщения. Несущая частота F c является частотой сигнала несущей. Частота дискретизации является частотой, с которой сигнал сообщения дискретизируется во время симуляции.

Частота сигнала несущей обычно намного больше, чем самая высокая частота сигнала входа сообщения. Теорема Найквиста о дискретизации требует, чтобы скорость симуляции дискретизации, F s, была больше, чем в два раза больше, чем сумма несущей частоты и самая высокая частота модулированного сигнала, чтобы демодулятор мог правильно восстановить сообщение .

Представление цифровых сигналов

Чтобы модулировать сигнал, использующий цифровую модуляцию с алфавитом, имеющим M символов, начните с реального сигнала сообщения, значения которого являются целыми числами от 0 до M-1. Представьте сигнал путем перечисления его значений в векторе, x. В качестве альтернативы можно использовать матрицу, чтобы представлять многоканальный сигнал, где каждый столбец матрицы представляет один канал.

Например, если в модуляции используется алфавит с восемью символами, то вектор [2 3 7 1 0 5 5 2 6]' является допустимым одноканальным входом в модулятор. Как многоканальный пример, двухколоночная матрица

[2 3;
 3 3;
 7 3;
 0 3;]
задает двухканальный сигнал, в котором второй канал имеет постоянное значение 3.

Сигналы и задержки

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

Примечание

Если вы хотите разделить синфазные и квадратурные компоненты комплексного модулируемого сигнала, используйте блок Complex to Real-Imag (Simulink) в библиотеке Математические Операции.

Целочисленные сигналы и двоичные сигналы

Некоторые блоки цифровой модуляции могут принимать или целочисленные, или двоичные сигналы. Соответствующие блоки демодуляции могут выводить либо целые числа, либо группы отдельных бит, которые представляют целые числа. Этот раздел описывает, как блоки модуляции обрабатывают целочисленные или двоичные входы; случай для блоков демодуляции - обратный. Следует отметить, что блоки модуляции имеют параметр Input type и что блоки демодуляции имеют параметр Output type.

Когда вы устанавливаете параметр Input type равным Integerблок принимает целочисленные значения из 0 к M - 1. M представляет M-ary number параметров блоков.

Когда вы устанавливаете параметр Input type равным Bitблок принимает двоичные входы, которые представляют целые числа. Блок собирает двоичные сигналы в группы K = log2 (M) бит

где

K представляет количество бит на символ. Поскольку M = 2KK обычно упоминается как порядок модуляции.

Вход длины вектора должен быть целым числом, кратным K. В этом строении блок принимает группу K бит и преобразует эту группу в символ на выходе блока. Блок выводит по одному модулированному символу для каждой группы K бит.

Созвездие Упорядоченного расположения (или Symbol Set Ordering)

В зависимости от схемы модуляции, параметр Constellation ordering или Symbol set ordering указывает, как блок преобразует группу K входных бит в соответствующий символ. Когда вы устанавливаете параметр равным Binary, блок отображает [u (1 ) u ( 2 )... u (K)] в целое число

i=1Ku(i)2Ki

и принимает, что это целое число является входом значением. u (1) - самый значительный бит.

Если вы задаете M = 8, Constellation ordering (или Symbol set ordering) значение Binary, и двоичное входное слово является [1 1 0], блок преобразует [1 1 0] в целое число 6. Блок производит тот же выход, когда вход равен 6, и параметр Input type Integer.

Когда вы задаете Constellation ordering (или Symbol set ordering или Symbol mapping) Grayблок использует устройство с кодированием Грея и присваивает двоичные входы точкам предопределённого сигнального созвездия с кодированием Грея. Предопределенный M-арный Серое сигнальное созвездие присваивает двоичное представление

M = 8; P = [0:M-1]';
de2bi(bitxor(P,floor(P/2)), log2(M),'left-msb')

на Pth целое число.

В следующих таблицах показано типичное отображение бинарного и серого для M = 8.

Двоичное к серому отображение для бит

Двоичный кодСерый код
000000
001001
010011
011010
100110
101111
110101
111100

От серого до двоичного Отображения для целых чисел

Двоичный кодСерый код
00
11
23
32
46
57
65
74

Серое кодирование модулированного сигнала

Для типов модуляции PSK, DPSK, FSK, QAM и PAM, созвездия Грея получают путем установки отображения символа на Gray-кодирование в соответствующей функции модуляции или системном объекте ®.

Для функций модуляции можно задать 'gray' для входного параметра порядка символов, чтобы получить кодированную Серым модуляцию.

В следующем примере используется qammod функция с отображением символов в сером кодировке.

y = [0:15];
y = de2bi(y);
M = 16;
symorder = 'gray';
xmap = qammod(y,M,symorder,'InputType','bit','PlotConstellation',true);

Figure contains an axes. The axes with title 16-QAM, Gray Mapping, UnitAveragePower=false contains 19 objects of type line, text.

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

Увеличение частоты дискретизации сигналов и изменений скорости

Некоторые блоки цифровой модуляции могут выводить увеличенную версию модулируемого сигнала, в то время как их соответствующие блоки цифровой демодуляции могут принимать увеличенную версию модулируемого сигнала как вход. В обоих случаях параметр Rate options представляет коэффициент увеличения дискретизации, который должен быть положительным целым числом. В зависимости от того, является ли входной сигнал односкоростным или многосветным, блок либо изменяет размер вектора сигнала, либо его шаг расчета, как указано в следующей таблице. Только блоки OQPSK отклоняются от информации в таблице, в которой S заменяется 2S в коэффициентах масштабирования.

Обработка модулированных данных с повышенной дискретизацией (кроме метода OQPSK)

Тип расчетаВходной статусРезультат
Модуляция Односкоростная обработкаВыход длины вектора в S раз больше числа целых чисел или двоичных слов в векторе входа. Вывод шага расчета равен входу шагу расчета.
Модуляция Многократная обработкаВыходной вектор является скаляром. Выходной шаг расчета 1/S умножается на входной шаг расчета.
Демодуляция Односкоростная обработкаКоличество целых чисел или двоичных слов в векторе выхода в 1/S раз превышает количество выборок в векторе входа. Вывод шага расчета равен входу шагу расчета.
Демодуляция Многократная обработка

Выходной сигнал содержит одно целое число или одно двоичное слово. Выводит значение шага расчета S, умноженное на вход шага расчета.

Кроме того, если S > 1 и демодулятор из AM, PM или FM сублибрарии, демодулированный сигнал задерживается на один выходной период дискретизации. Задержки нет, если S = 1 или если демодулятор из сублибрария CPM.

Рисунки изменений размера или скорости.  Следующие схемы иллюстрируют, как модулятор (кроме OQPSK) увеличивает триплет основанных на кадре и основанных на выборке целых чисел. В обоих случаях параметр Samples per symbol 2.

Следующие схемы иллюстрируют, как демодулятор (кроме OQPSK или одного из сублибрарии CPM) обрабатывает три символа с двойной дискретизацией, используя как основанные на кадрах, так и основанные на дискретизации входы. В обоих случаях параметр Samples per symbol 2. Основанная на выборке схема включает задержку на выходе одного периода дискретизации.

Для получения дополнительной информации о задержках см. Раздел «Задержки в цифровой модуляции».

Модуляция PM

Точки и переходы сигнального созвездия DQPSK

Модель ниже строит выходы блока DQPSK Modulator Baseband. Изображение показывает возможные переходы от каждого символа в сигнальном созвездии DQPSK к следующему символу.

Чтобы открыть эту модель, введите doc_dqpsk_plot в командной строке MATLAB. Чтобы создать модель, соберите и сконфигурируйте эти блоки:

  • Random Integer Generator, в поддиапазоне «Случайные источники данных» библиотеки Comm Sources

    • Установите M-ary number значение 4.

    • Установите Initial seed на любой положительный целочисленный скаляр, предпочтительно на выходе randn функция.

    • Установите Sample time значение .01.

  • DQPSK Modulator Baseband, в подмножестве PM подмножества цифровой основной полосы частот модуляции

  • Complex to Real-Imag (Simulink), в библиотеке Математические Операции

  • XY Graph (Simulink), в библиотеке Simulink Sinks

Используйте параметры по умолчанию блоков, если не задано иное. Соедините блоки как на рисунке выше. Выполнение модели приводит к следующему графику. График отражает переходы среди восьми точек созвездия DQPSK.

Этот график иллюстрирует π/4-DQPSK модуляцию, потому что параметр Phase offset по умолчанию в блоке Baseband модулятора DQPSK pi/4. Чтобы увидеть, как смещение фазы влияет на сигнальное созвездие, измените параметр Phase offset в блоке Baseband модулятора DQPSK на pi/8 или другое значение. Еще раз запустите модель и наблюдайте, как меняется график.

AM-модуляция

Прямоугольная схема модуляции и рассеяния QAM

Модель ниже использует блок M-QAM Modulator Baseband, чтобы модулировать случайные данные. После передачи символов через зашумленный канал модель производит диаграмму рассеяния зашумленных данных. Схема предполагает, как выглядит базовое сигнальное созвездие, и показывает, что шум искажает модулированный сигнал от созвездия.

Чтобы открыть эту модель, введите doc_qam_scatter в командной строке MATLAB. Чтобы создать модель, соберите и сконфигурируйте эти блоки:

  • Random Integer Generator, в поддиапазоне «Случайные источники данных» библиотеки Comm Sources

    • Установите M-ary number значение 16.

    • Установите Initial seed на любой положительный целочисленный скаляр, предпочтительно на выходе randn функция.

    • Установите Sample time значение .1.

  • Rectangular QAM Modulator Baseband, в подмножестве AM подмножества Цифровой основной полосы частот модуляции

    • Установите Normalization method значение Peak Power.

  • AWGN Channel, в библиотеке Channels

    • Установите Es/No значение 20.

    • Установите Symbol period значение .1.

  • Constellation Diagram, в библиотеке Comm Sinks

    • Установите Symbols to display значение 160.

Соедините блоки как показано на предыдущем рисунке. На вкладке Simulation, в разделе Simulate, установите Stop time равным 250. Раздел Simulate появляется на нескольких вкладках.

Выполнение модели создает диаграмму рассеяния, подобную следующей. Ваш график может выглядеть несколько иначе, в зависимости от вашего Initial seed значения в блоке Random Integer Generator. Поскольку метод модуляции 16-QAM, график показывает 16 кластеров точек. Если бы не было шума, график показал бы 16 точных точек созвездия вместо кластеров вокруг точек созвездия.

Вычисление частоты ошибок символа

Пример генерирует случайный цифровой сигнал, модулирует его, добавляет шум, демодулирует сигнал с шумом и вычисляет вероятность ошибки символа. Зашумленные, модулированные данные нанесены на сигнальное созвездие. Числовые результаты и график могут варьироваться из-за случайных входных данных.

Создайте случайное цифровое сообщение и Системный объект сигнальное созвездие.

M = 16; % Alphabet size, 16-QAM
x = randi([0 M-1],5000,1);

cpts = qammod(0:M-1,M);
constDiag = comm.ConstellationDiagram('ReferenceConstellation',cpts, ...
    'XLimits',[-4 4],'YLimits',[-4 4]);

Примените 16-QAM модуляцию и передайте сигнал через канал AWGN.

y = qammod(x,M);
ynoisy = awgn(y,15,'measured');

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

z = qamdemod(ynoisy,M);
[num,rt] = symerr(x,z)
num = 79
rt = 0.0158

Создайте сигнальное созвездие из зашумленных данных. Сигнал ссылки созвездии имеет 16 точно расположенных точек, но переданные символы с добавленным шумом заставляют график поля точек иметь небольшой кластер точек, рассеянных вокруг каждой ссылки точки совокупности.

constDiag(ynoisy)

Figure Constellation Diagram contains an axes and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes contains 2 objects of type line. This object represents Channel 1.

Объединение формирования импульсов и фильтрации с модуляцией

Модуляция часто сопровождается формированием импульсов, а демодуляции часто предшествует операция фильтрации или интегрирования и демпфирования. Этот раздел представляет пример, включающий прямоугольное формирование импульса. Для примера, который использует формирование импульса приподнятого косинуса, см. «Формирование импульса с использованием фильтра приподнятого косинуса».

Прямоугольное импульсное формирование

Прямоугольное формирование импульса повторяет каждый выход от модулятора фиксированное количество раз, чтобы создать сигнал с повышенной дискретизацией. Хотя это менее реалистично, чем другие виды формирования импульсов, прямоугольное формирование импульсов может быть первым шагом или исследовательским шагом в разработке алгоритмов. Если передатчик увеличивает амплитуду модулированного сигнала, то приемник должен уменьшить значение принятого сигнала перед демодуляцией. В приведенном ниже коде используются rectpulse функция для прямоугольного формирования импульсов передатчика и intdump функция для понижающей дискретизации в приемнике. Операция «интегрирование и демпфирование» является одним из способов уменьшения размера принимаемого сигнала.

% Create a random digital message and a constellation diagram System
% object.
M = 16;                     % Alphabet size, 16-QAM
x = randi([0 M-1],5000,1);  % Message signal
Nsamp = 4;                  % Oversampling rate

% Apply 16-QAM modulation and rectangular pulse shaping. Transmit signal
% through an AWGN channel.
y = qammod(x,M);
ypulse = rectpulse(y,Nsamp);
ynoisy = awgn(ypulse,15,'measured');

% Downsample at the receiver.
ydownsamp = intdump(ynoisy,Nsamp);

% Demodulate to recover the message.
z = qamdemod(ydownsamp,M);

CPM-модуляция

Дерево фаз для непрерывной фазовой модуляции

Этот пример строит график древовидной фазы, сопоставленной со схемой непрерывной фазовой модуляции. Дерево фаз является схемой, которая накладывает много кривых, каждая из которых строит график фазы модулированного сигнала с течением времени. Различные кривые являются результатом различных входов модулятора.

Этот пример использует блок CPM Modulator Baseband для своих численных расчетов. Блок сконфигурирован с помощью фильтра приподнятого косинуса импульсной формы. Пример также иллюстрирует, как можно использовать Simulink и MATLAB вместе. Пример использует команды MATLAB, чтобы запустить серию симуляций с различными входными сигналами, собрать результаты симуляции и построить график полного набора данных.

Примечание

В отличие от подхода этого примера, использующего MATLAB и Simulink, commcpmphasetree пример создает дерево фаз, используя модель Simulink без дополнительных линий кода MATLAB.

Чтобы открыть модель, введите doc_phasetree в командной строке MATLAB. Чтобы создать модель, соберите и сконфигурируйте эти блоки:

  • Constant (Simulink), в библиотеке Часто используемых блоков Simulink

    • Установите Constant value значение s (который появится в рабочем пространстве MATLAB).

    • Установите Sampling mode значение Frame-based.

    • Установите Frame period значение 1.

  • CPM Modulator Baseband

    • Установите M-ary number значение 2.

    • Установите Modulation index значение 2/3.

    • Установите Frequency pulse shape значение Raised Cosine.

    • Установите Pulse length значение 2.

  • To Workspace (Simulink), в библиотеке Simulink Sinks

    • Установите Variable name значение x.

    • Установите Save format значение Array.

Не запускайте модель, потому что переменная s не определен в рабочем пространстве MATLAB. Вместо этого сохраните модель в папку в пути MATLAB, используя имя файла doc_phasetree.

Вторым шагом этого примера является выполнение следующего кода MATLAB:

% Parameters from the CPM Modulator Baseband block
M_ary_number = 2;
modulation_index = 2/3;
pulse_length = 2;
samples_per_symbol = 8;

L = 5;  % Symbols to display
pmat = [];
for ip_sig = 0:(M_ary_number^L)-1
    s = de2bi(ip_sig,L,M_ary_number,'left-msb');
    % Apply the mapping of the input symbol to the CPM
    % symbol 0 -> -(M-1), 1 -> -(M-2), etc.
    s = 2*s'+1-M_ary_number;
    sim('doc_phasetree', .9); % Run model to generate x.
    % Next column of pmat
    pmat(:,ip_sig+1) = unwrap(angle(x(:)));
end;
pmat = pmat/(pi*modulation_index);
t = (0:L*samples_per_symbol-1)'/samples_per_symbol;
plot(t,pmat); figure(gcf); % Plot phase tree.

Этот код определяет параметры для CPM Modulator, применяет отображение символов и строит графики результатов. Каждая кривая представляет другой образец симуляции блока CPM Modulator Baseband с отдельным (постоянным) входным сигналом.

Точный алгоритм LLR

Логарифмический коэффициент логарифмической правдоподобности (LLR) является логарифмом отношения вероятностей передается 0 бит к 1 биту передается для принимаемого сигнала. LLR для бита b определяется как:

L(b)=log(Pr(b=0|r=(x,y))Pr(b=1|r=(x,y)))

Принимая равную вероятность для всех символов, LLR для канала AWGN может быть выражен как:

L(b)=log(sS0e1σ2((xsx)2+(ysy)2)sS1e1σ2((xsx)2+(ysy)2))

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

ПеременнаяЧто представляет переменная

r

Принят сигнал с координатами (x, y).

b

Переданный бит (один из K битов в M-арном символе, при условии, что все M символов одинаково вероятны.

S0

Идеальные символы или точки созвездия с битом 0 при заданном положении бита.

S1

Идеальные символы или точки созвездия с битом 1, при заданном положении бита.

sx

Синфазная координата идеального символа или точки созвездия.

sy

Квадратурная координата идеального символа или точки созвездия.

σ2

Шумовое отклонение сгенерированного модулированного сигнала.

σx2

Отклонение шума вдоль синфазной оси.

σy2

Отклонение шума вдоль квадратурной оси.

Примечание

Компоненты шума вдоль синфазной и квадратурной осей приняты независимыми и равной степени (т.е., σx2=σy2=σ2/2).

Аппроксимация алгоритма LLR

Аппроксимация LLR вычисляется путем принятия во фактор только ближайшей точки созвездия к принимаемому сигналу с 0 (или 1) в этом битовом положении, а не всех точек созвездия, как это сделано в точном LLR. Это определяется как [8]:

L(b)=1σ2(minsS0((xsx)2+ (ysy)2)minsS1((xsx)2+ (ysy)2))

Задержки в цифровой модуляции

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

Задержки, следующие из-за цифровой модуляции или демодуляции

Тип модуляции или демодуляцииСитуация, в которой происходит задержкаКоличество задержек
FM-демодуляторВыборка на основе обработкиОдин период выхода
Все демодуляторы в сублибрарии CPM Многократная обработка, и модель использует решатель с переменным шагом или решатель с фиксированным шагом с Tasking Mode набора параметров, чтобы SingleTasking
D = Traceback length параметр
D + 1 выходных периодов
Односкоростная обработка, D = Traceback depth параметрD выходов периодов
Демодулятор OQPSKОдноскоростная обработка

Для получения дополнительной информации см. раздел OQPSK Demodulator Baseband.

Многократная обработка, и модель использует решатель с фиксированным шагом с Tasking Mode набора параметров для Auto или MultiTasking.
Многократная обработка, и модель использует решатель с переменным шагом или параметр Tasking Mode установлен на Single Tasking.
Все декодеры в подсобке TCM Operation mode установлено на Continuous, Tr = Traceback depth параметр и кодовая скорость k/n Выходные биты Tr * k

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

Первая выходная выборка в демодуляции DPSK

В дополнение к задержкам, упомянутым выше, демодуляторы M-DPSK, DQPSK и DBPSK выдают выход, первая выборка которого не связана с входом. Это связано с дифференциальным методом модуляции, а не с особой ее реализацией.

Пример: Задержки от демодуляции

Демодуляция в модели ниже вызывает задержку демодулированного сигнала по сравнению с немодулированным сигналом. При вычислении статистики ошибок модель учитывает задержку, задавая значение параметра Error Rate Calculation Receive delay блока 0. Если бы параметр Receive delay имел другое значение, то вероятность ошибки, отображаемая в верхней части блока Display, была бы близка к 1/2.

Чтобы открыть эту модель, введите doc_oqpsk_modulation_delay в командной строке MATLAB. Чтобы создать модель, соберите и сконфигурируйте эти блоки:

  • Random Integer Generator, в поддиапазоне «Случайные источники данных» библиотеки Comm Sources

    • Установите M-ary number значение 4.

    • Установите Initial seed на любой положительный целочисленный скаляр.

  • OQPSK Modulator Baseband, в подмножестве PM подмножества цифровой основной полосы частот модуляции

  • AWGN Channel, в библиотеке Channels

    • Установите Es/No значение 6.

  • OQPSK Demodulator Baseband, в подмножестве PM подмножества цифровой основной полосы частот модуляции

  • Error Rate Calculation, в библиотеке Comm Sinks

    • Установите Receive delay значение 1.

    • Установите Computation delay значение 0.

    • Установите Output data значение Port.

  • Display (Simulink), в библиотеке Simulink Sinks

    • Перетащите нижнее ребро значка, чтобы сделать отображение достаточно большим для трех записей.

Соедините блоки как показано на предыдущем рисунке. На вкладке Simulation, в разделе Simulate, установите Stop time равным 1000. Раздел Simulate появляется на нескольких вкладках. Затем запустите модель и наблюдайте частоту ошибок в верхней части значка блока Display. Вероятность вашей ошибки будет варьироваться в зависимости от вашего Initial seed значения в блоке Random Integer Generator.

Выбранная библиография для цифровой модуляции

[1] Jeruchim, M. C., P. Balaban, and K. S. Shanmugan, Simulation of Communication Systems, New York, Plenum Press, 1992.

[2] Proakis, J. G., Digital Communications, 3rd ed., New York, McGraw-Hill, 1995.

[3] Sklar, B., Digital Communications: Fundamentals and Applications, Englewood Cliffs, NJ, Prentice Hall, 1988.

[4] Андерсон, Дж. Б., Т. Аулин и К.-Э. Sundberg, Digital Phase Modulation, New York, Plenum Press, 1986.

[5] Biglieri, E., D. Divsalar, P.J. McLane, and M.K. Simon, Introduction to Trellis-Coded Modulation with Applications, New York, Macmillan, 1991.

[6] Pawula, R.F., «On M-ary DPSK Transmission Over Terrestrial and Satellite Channels», IEEE Transactions on Communications, Vol. COM-32, July 1984, pp. 752-761.

[7] Smith, J. G., «Odd-Bit Quadrature Amplitude-Shift Keying», IEEE Transactions on Communications, Vol. COM-23, March 1975, pp. 385-389.

[8] Viterbi, A. J., «Интуитивное обоснование и упрощенная реализация декодера MAP для сверточных кодов», Журнал IEEE по отдельным областям в коммуникациях, том 16, № 2, стр. 260-264, фев. 1998

Для просмотра документации необходимо авторизоваться на сайте