Еще раз о пользовательских библиотеках SystemView
Эта статья продолжает описание пользовательских библиотек SystemView, начатое автором ранее [4, 5]. В данной статье дается краткое описание еще трех пользовательских библиотек программы SystemView.
Библиотека WNL_Bluetooth
Bluetooth («Голубой Зуб») — универсальная технология беспроводной связи разнотипных микропроцессорных устройств локальной сети, названная так в честь датского короля X века Гарольда II по прозвищу Голубой Зуб, прославившегося объединением датских земель. Цель создателей Bluetooth — обеспечить самым разнообразным электронным приборам (компьютерам, сотовым телефонам и другой бытовой технике) возможность обмениваться данными друг с другом без проводов на расстоянии до 100 м.
Технология Bluetooth была изобретена 5 лет назад компанией Ericsson. Сегодня в состав консорциума,
продвигающего на рынок данную технологию, входят компании 3Com, Agere Systems, IBM, Intel, Microsoft, Motorola, Nokia, Toshiba.
Типичное Bluetooth-устройство представляет собой радиоприемник и радиопередатчик, работающие на частотах 2400–2483,5 МГц (ISM). Эти частоты выбраны не случайно, они являются открытыми и свободными от всякого лицензирования в большинстве стран мира. Исключение составляют Испания и Франция.
Используемые частоты определяют возможности Bluetooth по передаче данных. В технологии Bluetooth весь диапазон разбит на 78 каналов шириной 1 МГц каждый.
Для передачи данных используется гауссова фазовая модуляция (GFSK), которая предусматривает изменение частоты несущей во времени в соответствии с гауссовой кривой (индекс модуляции изменяется от 0,28 до 0,35, а девиация частоты — от 145 до 175 кГц), что позволяет ограничить спектр излучаемого сигнала.
Обмен данными осуществляется внутри временных интервалов (слотов) длиной 625 мкс. После передачи каждого слота производится переход на другой частотный канал. Если не передаются данные, то через Bluetooth-соединение можно передавать до трех аудиоканалов. Каждый из синхронных аудиоканалов имеет скорость 64 кбит/с. Кроме этого, возможна и комбинированная передача данных и голоса.
Главной особенностью является то, что различные устройства Bluetooth соединяются друг c другом автоматически. Устройства Bluetooth могут устанавливать соединения типа «точка-точка», когда имеется только два устройства, и «точка-многоточка», когда одно устройство одновременно работает с несколькими другими. При соединении одного устройства с несколькими другими устройство, которое обслуживает несколько соединений, называется master (ведущий), а подключенные устройства — slave (ведомые). Такая структура называется piconet (пикосеть). В одной пикосети может быть только одно ведущее устройство и до семи ведомых. Несколько пикосетей, объединенных таким способом, образуют scatternet (распределенную сеть).
Более того, в случае необходимости любое ведомое устройство в пикосети может стать ведущим, а ведущее — ведомым. Таким образом, в распределенную сеть может объединиться столько устройств Bluetooth, сколько необходимо, логические связи могут образовываться так, как это требуется, и могут изменяться как угодно в случае необходимости. Единственное условие: различные пикосети, входящие в одну распределенную сеть, должны работать на различных частотах. Канал связи представляет сетку частот, на каждой из которых может производиться обмен данными. Всего таких частот 79 или 23, а выбор частот для обмена производится на основе псевдослучайной последовательности.
Одной из причин смены частот является борьба с затуханием радиосигнала и интерференцией. Как уже говорилось, автоматическая установка соединения между устройствами, находящимися в пределах досягаемости, является одной из важнейших особенностей Bluetooth, поэтому первое, с чего начинается работа устройства в незнакомом окружении, — это поиск других устройств Bluetooth. Для этого посылается запрос, и ответ на него зависит не только от наличия в радиусе связи активных устройств Bluetooth, но и от режима, в котором находятся эти устройства.
После того как соединение установлено, его можно использовать для самых различных целей. Возможно это благодаря набору базовых протоколов, используемых в Bluetooth для передачи различных типов данных. Упрощенная схема их зависимости друг от друга приведена на рис. 1.
Рис. 1. Базовые протоколы, используемые в Bluetooth
В основе всего, как видно из схемы, лежит Baseband protocol. Baseband protocol определяется физическими характеристиками радиоканала. Logical Link Control & Adaptation Layer Protocol (L2CAP) является базовым протоколом передачи данных для Bluetooth. Baseband protocol позволяет устанавливать синхронные Synchronous Connection-Oriented (SCO) и асинхронные Asynchronous Connection-Less (ACL) соединения. L2CAP, как видно из схемы, работает только с асинхронными соединениями. Также из схемы видно, что многие протоколы и службы более высокого уровня используют L2CAP как транспортный протокол. В полном соответствии с идеологией Bluetooth L2CAP является простым протоколом, который предъявляет минимум требований к вычислительным мощностям и размеру оперативной памяти устройств, которые его используют.
Соединения типа SCO обычно используются для передачи речевых данных (DV). В тех временных интервалах, которые не зарезервированы для синхронных соединений, ведущее и ведомое устройство могут обмениваться данными через соединение ACL — соединение с коммутацией пакетов между ведущим и всеми ведомыми устройствами в пикосети.
Пакет состоит из трех полей: кода доступа (access code), заголовка (header) и данных (payload). Размер первых двух полей фиксирован и составляет 72 или 68 бит и 54 бита соответственно. Информация в коде доступа имеет двойную защиту: во-первых, применяется код Хемминга, а во-вторых, проделывается процедура коррекции ошибок с опережением (FEC).
Библиотека WNL_Bluetooth содержит всесторонний набор инструментальных средств, помогающих в проектировании и моделировании устройств, обеспечивающих беспроводную связь самым разнообразным элек-
тронным приборам. Диалоговое окно библиотеки WNL Bluetooth приведено на рис. 2.
Рис. 2. Диалоговое окно библиотеки WNL_Bluetooth
Описание функциональных элементов библиотеки WNL_Bluetooth
Fh — генератор со скачкообразной перестройкой частоты Bluetooth.
Параметры генератора со скачкообразной перестройкой частоты приведены в таблице 1 (см. файл примера Bluetooth Frec Hop Gen.svu).
Таблица 1. Параметры генератора со скачкообразной перестройкой частоты
Параметр |
Назначение |
Hop System |
Система со скачкообразной перестройкой частоты (79 или 23 частоты) |
State |
Выбор состояния: «Персональный вызов»/ «Запрос»; сканирование «Персональный вызов»/ сканирование «Запрос»; ответ персональному вызову ведущего; ответ персональному вызову ведомого; соединение |
Bluetooth Device Addres |
Выбор адреса устройства: верхней части адреса, состоящей из поля 8 битов; нижней части адреса,
состоящей из поля 24 бита; незначащей части адреса, состоящей из поля 16 битов |
Page Substate |
Пакет A или B |
Генератор со скачкообразной перестройкой частоты имеет один вход-синхронизатор Bluetooth и 15 выходов: X, A, Add1, B, XOR1, C, Y1, XOR2, D, PERM5, E, F, Y2, ADDR2 и Fhop.
Clock_N — собственный синхронизатор Bluetooth управляется последовательностью импульсов 3200 Гц. Этот синхронизатор выполняет размыкание обратной связи и является неустанавливаемым.
Параметры синхронизатора приведены в таблице 2 (см. файл примера Bluetooth ClockN.svu).
Таблица 2. Параметры синхронизатора
Параметр |
Назначение |
Threshold |
Напряжение порога, разделяющего логическую Threshold единицу и логический ноль |
CLK Offset |
Сдвиг уровня синхронизации |
Синхронизатор имеет один вход-последовательность импульсов с частотой 3200 Гц и 5 выходов: CLKN, CLK0, CLK1, CLK2 и CLK12.
ACC_Corr — коррелятор кода доступа Bluetooth. Выполняет скользящую корреляцию входного сигнала. Если число ошибок в корреляции ниже порога, пакет предназначен/адресован для этого устройства.
Параметры коррелятора приведены в таблице 3.
Таблица 3. Параметры коррелятора
Параметр |
Назначение |
Threshold |
Напряжение порога, разделяющего логическую единицу и логический ноль |
LAP |
24 бита нижней части адреса устройства |
Access code size |
Разрядность кода 68 или 72 бита в зависимости от типа пакета |
Logic1 |
Выходное значение, представляющее логическую 1 |
Logic0 |
Выходное значение, представляющее логический 0 |
Acc Code threshod |
Порог для запуска коррелятора кода доступа для числа битов < 64 |
Коррелятор имеет один вход — демодулированный сигнал и два выхода: пакет и флаг кода доступа.
Trans — блок передатчика Bluetooth.
Передатчик Bluetooth выполняет следующие функции:
- исправляет ошибки и детектирует со скоростью 1/3;
- исправляет ошибки и детектирует со скоростью 2/3;
- проверяет ошибки, используя CRC, добавляя биты проверки на четность к выходным данным;
- проверяет ошибки на всех заголовках пакета и соединениях ACL для подтверждения целостности полученных данных;
- шифрует — смешивает PN (псевдослучайную) последовательность с данными;
- генератор кода доступа (Access Code Generator) создает код доступа, который размещается в начале пакета. Код доступа имеет длину 68 или 72 бита. Он используется для синхронизации, идентификации,
поисковой связи и процедур запроса;
- заголовок пакета состоит из 10 битов перед HEC. Пакет затем пропускают через FEC для получения 54 битов;
- мультиплексирует код доступа, заголовок и полезную нагрузку, чтобы создать пакет.
Типы поддерживаемых пакетов приведены в таблице 4.
Таблица 4. Типы поддерживаемых пакетов
Сегментация |
Тип кода |
Число защищенных слотов |
Связь SCO |
Связь ACL |
Данные заголовка (биты) |
Пользовательские данные (биты) |
FEC |
CRC |
- |
- |
1 или 2 |
ID |
0 |
0 |
Нет |
Нет |
Управляющие пакеты |
0000 |
1 |
NULL |
Нет |
Нет |
Нет |
Нет |
0001 |
1 |
POLL |
Нет |
Нет |
Нет |
Нет |
0010 |
1 |
FNS |
Нет |
18 |
2/3 |
Нет |
0011 |
1 |
DM1 |
1 |
0-17 |
2/3 |
Есть |
Пакеты с одиночным слотом данных |
0100 |
1 |
- |
DH1 |
1 |
0-27 |
Нет |
Есть |
0101 |
1 |
HV1 |
- |
Нет |
10 |
1/3 |
Нет |
0110 |
1 |
HV2 |
- |
Нет |
20 |
2/3 |
Нет |
0111 |
1 |
HV3 |
- |
Нет |
30 |
Нет |
Нет |
1000 |
1 |
DV |
- |
(1) |
10(0–9) |
2/3 |
Нет |
1001 |
1 |
- |
AUX1 |
1 |
0-28 |
Нет |
Нет |
Пакеты с тремя слотами данных |
1010 |
3 |
- |
DM3 |
2 |
0-121 |
2/3 |
Есть |
1011 |
3 |
- |
DH3 |
2 |
0-183 |
Нет |
Есть |
1100 |
2 |
- |
- |
- |
- |
- |
- |
1101 |
3 |
- |
- |
- |
- |
- |
- |
Пакеты с пятью слотами данных |
1110 |
5 |
- |
DM5 |
2 |
0-224 |
2/3 |
Есть |
1111 |
5 |
- |
DH5 |
2 |
0-339 |
Нет |
Есть |
Таблица 5. Параметры передатчика
Параметр |
Назначение |
Bluetooth Device Addres |
Выбор адреса устройства: верхней части адреса, состоящей из поля 8 битов; нижней части адреса, состоящей из поля 24 бита; незначащей части адреса, состоящей из поля 16 битов |
State master/slave |
Действующее состояние: ведущий или ведомый |
Hop System |
Скачок частоты системы (всего таких частот 79 или 23) |
Pkt Type |
Тип пакета |
AM_ADDR |
3-битный активный адрес элемента |
Flow |
Поток заданных битов |
ARQN (Automatic Repeat Request) |
Заданный бит повторения автоматического запроса |
SEQN (Sequence Number) |
Бит, задающий номер последовательности |
Payload Length |
Длина данных |
L_CH |
Логический канал |
Flow (L2CAP) |
Поток в L2CAP+уровне |
SR |
2-битное поле повторения сканирования |
SP |
2-битное поле периода сканирования |
Device Class |
Класс 24-битных устройств |
Scan Mode |
3-битная область, показывающая режим сканирования «Персональный вызов» |
Page Substate |
Пакет A или B |
Блок передатчика имеет один вход — синхронизация N и три выхода: пакет, заголовок и данные.
Recv — блок приемника Bluetooth.
Приемник Bluetooth выполняет следующие функции:
- исправляет ошибки и детектирует со скоростью 1/3;
- исправляет ошибки и детектирует со скоростью 2/3;
- проверяет ошибки, декодирует 18 битов сообщения заголовка и биты проверки на четность;
- декодирует биты сообщения заголовка и биты проверки на четность;
- дешифрует;
- демультиплексирует пакет.
Параметры приемника приведены в таблице 6.
Таблица 6. Параметры приемника
Параметр |
Назначение |
Logic 0 |
Выходной логический ноль |
Logic 1 |
Выходная логическая единица |
Threshold |
Напряжение порога, разделяющего логическую единицу и логический ноль |
State master/slave |
Состояние действующего устройства (ведущий или ведомый) |
FEC decode soft/hard |
Либо программное, либо аппаратное декодирование с использованием 2/3 кода Хемминга |
Bluetooth Device Addres |
Выбор адреса устройства. Верхней части адреса, состоящей из поля 8 битов; нижней части адреса,
состоящей из поля 24 бита; незначащей части адреса, состоящей из поля 16 битов. |
Hop System |
Скачок частоты системы (79 или 23 частоты) |
Page Substate |
Пакет A или B |
Блок приемника имеет три входа: синхронизация N, кодированный поток битов из коррелятора кода доступа и флаг кода доступа, а также четыре выхода: заголовок, флаг ошибки (HEK), данные, флаг ошибки (CRC).
R2/3E — элемент кодирует 10-битный блок из последовательного потока битов с первым LSB (наименьшим значимым битом) и последовательно выдает 15 бит для каждого входного блока. Наименьший значимый бит является первым по порядку на выходе. Для коррекции ошибок (15, 10) используется укороченный код Хемминга.
Параметры этого кодера приведены в таблице 7.
Таблица 7. Параметры устройств
Параметр |
Назначение |
Logic 0 (v) |
Выходной логический ноль (В) |
Logic 1 (v) |
Выходная логическая единица (В) |
Threshold (v) |
Входной логический пороговый уровень (В) |
Этот функциональный элемент имеет один вход — поток битов и один выход — закодированный поток битов.
R2/3D — этот элемент декодирует 15-битный блок из последовательного битового потока с первым наименьшим значимым битом и последовательно выдает 10 бит данных для каждого входного блока, начинающегося с LSB на выходе 0. Флаг ошибки является выходным данным для каждого входного блока
на выходе 1 и указывает, что было обнаружено две или большее количество ошибок. FEC схема (15, 10), укороченный код Хемминга.
Параметры этого декодера приведены в таблице 7.
Этот элемент имеет один вход — поток битов и два выхода: декодированный поток битов и флаг ошибки.
R1/3E — кодер. Скорость 1/3. Кодирует 1 бит, копируя себя три раза.
Параметры этого кодера приведены в таблице 7.
Этот функциональный элемент имеет один вход — поток битов и один выход — закодированный поток битов.
R1/3D — декодер исправляет ошибки и детектирует. Скорость 1/3. Декодирует 3-битный блок из последовательной сортировки потока битов за счет усреднения трех входных битов, затем сравнивает среднее число с пороговым уровнем.
Параметры этого декодера приведены в таблице 8.
Таблица 8. Параметры декодера R1/3D
Параметр |
Назначение |
Logic 0 (v) |
Выходной логический ноль (В) |
Logic 1 (v) |
Выходная логическая единица (В) |
Threshold (v) |
Входной логический пороговый уровень (В) |
Soft(0/1) |
|
Этот элемент имеет один вход — поток битов и один выход — декодированный поток битов.
HEC_Enc — проверка ошибки. Кодирует 10 битов информации заголовка, добавляя в конец 8 разрядов проверки на четность к выходным данным.
Параметры этого кодера приведены в таблице 9.
Таблица 9. Параметры устройств
Параметр |
Назначение |
Logic 0 (v) |
Выходной логический ноль (В) |
Logic 1 (v) |
Выходная логическая единица (В) |
Threshold (v) |
Входной логический пороговый уровень (В) |
UAP/DCI (0+255) |
|
Этот функциональный элемент имеет один вход — поток битов и один выход — закодированный поток битов.
HEC_Dec — проверка ошибки. Декодирует 18 битов заголовка сообщения и битов проверки на четность.
Параметры этого декодера приведены в таблице 9.
Этот элемент имеет один вход — поток битов и один выход — декодированный поток битов.
CRC_Enc — проверка ошибки, выполняемая на всех заголовках пакета и ACL-данных, подтверждающих целостность полученных данных.
Параметры этого кодера приведены в таблице 9.
Этот функциональный элемент имеет один вход — поток битов и один выход — закодированный поток битов.
CRC_Dec — декодирует биты заголовка сообщения и биты проверки на четность.
Параметры этого декодера приведены в таблице 9.
Этот элемент имеет один вход — поток битов и один выход — декодированный поток битов.
Whitener — осуществляет шифрование перемешиванием псевдослучайной последовательности с данными.
Параметры этого устройства приведены в таблице 7.
Этот функциональный элемент имеет один вход — поток битов и один выход — зашифрованный поток битов.
Пример схемы канала связи Bluetooth приведен на рис. 3. Результаты моделирования — на рис. 4.
Рис. 3. Схема канала связи Bluetooth
Рис. 4. Результаты моделирования канала связи Bluetooth
Список сокращений:
AM _ADDR (Active Member Address) — активный адрес элемента.
ARQ (Automatic Repeat reQuest) — автоматический запрос повторной передачи.
BD_ADDR (Bluetooth Device Address) — адрес устройства Bluetooth.
CAC (Channel Access Code) — код доступа к каналу.
CRC (Cyclic Redundancy Check) — проверка с помощью циклического избыточного кода.
DAC (Device Access Code) — код доступа устройства.
DIAC (Dedicated Inquiry Access Code) — специализированный код доступа запроса (для устройств, находящихся в зоне досягаемости и имеющих стандартные характеристики).
DV (Data Voice) — речевые данные.
FEC (Forward Error Correction code) — код коррекции ошибок с опережением (путем введения избыточности, равной 3).
FH (Frequency Hopping) — скачкообразная перестройка частоты.
FHS (Frequency Hop Synchronization) — синхронизация скачкообразной перестройки частоты.
GIAC (General Inquiry Access Code) — общий код доступа запроса.
HEC (Header-Error-Check) — проверка ошибки заголовка.
HV (High-quality Voice) — высококачественная речь.
IAC (Inquiry Access Code) — код доступа запроса.
ID — единственный код доступа, используемый до соединения.
ISM (Industrial, Scientific, Medical) — промышленный, научный, медицинский. диапазон 2400–2483,5 Мгц, используемый во многих странах для безлицензионного доступа.
L_CH (Logical Channel) — логический канал.
L2CAP (Logical Link Control & Adaption Protocol) — подуровень управления логической связью & протокол адаптации (базовый протокол передачи данных для Bluetooth, позволяющий устанавливать асинхронные соединения (Asynchronous Connection-Less)).
LAP (Lower Address Part) — нижняя часть адреса.
NAP (Non-significant Address Part) — незначащая часть адреса.
NULL — код доступа + заголовок пакета, используется для ARQ.
PM_ADDR (Parked Member Address) — исходный элемент адреса.
POLL — такая же структура, как NULL, но имеющая подтверждение.
SAP (Service Access Points) — точка доступа к службе (интерфейс между соседними уровнями в стеке протоколов OSI. SAP именуются в соответствии с уровнями, обеспечивающими сервис).
SAR (Segmentation and Reassembly) — сегментация и повторная сборка пакета.
SEQN (Sequential Numbering Scheme) — последовательная нумерация схемы.
TDD (Time-Division Duplex) — дуплексная схема с временным разделением.
UAP (Upper Address Part) — верхняя часть адреса.
Библиотека TURBO CODE V1.0
Турбокоды — новый класс методов, описывающих итерационное декодирование FEC (Forward Error Correction) — прямое исправление ошибок, прямая защита от ошибок (путем введения избыточности) кодов. Tурбокоды заменяют коды Витерби и Ри-да–Соломона в существующих и появляющихся приложениях.
Турбокоды впервые были введены в 1993 году Берру, Главье и Цитимаджимой, где в описываемой ими схеме достигалась вероятность появления ошибок 10-5 при степени кодирования ½ и модуляции BPSK в канале с белым аддитивным гауссовым шумом с Eb/N0 , равным 0,7 дБ.
Турбокод можно считать обновлением структуры каскадного кодирования с итеративным алгоритмом декодирования связанной кодовой последовательности. Турбокоды образуются посредством компоновки двух или более составных кодов, являющихся разными вариантами чередования одной и той же информационной последовательности.
Множество компаний и университетов экспериментировали с турбокодами, но достигли небольших практических результатов. Это положение изменилось в конце 1998 года, когда Advanced Hardware Architectures (www.aha.com) анонсировала микросхемы Turbo Product Code (TPC), созданные вместе с Efficient Channel Coding (www.eccincorp.com). Efficient Channel Coding занималась развитием декодирующих алгоритмов с невысокой сложностью и высокой эффективностью. Микросхемы на кремнии с реализацией этих алгоритмов были созданы Advanced Hardware Architectures.
Библиотека Turbo Code Library V1.0 позволяет пользователям легко интегрировать и проверять различные турбокоды при моделировании в SystemView.
Элементы обладают богатым набором параметров, разрешающих широкий диапазон скоростей кодирования, эффективности кодирования, размеров блока и времени ожидания. Кроме того, обеспечивается согласование с более высоким порядком модуляции.
Библиотека Turbo Code Library представляет первую высокоуровневую поддержку моделирования турбокодов. Библиотека Turbo Code Library включает в себя три элемента.
LLR — этот элемент вычисляет LLR (Log Likelihood Ratio) — логарифмическое отношение правдоподобия каждого бита в пределах полученного символа. LLR используется для оптимального декодирования. Этот элемент должен предшествовать декодеру DEC (Turbo Product Code Decoder), если используется более высокий порядок модуляции (до 64-бинарной модуляции).
Параметры этого элемента приведены в таблице 10 (см. также пример, codec 16QAM.svu в каталоге /ECC/example_systems).
Таблица 10. Параметры элемента LLR
Параметр |
Определение |
No Symbols (N) |
Количество сигнальных точек в созвездии. Максимальный размер сигнального созвездия — 64 |
Es/No |
Символ коэффициента шума, ожидаемого в рабочей точке |
Quant limit |
Абсолютное значение максимального экстента (непрерывной области, например, в памяти с прямым доступом, резервируемой для определенного набора данных) синфазного или квадратурного сигналов |
Constellation File |
Файл созвездия может быть входным при выборе кнопки «External File» |
Этот элемент имеет два входа: синфазная составляющая полученного символа при одной выборке в символе и квадратурная составляющая полученного символа при одной выборке в символе и один выход — LLR-поток данных для каждого бита полученного символа (младший бит сначала) при одной выборке в значении LLR.
ENC — этот элемент кодирует поток входных данных композиционного турбокода. Блок композиционного турбокода может быть 2- или 3-размерный, где каждое измерение может иметь различный составляющий код, удовлетворяющий следующему выражению:
log2 (nx) + 1 = nx–kx,
где nx — полные биты в кодовом слове; kx — число информационных битов в кодовом
слове.
Единственное исключение в этом — коды четности (nx–kx=1), которые могут использоваться при любом измерении.
Параметры этого кодера приведены в таблице 11. (См. также пример BPSK.svu в каталоге/ECC/example_systems. В этом примере кодер используется для кодирования данных
до передачи через канал AWGN.)
Таблица 11. Параметры элемента ENC
Параметр |
Определение |
X code length (nx) |
Общее количество битов в составляющем коде в направлении X |
Y code length (ny) |
Общее количество битов в составляющем коде в направлении Y |
Z code length (zy) |
Общее количество битов в составляющем коде в направлении Z |
X information (kx) |
Число информационных битов в составляющем коде в направлении X |
Y information (ky) |
Число информационных битов в составляющем коде в направлении Y |
Z information (kz) |
Число информационных битов в составляющем коде в направлении Z |
Threshold |
Напряжение порога, разделяющего логическую единицу и логический ноль |
Offset |
Указывает число выборок до первого правильного входного бита |
Interleave |
Если выбрано, кодер по спирали уплотняет импульсные сигналы блока |
Этот элемент имеет один вход — информационный поток битов при одной выборке на бит и один выход — закодированное сообщение при одной выборке на бит или символ. Выходная скорость элемента — n/k * <входная скорость>, где n — полная разрядность блока (nx*ny*nz), и k — разрядность информационного блока (kx*ky*kz).
DEC — этот элемент декодирует поток данных композиционного турбокода. Композиционный турбокод может быть 2- или 3-размерный, где каждое измерение может иметь различный составляющий код, удовлетворяющий следующему выражению:
log2 (nx) + 1 = nx-kx,
где nx — полные биты в кодовом слове, kx — число информационных битов в кодовом слове. Единственное исключение — коды четности (nx-kx=1), которые могут использоваться на любом измерении.
Число итераций параметра — число итераций оси, которое нужно отличать от числа полных итераций. Итерация с одной осью — декодирование одного измерения блока. Одна полная итерация является декодированием всех измерений блока для двумерных кодов, число итераций оси является удвоенным номером полных итераций. Для кодов с тремя измерениями число итераций оси составляет утроенное число полных итераций.
Каждый TPC требует коэффициентов для различных измерений в процессе декодирования. Эти коэффициенты, обозначенные выше X, Y и Z, оказывают существенное воздействие на работу кодов множеством способов.
Значения коэффициента должны быть целыми числами между 1 и 16.
Параметры декодера приведены в таблице 12 (см. также пример BPSK.svu или codec16QAM.svu в каталоге /ECC/example_systems.
Первый файл демонстрирует использование элемента без LLR; второй файл — с элементом LLR).
Таблица 12. Параметры декодера DEC
Параметр |
Определение |
X code length nx |
Общее количество битов в составляющем коде в направлении X |
Y code length ny |
Общее количество битов в составляющем коде в направлении Y |
Z code length nz |
Общее количество битов в составляющем коде в направлении Z |
X information kx |
Число информационных битов в составляющем коде в направлении X |
Y информация ky |
Номер информационных битов в составляющем коде в направлении Y |
Z information kz |
Число информационных битов в составляющем коде в направлении Z |
Iterations |
Число итераций осей для выполнения блока |
Feedback weight X |
Весовой коэффициент на выходе итерации оси X |
Weighting factor Y |
Весовой коэффициент на выходе итерации оси Y |
Feedback weight Z |
Весовой коэффициент на выходе итерации оси Z |
Quant limit |
Для BPSK-моделирования это максимальные размеры символа |
Resolution |
Число битов, используемых для квантования диапазона, указанного в Quant limit |
Offset |
Указывает число выборок до первого правильного входного бита |
Modulation |
Сообщает декодеру, если BPSK или более высокий порядок модуляции используется |
Selective stop |
После выбора заставляет декодер прекращать выполнение итераций, когда итерация не совершила никаких изменений в блоке |
Deinterleave |
После выбора декодер разуплотняет входные данные блока |
Декодер имеет один вход — логарифмическое отношение правдоподобия (LLR) значения закодированного потока битов при одной выборке в значении. Элемент LLR должен предшествовать декодеру, если используется высокий порядок модуляции. При моделировании BPSK бит + шум является значением LLR, таким образом, в элементе LLR нет необходимости. Декодер имеет два выхода:
- декодированный блок при одной выборке на бит на выходе 0. Выходная скорость на выходе 0 = входной скорости;
- декодированная информация при одной выборке на бит на выходе 1.
Выходная скорость на выходе 1 = k/n * входной скорости, где n — полная разрядность блока (nx*ny*nz), и k — информационная разрядность блока (kx*ky*kz).
Библиотека SvuTekVisa
Начиная с версии программы 5.0 build 065 в SystemView появилась возможность использовать интерфейс Tektronix TekVISA для связи с серией осциллографов Tektronix TDS. Данные моделирования могут быть переданы и получены от осциллографов фирмы Tektronix. Таким образом, при помощи программы SystemView и осциллографов Tektronix можно осуществлять аппаратно-программное моделирование, отлаживая радиотехническую систему, часть из которой реализована в виде аппаратных средств (макета), а часть смоделирована в SystemView.
Чтобы получить доступ к интерфейсу осциллографа Tektronix, необходимо сначала установить программное обеспечение интерфейса Tektronix TekVISA, находящееся по адресу http://www.tek.com/site/sw/detail/1,1059,1092,00.html.
Необходимо также изменить параметры в интерфейсе SystemView TekVISA, указав на правильное местоположение устройства Tektronix.
После установки программного обеспечения интерфейса Tektronix TekVISA в программе SystemView появляется новая пользовательская библиотека SvuTekVisa. Диалоговое окно библиотеки SvuTekVisa показано на рис. 5.
Рис. 5. Диалоговое окно библиотеки SvuTekVisa
Библиотека SvuTekVisa включает в себя два функциональных элемента:
ViGet — выполняет функцию источника, получающего выборки сигнала из каналов осциллографа Tektronix TDS 5052. Параметры элемента ViGet приведены в таблице 13.
Таблица 13. Параметры элемента ViGet
Параметр |
Назначение |
No. Samples |
Число выборок |
Источник имеет четыре выхода: Ch1, Ch2, Ref1 и Ref2.
ViPut — выполняет функцию анализатора данных, размещающего выборки в опорном канале осциллографа Tektronix TDS 5052. Отображает масштаб, основанный на установках канала, выбранного пользователем.
Таблица 14. Параметры элемента ViPut
Параметр |
Назначение |
Reference |
Позиционное обозначение опорного канала: 1 или 2 |
Scale on canel |
Масштаб в канале |
Параметры элемента ViPut приведены в таблице 14.
Пример схемы с использованием элементов ViGet и ViPut приведен на рис. 6. Если на ПК установлена SystemView 5.0 build 065 или более поздняя версия программы, то файл этого примера можно найти в папке Program Files/SystemView/Tektronix.
Рис. 6. Пример использования элементов библиотеки SvuTekVisa
Литература
- Разевиг В. Д., Лаврентьев Г. В., Златин И. Л. SystemView — средство системного проектирования радиоэлектронных устройств //Под ред. В. Д. Разевига. М.: Горячая линия — Телеком. 2002.
- Златин И. Новые возможности SystemView //Компоненты и Технологии. 2003. № 1.
- Разевиг В. Д. Златин И. Л. Новые возможности SystemView // EDA Express. М.: Издательство ОАО «Родник Софт». 2003. № 7.
- Златин И. Пользовательские библиотеки (Custom Library) и многостанционный доступ с кодовым разделением каналов (CDMA) в SystemView // Компоненты и Технологии. 2003. № 8.
- Златин И. Пользовательская библиотека WNL 80211g в SystemView // Компоненты и Технологии. 2003. № 9. 2004. № 1.
- Златин И. Кадышев С. SystemView + Matlab + + Simulink // Компоненты и Технологии. 2004. № 2.
- Скляр Б. Цифровая Связь. Теоретические основы и практическое применение. 2-е издание. Пер. с англ. М.: Издательский дом «Вильямс». 2003.
- Самохин С. «Голубой зуб» — смотрим в корень // Компьютер Пресс. 2003. № 5.
Иосиф Златин
|