Источники и приемники

Communications Toolbox™ обеспечивает приемники и дисплеи, которые упрощают анализ производительности системы связи. Можно реализовать устройства с помощью или Системных объектов, блоков или функций.

Источники данных

Можно использовать блоки или функции, чтобы сгенерировать случайные данные, чтобы моделировать источник сигнала. Кроме того, можно использовать блоки Simulink, такие как блок Random Number как источник данных. Можно открыть подбиблиотеку Random Data Sources путем двойного клика по ее значку (найденный в библиотеке Comm Sources основной библиотеки блоков Communications Toolbox).

Случайные символы

Функция randsrc генерирует случайные матрицы, записи которых выбраны независимо из алфавита, который вы задаете с распределением, которое вы задаете. Особый случай генерирует биполярные матрицы.

Например, команда ниже генерирует 5 4 матрица, записи которой независимо выбраны и равномерно распределены в наборе {1,3,5}. (Ваши результаты могут отличаться, потому что это случайные числа.)

a = randsrc(5,4,[1,3,5])

a =

     3     5     1     5
     1     5     3     3
     1     3     3     1
     1     1     3     5
     3     1     1     3

Если вы хотите 1 быть вдвое более вероятными произойти, чем или 3 или 5, используйте команду ниже, чтобы предписать скошенное распределение. Третий входной параметр имеет две строки, одна из которых указывает, возможные значения b и другого указывают на вероятность каждого значения.

b = randsrc(5,4,[1,3,5; .5,.25,.25])

b =

     3     3     5     1
     1     1     1     1
     1     5     1     1
     1     3     1     3
     3     1     3     1

Случайные целые числа

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

Например, команда ниже генерирует 5 4 матрица, содержащая случайные целые числа между 2 и 10.

c = randi([2,10],5,4)

c =

     2     4     4     6
     4     5    10     5
     9     7    10     8
     5     5     2     3
    10     3     4    10

Если ваша желаемая область значений [0,10] вместо [2,10], можно использовать любую из команд ниже. Они приводят к различным числовым результатам, но используют то же распределение.

d = randi([0,10],5,4);
e = randi([0 10],5,4);

В Simulink® блокируется Случайный Целочисленный Целочисленный Генератор Генератора и Пуассона, оба генерируют векторы, содержащие случайные неотрицательные целые числа. Блок Random Integer Generator использует равномерное распределение на ограниченной области значений, которую вы задаете в маске блока. Блок Poisson Integer Generator использует распределение Пуассона, чтобы определить его вывод. В частности, вывод может включать любое неотрицательное целое число.

Случайные шаблоны битовой ошибки

В MATLAB® функция randerr генерирует матрицы, записи которых или 0 или 1. Однако его опции отличаются от тех из randi, потому что randerr предназначается для тестирования кодирования контроля ошибок. Например, команда ниже генерирует 5 4 бинарную матрицу, где каждая строка содержит точно один 1.

f = randerr(5,4)

f =

     0     0     1     0
     0     0     1     0
     0     1     0     0
     1     0     0     0
     0     0     1     0

Вы можете использовать такую команду, чтобы встревожить двоичный код, который состоит из пяти четырехбитных кодовых комбинаций. Добавление случайного матричного f к вашей матрице кода (по модулю 2) вводит точно одну ошибку в каждую кодовую комбинацию.

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

% Each row has one '1' with probability 0.4, otherwise two '1's
g = randerr(5,4,[1,2; 0.4,0.6])

g =

     0     1     1     0
     0     1     0     0
     0     0     1     1
     1     0     1     0
     0     1     1     0

Примечание

Матрица вероятности, которая является третьим аргументом randerr, влияет только на номер 1 с в каждой строке, не их размещение.

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

binarymatrix1 = randsrc(100,1,[0 1]); % Possible values are 0,1.
binarymatrix2 = randi([0 1],100,1); % Two possible values
binarymatrix3 = randerr(100,1,[0 1;.5 .5]); % No 1s, or one 1

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

Источники шума

Создайте шумовые блоки генератора в Simulink, чтобы моделировать линии связи.

Случайные шумовые генераторы

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

РаспределениеБлокФункция
Гауссов Функция MATLAB randn
Рэлеевский Функция MATLABrandn
Rician Функция MATLABrandn
Универсальная форма на ограниченном интервале Функция MATLABrand

Смотрите Случайные Шумовые Генераторы для примера того, как Рейли и распределенный шум Рикиэна создаются.

Гауссов шумовой генератор

В MATLAB функция wgn генерирует случайные матрицы с помощью белого Гауссова шумового распределения. Вы задаете степень шума в любом dBW (децибелы относительно ватта), dBm, или линейные модули. Можно сгенерировать или действительный или комплексный шум.

Например, команда ниже генерирует вектор-столбец длины 50 содержащий действительный белый Гауссов шум, степень которого является 2 dBW. Функция принимает, что импеданс загрузки составляет 1 Ом.

y1 = wgn(50,1,2);

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

y2 = wgn(50,1,2,60,'complex','linear');
y3 = wgn(50,1,2,60,'linear','complex');

Чтобы отправить сигнал через аддитивный белый Гауссов шумовой канал, используйте функцию awgn. См. Канал AWGN для получения дополнительной информации.

Генераторы последовательности

Можно использовать блоки в подбиблиотеке Sequence Generators библиотеки Communications Sources, чтобы сгенерировать последовательности для распространения или синхронизации в системе связи. Можно открыть подбиблиотеку Sequence Generators путем двойного клика по ее значку в основной библиотеке блоков Communications Toolbox.

Блоки в подбиблиотеке Sequence Generators генерируют

Псевдослучайные последовательности

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

ПоследовательностьБлок
Золотые последовательности Золотой генератор последовательности
Последовательности Kasami Генератор последовательности Kasami
Последовательности PN Генератор последовательности PN

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

Все регистры r в генераторе обновляют свои значения на каждом временном шаге согласно значению входящей стрелки к сдвиговому регистру. Сумматоры выполняют сложение по модулю 2. Сдвиговый регистр может быть описан бинарным полиномом в z, grzr + gr-1zr-1 +... + g0. Коэффициент gi равняется 1, если существует связь с ith сдвигового регистра на сумматор, и 0 в противном случае.

Блок Kasami Sequence Generator и блок PN Sequence Generator используют это полиномиальное описание для их параметра Generator polynomial, в то время как блок Gold Sequence Generator использует его для параметров Preferred polynomial [2] и Preferred polynomial [1].

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

Коды синхронизации

Блок Barker Code Generator генерирует коды Баркера, чтобы выполнить синхронизацию. Коды Баркера являются подмножествами последовательностей PN. Они - короткие коды с длиной самое большее 13, которые являются боковыми лепестками низкой корреляции. Боковой лепесток корреляции является корреляцией кодовой комбинации с переключенной временем версией себя.

Ортогональные коды

Ортогональные коды используются для распространения, чтобы извлечь выгоду из их совершенных свойств корреляции. Когда используется в многопользовательских системах спектра распространения, где получатель отлично синхронизируется с передатчиком, despreading операция идеальна.

КодБлок
Адамар кодирует Генератор кода Адамара
Коды OVSF Генератор кода OVSF
Уолш кодирует Генератор кода Уолша

Осциллографы

Библиотека блоков Приемников Коммуникации содержит осциллографы для просмотра трех типов графиков сигнала:

В следующей таблице перечислены блоки и графики, которые они генерируют.

Имя блокаГрафики
Индикаторная диаграмма Индикаторная диаграмма сигнала
Схема совокупности Схема совокупности и траектория сигнала сигнала

Индикаторные диаграммы

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

Блок Eye Diagram производит индикаторные диаграммы. Это дискретное время процессов блока сигналы и периодически чертит линию, чтобы указать на решение, согласно параметру маски.

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

Графики поля точек

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

Блок Constellation Diagram производит схему совокупности из сигналов дискретного времени. Пример появляется в поле зрения Синусоида.

Траектории сигнала

Траектория сигнала является непрерывным графиком сигнала в зависимости от времени. Траектория сигнала отличается от графика рассеивания, в котором последние отображения указывает на траектории сигнала на дискретные интервалы времени.

Блок Constellation Diagram производит траектории сигнала. Блок Constellation Diagram производит траектории сигнала, когда свойство ShowTrajectory установлено в истину. Траектория сигнала соединяет все точки входного сигнала, независимо от заданного фактора десятикратного уменьшения (Samples per symbol)

Просмотрите синусоиду

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

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

  • Синусоида, в библиотеке Sources DSP System Toolbox™ (не блок Sine Wave в библиотеке Simulink Sources)

    • Установите Frequency на .502.

    • Установите Output complexity на Complex.

    • Установите Sample time на 1/16.

  • Схема совокупности, в библиотеке Comm Sinks

    • На панели Constellation Properties, набор Samples per symbol к 16.

  • Индикаторная диаграмма, в библиотеке Comm Sinks

    • На панели Plotting Properties, набор Samples per symbol к 16.

    • На панели Figure Properties, набор Scope position к figposition([42.5 55 35 35]);.

Соедините блоки как показано в предыдущей фигуре. Из меню Simulation окна модели выберите Model Configuration parameters. В диалоговом окне Configuration Parameters, набор Stop time к 250. Выполнение модели производит следующий график точечной диаграммы.

Точки графика рассеивания лежат на круге радиуса 1. Обратите внимание на то, что точки исчезают как передачи времени. Это вызвано тем, что флажок рядом с Color fading устанавливается под Rendering Properties, который заставляет осциллограф представлять точки более смутно больше времени, которое передает после того, как они построены. Если вы очищаете это поле, вы видите полный круг точек.

Блок Constellation Diagram отображает круговую траекторию.

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

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

Этот многослойный пример создает индикаторную диаграмму, график рассеивания и график траектории сигнала для модулируемого сигнала. Это исследует графики один за другим в этих разделах:

Индикаторная диаграмма модулируемого сигнала

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

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

  • Случайный Целочисленный Генератор, в подбиблиотеке Random Data Sources библиотеки Comm Sources

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

    • Установите Sample time на 0.01.

  • Основная полоса Модулятора QPSK, в PM в подбиблиотеке Digital Baseband библиотеки Modulation Communications Toolbox, с параметрами по умолчанию

  • Канал AWGN, в библиотеке Channels Communications Toolbox, со следующими изменениями в установках параметров по умолчанию:

    • Установите Mode на Signal-to-noise ratio (SNR).

    • Установите SNR (dB) на 15.

  • Повышенный Фильтр Передачи Косинуса, в библиотеке Comm Filters

    • Установите Filter shape на Normal.

    • Установите Rolloff factor на 0.5.

    • Установите Filter span in symbols на 6.

    • Установите Output samples per symbol на 8.

    • Установите Input processing на Elements as channels (sample based).

  • Индикаторная диаграмма, в библиотеке Comm Sinks

    • Установите Samples per symbol на 8.

    • Установите Symbols per trace на 3. Это задает количество символов, которые отображены в каждой трассировке индикаторной диаграммы. Трассировка является любой из отдельных строк в индикаторной диаграмме.

    • Установите Traces displayed на 3.

    • Установите New traces per display на 1. Это задает количество новых трассировок, которые появляются каждый раз, когда схема обновляется. Количеством трассировок, которые остаются в схеме от одного обновления до следующего, является Traces displayed минус New traces per display.

    • На панели Rendering Properties, набор Markers к +, чтобы указать на точки, построенные на каждой выборке. Значение по умолчанию Markers пусто, который не указывает ни на какой маркер.

    • На панели Figure Properties, набор Eye diagram to display к In-phase only.

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

Отображены три трассировки. Трассировки 2 и 3 исчезаются, потому что Color fading под Rendering Properties выбран. Это заставляет трассировки быть отображенными менее ярко более старое, которое они. В этом изображении Трассировка 1 нова, и Трассировка 3 является самой старой. Поскольку New traces per display установлен в 1, только Трассировка 1 появляется впервые. Трассировки 2 и 3 также появляются в предыдущем отображении.

Поскольку Symbols per trace установлен в 3, каждая трассировка содержит три символа, и потому что Samples per trace установлен в 8, каждый символ содержит восемь выборок. Обратите внимание на то, что проследите 1, содержит 24 точки, который является продуктом Symbols per trace и Samples per symbol. Однако трассировки 2 и 3 содержат 25 точек каждый. Последняя точка в трассировке 2, на правильной границе осциллографа, представляет ту же выборку как первая точка в трассировке 1 на левой границе осциллографа. Точно так же последняя точка в трассировке 3 представляет ту же выборку как первая точка в трассировке 2. Эти дублирующиеся точки указывают, где трассировки встретились бы, если бы они были отображены рядом, как проиллюстрировано в следующем изображении.

Можно просмотреть более реалистическую индикаторную диаграмму путем изменения значения Traces displayed к 40 и очистки поля Markers .

Когда параметр Offset устанавливается на 0, графический вывод запускается в центре первого символа, так, чтобы открытая часть индикаторной диаграммы была посреди графика для большинства точек.

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

Следующая модель создает график рассеивания того же сигнала, рассмотренного в Индикаторной диаграмме Модулируемого Сигнала.

Чтобы создать модель, следуйте инструкциям в Индикаторной диаграмме Модулируемого Сигнала, но замените блок Eye Diagram на следующий блок:

  • Схема совокупности, в Communications Toolbox / библиотека Comm Sinks

    • Установите Samples per symbol на 2

    • Установите Offset на 0. Это задает количество выборок, чтобы пропустить прежде, чем построить первую точку.

    • Установите Symbols to display на 40.

Когда вы запускаете симуляцию, блок Constellation Diagram отображает следующий график.

График отображает 30 точек. Поскольку Color fading под Rendering Properties выбран, точки отображены менее ярко более старое, которое они.

Траектория сигнала модулируемого сигнала

Следующая модель создает график траектории сигнала того же сигнала, рассмотренного в Индикаторной диаграмме Модулируемого Сигнала.

Чтобы создать модель, следуйте инструкциям в Индикаторной диаграмме Модулируемого Сигнала, но замените блок Eye Diagram на следующий блок:

  • Схема совокупности, в Communications Toolbox / библиотека Comm Sinks

    • Установите Samples per symbol на 8.

    • Установите Symbols to display на 40. Это задает количество символов, отображенных в траектории сигнала. Общее количество отображенных точек является продуктом Samples per symbol и Symbols to display.

Когда вы запускаете модель, Схема Совокупности отображает траекторию как та ниже.

График отображает 40 символов. Поскольку Color fading под Rendering Properties выбран, символы отображены менее ярко более старое, которое они.

См. Схему Совокупности Модулируемого Сигнала сравнить предыдущую траекторию сигнала с графиком рассеивания того же сигнала. Блок Constellation Diagram соединяет точки, отображенные блоком Constellation Diagram, чтобы отобразить траекторию сигнала.

Если вы увеличиваете Symbols to display до 100, модель производит траекторию сигнала как та ниже. Общее количество точек, отображенных в любой момент, 800, который является продуктом параметров Samples per symbol и Symbols to display.