exponenta event banner

Источники и поглотители

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Шаблоны случайных битовых ошибок

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

f = randerr(5,4)
f = 5×4

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

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

С другой стороны, чтобы возмущать каждое кодовое слово путем введения одной ошибки с вероятностью 0,4 и двух ошибок с вероятностью 0,6, используйте команду ниже. Каждая строка имеет один '1' с вероятностью 0,4, в противном случае два '1'

g = randerr(5,4,[1,2; 0.4,0.6])
g = 5×4

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

Добавление случайной матрицы g к вашей кодовой матрице (по модулю 2) вводит одну или две ошибки в каждое кодовое слово с заданной вероятностью возникновения для каждого. Матрица вероятностей, которая является третьим аргументом 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; 0.5 0.5]); % No 1s, or one 1

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

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

Создание блоков генератора шума в Simulink ® для моделирования каналов связи.

Генераторы случайного шума

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

РаспределениеБлокФункция
Гауссовский Функция MATLAB (Simulink) wgn
Рэлей Функция MATLAB (Simulink)randn
Rician Функция MATLAB (Simulink)randn
Однородность на ограниченном интервале Функция MATLAB (Simulink)rand

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

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

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

Например, команда ниже генерирует вектор столбца длиной 50, содержащий реальный белый гауссов шум, мощность которого равна 2 дБВт. По умолчанию тип мощности в дБВт и импеданс нагрузки - 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.

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

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

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

С помощью этих системных объектов в MATLAB ® и этих блоков в Simulink можно создавать псевдослучайные или псевдошумовые (PN) последовательности. Области применения этих последовательностей варьируются от систем связи с расширенным спектром с множественным доступом до масштабирования, синхронизации и скремблирования данных .

Последовательность Системные object™ Блок
Золотые последовательности comm.GoldSequenceГенератор золотых последовательностей
Последовательности Касами comm.KasamiSequenceГенератор последовательностей Касами
Последовательности PN comm.PNSequenceГенератор последовательности PN

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

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

Коэффициент mi равен 1, если имеется задержка, или 0, если нет задержки, от i-го сдвигового регистра к сумматору, предшествующему выходу. Если сдвиг равен нулю, переключатель m0 закрывается, в то время как все остальные переключатели mk разомкнуты.

Генераторы последовательностей Касами и ПШ используют это описание многочлена для своего генераторного многочлена. Генератор последовательностей Голда использует это описание полинома для предпочтительных первой и второй ПШ последовательностей генератора.

Генерация ПШ последовательности модели с помощью регистра сдвига с линейной обратной связью

В этом примере показано, что последовательности, выводимые из PN Sequence Generator может быть смоделирован с использованием регистра сдвига с линейной обратной связью (LFSR), построенного с помощью примитивных блоков Simulink ®.

Для выбранного генераторного полинома p (z) = z ^ 6 + z + 1 модель генерирует ПШ последовательность периода 63, используяPN Sequence Generator и путем моделирования LFSR с использованием примитивных блоков Simulink. Два параметра, Initial states и Output mask vector (or scalar shift value), интерпретируются в схеме модели LFSR. PreLoadFcn функция обратного вызова используется для инициализации параметров среды выполнения. Для просмотра функций обратного вызова перейдите к разделу MODELING> SETUP> Model Settings> Model Propertiesи выберите Callbacks вкладка.

Выходные данные области показывают, что две реализации создают совпадающие последовательности PN.

Использование блока генератора PN-последовательностей позволяет легко генерировать PN-последовательности больших периодов. Чтобы поэкспериментировать дальше, откройте модель. Измените настройки, чтобы увидеть, как изменяется производительность при различных задержках тракта, или настройте параметры генератора последовательности PN. Можно экспериментировать с различными начальными состояниями, изменив значение начальных состояний перед запуском моделирования. Для всех значений две сгенерированные последовательности одинаковы.

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

Используйте comm.BarkerCode Системный объект и блок генератора кода Баркера для генерации кодов Баркера для выполнения синхронизации. Коды Баркера являются подмножествами ПШ последовательностей. Они представляют собой короткие коды, длиной не более 13, которые являются низкокорреляционными боковыми балками. Боковая точка корреляции - это корреляция кодового слова со сдвигаемой по времени версией самого себя.

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

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

Кодекс Системный объект Блок
Коды Адамара comm.HadamardCodeГенератор кодов Адамара
Коды OVSF comm.OVSFCodeГенератор кодов OVSF
Коды Уолша comm.WalshCodeГенератор кодов Уолша

Объемы

Библиотека блоков Comm Sinks содержит области для просмотра графиков сигналов трех типов:

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

Имя блокаСюжеты
Объем диаграммы глаз Глазная диаграмма сигнала
Диаграмма созвездия Диаграмма созвездия и траектория сигнала

Диаграммы глаз

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

Блок «Объем диаграммы глаз» создает диаграммы глаз. Этот блок обрабатывает дискретно-временные сигналы и периодически проводит линию для указания решения, согласно параметру маски.

Примеры приведены в разделах Просмотр синусоиды и Просмотр модулированного сигнала.

Графики рассеяния

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

Блок диаграммы созвездия формирует диаграмму созвездия из дискретных временных сигналов. В разделе Вид синусоиды (View a Sinusoid) появится пример.

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

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

Блок диаграммы созвездия формирует траектории сигнала. Блок диаграммы созвездия создает траектории сигнала, когда ShowTrajectory свойство имеет значение true. Траектория сигнала соединяет все точки входного сигнала, независимо от заданного коэффициента прореживания (Samples per symbol)

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

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

Для открытия модели введите doc_eyediagram в командной строке MATLAB. Для построения модели соберите и настройте следующие блоки:

  • Синусоидальная волна в библиотеке источников Toolbox™ системы DSP (не блок синусоидальной волны в библиотеке источников Simulink)

    • Установить частоту в .502.

    • Задайте для параметра «Сложность вывода» значение Complex.

    • Установить время выборки на 1/16.

  • Диаграмма созвездия, в библиотеке Comm Sinks

    • На панели «Свойства созвездия» задайте для параметра «Образцы на символ» значение 16.

  • Область диаграммы глаз, в библиотеке Comm Sinks

    • На панели «Свойства печати» задайте для параметра «Образцы на символ» значение 16.

    • На панели «Свойства фигуры» установите положение «Область» в figposition([42.5 55 35 35]);.

Подключите блоки, как показано на предыдущем рисунке. В разделе «Моделирование» задайте для параметра «Время остановки» значение 250. Раздел «Моделирование» отображается на нескольких вкладках. При выполнении модели создается следующая диаграмма рассеяния.

Точки графика рассеяния лежат на окружности радиуса 1. Обратите внимание, что точки замирают с течением времени. Это связано с тем, что в разделе «Свойства визуализации» установлен флажок «Затухание цвета», что приводит к более тусклому отображению точек области, чем больше времени проходит после их вывода на печать. Если очистить это поле, появится полный круг точек.

Блок «Диаграмма созвездия» отображает круговую траекторию.

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

Просмотр модулированного сигнала

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

Глазная диаграмма модулированного сигнала

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

Для открытия модели введите doc_signaldisplays в командной строке MATLAB. Для построения модели соберите и настройте следующие блоки:

  • Генератор случайных целых чисел в библиотеке источников случайных данных библиотеки Comm Sources

    • Установить М-образное число в 4.

    • Установить время выборки на 0.01.

  • QPSK Модулятор основной полосы частот, в PM в цифровой поддиапазоне основной полосы частот библиотеки модуляции коммуникационного инструментария, с параметрами по умолчанию

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

    • Установить режим в значение Signal-to-noise ratio (SNR).

    • Установите SNR (дБ) в значение 15.

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

    • Задать для формы фильтра значение Normal.

    • Установить коэффициент отката в значение 0.5.

    • Задать для диапазона фильтра в символах значение 6.

    • Задайте для параметра Выходные выборки для каждого символа значение 8.

    • Установите для обработки ввода значение Elements as channels (sample based).

  • Область диаграммы глаз, в библиотеке Comm Sinks

    • Задайте для параметра «Образцы на символ» значение 8.

    • Задать символы для трассировки как 3. Это указывает количество символов, отображаемых в каждой трассе диаграммы глаз. След - это любая из отдельных линий на диаграмме глаз.

    • Задать для отображаемых трассировок значение 3.

    • Задать для параметра Новые трассировки для каждого дисплея значение 1. Это указывает количество новых трассировок, которые появляются при каждом обновлении диаграммы. Количество трассировок, которые остаются на диаграмме от одного обновления до следующего, равно «Трассировка отображается» минус «Новая трассировка на каждый экран».

    • На панели «Свойства тонирования» задайте для параметра «Маркеры» значение + для указания точек, нанесенных на график в каждом образце. Значение по умолчанию для параметра «Маркеры» является пустым, что указывает на отсутствие маркера.

    • На панели «Свойства фигуры» установите для параметра «Схема глаз» значение In-phase only.

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

Отображаются три трассировки. Трассы 2 и 3 замирают, поскольку в разделе «Свойства визуализации» выбран параметр «Замирание цвета». Это приводит к тому, что следы отображаются менее ярко, чем старше. На этом рисунке Trace 1 является самым последним, а Trace 3 - самым старым. Поскольку для параметра «» Создать трассировку для каждого дисплея «» установлено значение 1, только Trace 1 появляется впервые. Трассы 2 и 3 также отображаются на предыдущем дисплее.

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

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

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

Диаграмма созвездия модулированного сигнала

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

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

  • Диаграмма созвездия в библиотеке Communications Toolbox/Comm Sinks

    • Задайте для параметра «Образцы на символ» значение 2

    • Задать смещение как 0. Это указывает количество образцов, пропускаемых перед выводом на печать первой точки.

    • Задать символы для отображения 40.

При выполнении моделирования в блоке «Схема созвездия» отображается следующий график.

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

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

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

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

  • Диаграмма созвездия в библиотеке Communications Toolbox/Comm Sinks

    • Задайте для параметра «Образцы на символ» значение 8.

    • Задать символы для отображения 40. Это определяет количество символов, отображаемых на траектории сигнала. Общее количество отображаемых точек является произведением значений «Образцы на символ» и «Символы для отображения».

При запуске модели на диаграмме созвездия отображается траектория, подобная приведенной ниже.

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

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

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

См. также