В большинстве сред для связи для передачи доступна только фиксированная область значений частот. Один из способов передачи сигнала сообщения, частотный спектр которого не попадает в этот фиксированную область значений, или тот, который в противном случае непригоден для канала, - это изменение передаваемого сигнала в соответствии с информацией в вашем сигнале сообщения. Это изменение называется модуляцией, и это модулированный сигнал, который вы передаете. Затем приемник восстанавливает исходный сигнал посредством процесса, называемого демодуляцией.
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
является комплексным сигналом, который связан с выходом модулятора полосы пропускания. Если модулированный сигнал имеет форму волны
где <reservedrangesplaceholder0> c - несущая частота, и θ - начальная фаза сигнала перевозчика, тогда симуляция основной полосы частот признает, что это равняется реальной части
и моделирует только часть внутри квадратных скобок. Вот j квадратный корень из -1. Комплексный вектор y
является дискретизацией комплексного сигнала
Если вы предпочитаете работать с сигналами полосы пропускания вместо сгенерированных модулированных сигналов, то можно создать функции, которые преобразуются между ними. Следует иметь в виду, что модуляция полосы пропускания имеет тенденцию быть более интенсивной в вычислительном отношении, чем полосовая модуляция, поскольку сигнал несущей обычно должен быть дискретизирован с высокой частотой.
Модуляция является процессом, посредством которого сигнал несущей изменяется согласно информации в сигнале сообщения. Несущая частота 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 бит.
В зависимости от схемы модуляции, параметр Constellation ordering или Symbol set ordering указывает, как блок преобразует группу K входных бит в соответствующий символ. Когда вы устанавливаете параметр равным Binary
, блок отображает [u (1 ) u ( 2 )... u (K)] в целое число
и принимает, что это целое число является входом значением. 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')
на P
th целое число.
В следующих таблицах показано типичное отображение бинарного и серого для M = 8.
Двоичное к серому отображение для бит
Двоичный код | Серый код |
---|---|
000 | 000 |
001 | 001 |
010 | 011 |
011 | 010 |
100 | 110 |
101 | 111 |
110 | 101 |
111 | 100 |
От серого до двоичного Отображения для целых чисел
Двоичный код | Серый код |
---|---|
0 | 0 |
1 | 1 |
2 | 3 |
3 | 2 |
4 | 6 |
5 | 7 |
6 | 5 |
7 | 4 |
Серое кодирование модулированного сигнала
Для типов модуляции 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);
Проверяя график созвездия, можно увидеть, что модулированные символы закодированы Серым цветом, потому что все смежные элементы отличаются только одним битом.
Некоторые блоки цифровой модуляции могут выводить увеличенную версию модулируемого сигнала, в то время как их соответствующие блоки цифровой демодуляции могут принимать увеличенную версию модулируемого сигнала как вход. В обоих случаях параметр 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
. Основанная на выборке схема включает задержку на выходе одного периода дискретизации.
Для получения дополнительной информации о задержках см. Раздел «Задержки в цифровой модуляции».
Модель ниже строит выходы блока 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
или другое значение. Еще раз запустите модель и наблюдайте, как меняется график.
Модель ниже использует блок 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)
Модуляция часто сопровождается формированием импульсов, а демодуляции часто предшествует операция фильтрации или интегрирования и демпфирования. Этот раздел представляет пример, включающий прямоугольное формирование импульса. Для примера, который использует формирование импульса приподнятого косинуса, см. «Формирование импульса с использованием фильтра приподнятого косинуса».
Прямоугольное импульсное формирование
Прямоугольное формирование импульса повторяет каждый выход от модулятора фиксированное количество раз, чтобы создать сигнал с повышенной дискретизацией. Хотя это менее реалистично, чем другие виды формирования импульсов, прямоугольное формирование импульсов может быть первым шагом или исследовательским шагом в разработке алгоритмов. Если передатчик увеличивает амплитуду модулированного сигнала, то приемник должен уменьшить значение принятого сигнала перед демодуляцией. В приведенном ниже коде используются 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 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
.
Установите 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) является логарифмом отношения вероятностей передается 0 бит к 1 биту передается для принимаемого сигнала. LLR для бита b определяется как:
Принимая равную вероятность для всех символов, LLR для канала AWGN может быть выражен как:
где переменные представляют значения, показанные в следующей таблице.
Переменная | Что представляет переменная |
---|---|
| Принят сигнал с координатами (x, y). |
| Переданный бит (один из K битов в M-арном символе, при условии, что все M символов одинаково вероятны. |
| Идеальные символы или точки созвездия с битом 0 при заданном положении бита. |
| Идеальные символы или точки созвездия с битом 1, при заданном положении бита. |
| Синфазная координата идеального символа или точки созвездия. |
| Квадратурная координата идеального символа или точки созвездия. |
| Шумовое отклонение сгенерированного модулированного сигнала. |
| Отклонение шума вдоль синфазной оси. |
| Отклонение шума вдоль квадратурной оси. |
Примечание
Компоненты шума вдоль синфазной и квадратурной осей приняты независимыми и равной степени (т.е., ).
Аппроксимация LLR вычисляется путем принятия во фактор только ближайшей точки созвездия к принимаемому сигналу с 0 (или 1) в этом битовом положении, а не всех точек созвездия, как это сделано в точном LLR. Это определяется как [8]:
Блоки цифровой модуляции и демодуляции иногда несут задержки между их входами и выходами, в зависимости от их строения и свойств их сигналов. В следующей таблице перечислены источники задержки и ситуации, в которых они происходят.
Задержки, следующие из-за цифровой модуляции или демодуляции
Тип модуляции или демодуляции | Ситуация, в которой происходит задержка | Количество задержек |
---|---|---|
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 + задержки. В частности, если ваша симуляция вычисляет статистику ошибок или сравнивает переданную с принятыми данными, она должна учитывать задержку при выполнении таких расчетов или сравнений.
В дополнение к задержкам, упомянутым выше, демодуляторы 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