Сгенерируйте код Адамара из ортогонального набора кодов
Сублибрария генераторов последовательностей источников Comm
Блок Генератора Кода Адамара генерирует код Адамара из матрицы Адамара, строки которого образуют ортогональный набор кодов. Ортогональные коды могут использоваться для расширения в системах связи, в которых приемник идеально синхронизируется с передатчиком. В этих системах операция сжатия идеальна, так как коды декоррелированы полностью.
Коды Адамара являются отдельными строками матрицы Адамара. Матрицы Адамара являются квадратными матрицами, записи которых + 1 или -1, и строки и столбцы которых взаимно ортогональны. Если N является неотрицательной степенью 2, N -by N матрица Адамара, обозначенная H N, определяется рекурсивно следующим образом.
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.
Положительное целое число, которое является степенью двойки значений, задающих длину кода Адамара.
Целое число от 0 до N -1, где N является Code length, задающим строку матрицы Адамара.
Вывод шага расчета, заданный как -1
или положительная скалярная величина, которая представляет время между каждой выборкой сигнала выхода. Если для Sample time задано значение -1
, шаг расчета наследуется от нисходящего потока. Для получения информации о связи между Sample time и Samples per frame, смотрите
Sample Timing.
Выборки на систему координат, заданные как положительное целое число, указывающее количество отсчетов на систему координат в одном канале выходных данных. Для получения информации о связи между Sample time и Samples per frame, смотрите Sample Timing.
Выходной тип блока может быть задан как int8
или double
. По умолчанию блок устанавливает это на double
.
Выберите режим симуляции.
Code generation
При первом запуске модели моделируйте и сгенерируйте код. Если структура блока не меняется, последующие запуски модели не регенерируют код.
Если режим симуляции Code generation
Системные объекты, соответствующие блокам, принимают максимум девять входы.
Interpreted execution
Моделируйте модель, не генерируя код. Эта опция приводит к более быстрому времени запуска, но может снизить эффективность последующей симуляции.
Эта модель сравнивает восстановление данных для однопользовательской системы с двухпользовательской системой. Данные передачи проходят через одноканальный канал AWGN в двух потоках данных, которые независимо распределены различными ортогональными кодами.
Модель использует случайные двоичные данные, которые модулируются BPSK (реально), распределяются ортогональными кодами длины 64 и затем передаются по каналу AWGN. Приемник состоит из сжимателя, за которым следует демодулятор BPSK.
Используя те же данные передачи, модель вычисляет эффективность BER для восстановления передачи с одним пользователем и с двумя пользователями через идентично сконфигурированные каналы AWGN.
Результаты битовой ошибки абсолютно одинаковы для отдельных пользователей в обоих случаях. Совпадающие частоты ошибок являются результатом идеального сжатия из-за идеальных перекрестных корреляционных свойств выбранных ортогональных кодов.
Чтобы экспериментировать дальше, откройте модель. Измените настройки, чтобы увидеть, как изменяется эффективность с различными кодами адамар для отдельных пользователей.
Эта модель моделирует ортогональное расширение для однопользовательской системы в окружении передачи. Это аналогично окружению мобильного канала, где сигналы принимаются по нескольким путям. Каждый путь может иметь различные амплитуды и задержки. Приемник объединяет независимые пути когерентно, используя прием с разнесением для реализации коэффициентов усиления от принятых многолучевых передач. Смоделированная система не моделирует эффекты затухания, и приемник получает идеальные знания о количестве путей и их соответствующих задержках.
Модель использует случайные двоичные данные, которые модулируются BPSK (реально), распределяются ортогональными кодами длины 64 и затем передаются по многолучевому каналу AWGN. Приемник состоит из устройства сжатия, устройства объединения разнесенных данных и демодулятора BPSK.
Неидеальные значения автокорреляции выбранных ортогональных расширительных кодов препятствуют идеальному разрешению отдельных путей. Как следствие, эффективность BER не улучшается при использовании объединения разнесений в приемнике. Для многолучевого примера, который использует псевдошумовые последовательности при расширении пользовательских данных и использует объединение разнесения в приемник, см. Раздел «Расширение PN для однопользовательской системы в многолучевом канале».
Чтобы экспериментировать дальше, откройте модель. Измените параметры, чтобы увидеть, как изменяется эффективность для различных задержек пути или с различными кодами адамар.