Hadamard Code Generator

Сгенерируйте код Адамара из ортогонального набора кодов

Библиотека

Сублибрария генераторов последовательностей источников Comm

  • Hadamard Code Generator block

Описание

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

Коды Адамара являются отдельными строками матрицы Адамара. Матрицы Адамара являются квадратными матрицами, записи которых + 1 или -1, и строки и столбцы которых взаимно ортогональны. Если N является неотрицательной степенью 2, N -by N матрица Адамара, обозначенная H N, определяется рекурсивно следующим образом.

H1=[1]H2N=[HNHNHNHN]

N-на-N Матрица Адамара имеет свойство, что

H N H NT = N I N

где I N является единичной матрицей N -by N.

Блок генератора кода Адамара выводит строку H N. Выход биполярный. Вы задаете длину кода, N, параметром Code length. Значение Code length должно быть степенью 2. Вы задаете индекс строки матрицы Адамара, который является целым числом в области значений [0, 1,..., N -1], параметром Code index.

Параметры

Code length

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

Code index

Целое число от 0 до N -1, где N является Code length, задающим строку матрицы Адамара.

Sample time

Вывод шага расчета, заданный как -1 или положительная скалярная величина, которая представляет время между каждой выборкой сигнала выхода. Если для Sample time задано значение -1, шаг расчета наследуется от нисходящего потока. Для получения информации о связи между Sample time и Samples per frame, смотрите Sample Timing.

Samples per frame

Выборки на систему координат, заданные как положительное целое число, указывающее количество отсчетов на систему координат в одном канале выходных данных. Для получения информации о связи между Sample time и Samples per frame, смотрите Sample Timing.

Output data type

Выходной тип блока может быть задан как int8 или double. По умолчанию блок устанавливает это на double.

Simulate using

Выберите режим симуляции.

Code generation

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

Если режим симуляции Code generationСистемные объекты, соответствующие блокам, принимают максимум девять входы.

Interpreted execution

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

Примеры

Ортогональное расширение для многопользовательской системы в однопутевом канале

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

Модель использует случайные двоичные данные, которые модулируются BPSK (реально), распределяются ортогональными кодами длины 64 и затем передаются по каналу AWGN. Приемник состоит из сжимателя, за которым следует демодулятор BPSK.

Используя те же данные передачи, модель вычисляет эффективность BER для восстановления передачи с одним пользователем и с двумя пользователями через идентично сконфигурированные каналы AWGN.

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

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

Ортогональное расширение для однопользовательской системы в многолучевом канале

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

Модель использует случайные двоичные данные, которые модулируются BPSK (реально), распределяются ортогональными кодами длины 64 и затем передаются по многолучевому каналу AWGN. Приемник состоит из устройства сжатия, устройства объединения разнесенных данных и демодулятора BPSK.

Неидеальные значения автокорреляции выбранных ортогональных расширительных кодов препятствуют идеальному разрешению отдельных путей. Как следствие, эффективность BER не улучшается при использовании объединения разнесений в приемнике. Для многолучевого примера, который использует псевдошумовые последовательности при расширении пользовательских данных и использует объединение разнесения в приемник, см. Раздел «Расширение PN для однопользовательской системы в многолучевом канале».

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

Подробнее о

расширить все

Вопросы совместимости

расширить все

Поведение изменено в R2020a

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

.

См. также

Блоки

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