Пользовательские библиотеки и библиотеки CDMA в SystemView
Данная статья дополняет материал, ранее изложенный автором [1, 2, 3], при знакомстве читателя с пользовательскими библиотеками (Custom Library) программы SystemView на примере библиотеки многостанционного доступа с кодовым разделением каналов (CDMA).
Пользовательские библиотеки
Пользовательские библиотеки поддерживают интегрирование вновь создаваемых библиотек в SystemView. Пользовательские библиотеки написаны на языке C или C++ и скомпилированы в 32-разрядные Dynamic Link Library (DLL) (динамически подключаемые библиотеки). Набор примеров, использующих пользовательские элементы, сосредоточен в SystemView в папках соответствующих пользовательских библиотек. Типовые элементы пользовательских библиотек подобны по действию стандартным элементам SystemView.
Пользовательский элемент библиотеки определяется тем же самым путем, что и элемент стандартной или дополнительной библиотеки. Выберите символ пользовательской библиотеки

на панели дополнительных библиотек, и перенесите его в область проекта. Щелкните правой кнопкой мыши на новом элементе и выберите Library, либо просто дважды щелкните на новом элементе. Откроется диалоговое окно SystemView Custom Library (рис. 1). К этому диалоговому окну можно также обращаться, щелкая по значкам меню Tools->Custom Library->Edit Library или пользуясь клавишей Navigator [2].

Для добавления новой пользовательской библиотеки щелкните кнопкой Add Library в диалоговом окне SystemView Custom Library — откроется диалоговое окно Add Custom Library. Выберите желательный пользовательский файл библиотеки (DLL) и щелкните Open. SystemView добавит эту библиотеку к текущему списку пользовательских библиотек. Чтобы удалить пользовательскую библиотеку из текущего перечня, выберите ее мышкой и щелкните по кнопке Remove Library. Удаление библиотек, которые больше не используются, позволяет SystemView запускаться быстрее.
Для выбора элемента щелкните на его пиктограмме. Поле Token Description содержит полезную информацию о выбранной функции.
Атрибуты для выбранного элемента показываются в поле Token Attribute. Если выбрать элемент и щелкнуть правой кнопкой мыши, то появится всплывающее меню с двумя командами I/O Details и Parameters. Характеристики (вход-выход) для выбранного пользовательского элемента отображаются при выборе опции I/O Details. Для установки пользовательских параметров элемента выберите Parameters или щелкните кнопку Parameters в диалоговом окне, при этом появится стандартное окно задания параметров. В стандартном диалоговом окне Parameter пользовательские элементы могут иметь до девяти параметров.
К пользовательским библиотекам относятся библиотеки:
- Digital Video Broadcasting (DVB) Library — модели функциональных блоков аппаратуры цифрового телевизионного вещания (рис. 2). Библиотека DVB содержит набор функциональных элементов для проектирования и моделирования систем, основанных на европейском стандарте электросвязи ETS 300 744.
- Adaptiv Filter Library (рис. 3) — модели устройств, необходимых для создания адаптивных фильтров (разработка компании Entegra Ltd).
- 3GPP:fdd Library — эта библиотека предназначена для моделирования дуплексных каналов с частотным разделением, обеспечивает доступ к сети стандарта TS25, принятого в декабре 1999 года. FDD-библиотека (рис. 4) создана компанией Entegra Ltd.
- 802.11b WiFi Library — модели устройств, обеспечивающие выполнение технических требований стандарта IEEE 802.11b-1999 (общее название для методов беспроводного доступа к среде передачи, обеспечивающей доступ к локальным сетям и мобильному интернету). В качестве базового в этом стандарте используется метод DSSS (Direct Sequence Spread Spectrum — прямая последовательность с расширенным спектром) c 8-разрядными последовательностями Уолша.
- CDMA/PCS Library — библиотека, к рассмотрению которой мы переходим ниже.



История CDMA
CDMA (Code Division Multiple Access — многостанционный доступ с кодовым разделением каналов) один из двух стандартов для цифровых сетей сотовой связи в США.
Первой разработала коммерческую сотовую систему, использующую метод CDMA, фирма Qualcomm Inc. (США). Компанией Qualcomm был разработан новый стандарт цифровой сотовой связи на базе технологии CDMA, который и был принят Федеральной комиссией по связи США (FCC) в июле 1993 года под названием IS-95 (сотовая система CDMA с шириной полосы радиоканала 1,23 МГц). Этот стандарт развивался и совершенствовался (появились модификации IS-95/97-A и J-STD-008).
Расстояние между несущими в стандарте IS-95 — 1,26 МГц, то есть радиоканалы расположены вплотную друг к другу. Диапазон рабочих частот 824–849 МГц и 869–894 МГц. То есть разнос частоты передачи и приема составляет 45 МГц. Одновременно стали развиваться аналогичные системы CDMA, работающие в диапазоне 1890–1930 МГц и 1950–1990 МГц.
Реально в такой системе на каждой базовой или абонентской станции используются три типа псевдослучайных последовательностей (кода), каждый из которых выполняет свою функцию: для синхронизации работы оконечных устройств радиотракта, для идентификации абонентских терминалов и непосредственно для передачи полезной информации.
В качестве третьего типа кода используются псевдослучайные последовательности, сформированные в соответствии с взаимно ортогональными функциями Уолша. Всего существует 64 таких функции, что позволяет реализовать на одной базовой станции одновременную работу 64 абонентов в одном радиоканале. Разумеется, когда в сети появляются другие базовые станции, то появляются и дополнительные помехи, уменьшающие динамический диапазон и соответственно снижающие количество разговорных каналов.
Передача информации в системе осуществляется при помощи потока речевых пакетов, следующих с интервалом 20 мс. Абонентский терминал CDMA имеет не один демодулятор, что позволяет принимать разнесенные сигналы при многолучевом распространении, а также поддерживать связь с несколькими базовыми станциями одновременно.
Очень серьезный вопрос — это выравнивание уровней мощности, излучаемой мобильными терминалами. Здесь необходимо исключить случаи, когда терминалы, расположенные вблизи базовой станции, «заглушают» находящиеся вдали. Для этого используется весьма изощренный алгоритм управления их мощностью излучения с динамическим диапазоном регулировки более 80 дБ с шагом через 1 дБ. При этом через интервалы в 1,25 мс базовая станция регулирует мощность расположенных в зоне ее обслуживания абонентских терминалов. Это позволяет не только поддерживать на одном уровне качество приема на каждом радиоканале вне зависимости от расстояния абонентского терминала до базовой станции, но и в качестве приятного дополнения позволяет увеличить время работы терминала без подзарядки аккумуляторов.
Библиотека CDMA/PCS
Библиотека CDMA/PCS содержит всесторонний набор инструментальных средств, помогающих в проектировании и моделировании сотовых систем персональной связи Personal Communication Systems (PCS), используя стандарты IS-95/97-A и J-STD-008. Представлен полный набор моделей, отображающий различные стадии в создании и демодуляции сигналов. Кроме этого доступны отдельные элементы, которые представляют полные каналы. Вы можете соединять и подгонять эти элементы, чтобы оптимизировать разработку вашей системы. Эта библиотека поддерживает две скорости передачи данных Rate set 1 (9600, 4800, 2400, 1200 бит/с) и Rate set 2 (14400, 7200, 3600, 1800 бит/с).
Каждый элемент в модели предназначен для принятия данных и сообщения выходных данных со скоростями, описанными в стандартах IS-95/97-A и J-STD-008. Элементы в библиотеке CDMA разбиты на две группы. Диалоговое окно группы 1 показано на рис. 1, а диалоговое окно группы 2 — на рис. 6.


Описание функциональных элементов группы 1
CJake

— узкополосный комплексный канал с замираниями по Джейку. Этот элемент реализует алгоритм Джейка (Jake) для создания модели канала связи с подвижными объектами. Синфазная и квадратурная составляющие входного сигнала [I, Q] перемножаются с квадратурными сигналами Джейка [ri, rq] для создания выходных данных [I* ri–Q*rq, I* rq +Q*ri]. Параметры этого элемента приведены в таблице 1.

WalEnc

— кодер Уолша. Этот элемент осуществляет блочное кодирование с коррекцией ошибок на основе ортогональных функций Уолша. Для каждых K входных разрядов на выходе элемента 2К кодированных разрядов. Алгоритм кодирования идентичен используемому в элементе «генератор Уолша». Параметры этого элемента приведены в таблице 2 (см. также пример walsh.svu).

WalGen

— генератор функций Уолша. Этот функциональный элемент генерирует функции Уолша W [N, K], где N — равно целой степени числа 2, и 0 K n–1. Параметры этого устройства приведены в таблице 3.

WalDec

— декодер Уолша. Этот элемент читает каждые N=2K выборок входных данных, принимаемых в качестве одной из N функций Уолша, и формирует К-разрядную модель данных согласно Уоленсу. Для корреляции используется быстрый алгоритм Уолша. Параметры этого устройства приведены в таблице 4.

LongPn

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

При установке начальных значений код устанавливается в начальное состояние: первая логическая «1», следующая последовательность символов — 41 логический ноль. Выходные данные — «скалярное произведение» регистров псевдослучайного кодирующего устройства длинного маскированного кода. Параметры этого устройства приведены в таблице 5.

PnSrdQ

— квадратурный канал расширяющегося кода. Этот элемент выполняет функции 15-разрядного псевдослучайного кодирующего устройства, использующего полином:

Он дополнен добавочным нолем, создает код с разрядностью 215 = 32768. Номинальное начальное состояние кода — первая «1», следующая последовательность символов — 15 нолей. Псевдослучайный параметр сдвига используется для расширения этого начального состояния. Параметр М — целое число от 0 до 511. Параметры этого устройства приведены в таблице 6.

PnSrdI

— синфазный канал расширяющегося кода. Этот элемент выполняет функции 15 разрядного псевдослучайного кодирующего устройства, использующего полином:

Он дополнен добавочным нолем, создает код с разрядностью 215 = 32768. Номинальное начальное состояние кода — первая «1», следующая последовательность символов — 15 нолей. Псевдослучайный параметр сдвига используется для расширения этого начального состояния. Параметр М — целое число от 0 до 511. Параметры этого устройства приведены в таблице 7.

IntrLv

— устройство уплотнения импульсных сигналов. Этот элемент осуществляет весь блок устройств уплотнения, используемых согласно стандартам IS-95-A и J-STD-008. Устройства уплотнения прямого и персонального каналов связи имеют 384 элемента, организованные в 24 строках и 16 столбцах. При скорости входных данных 19,2 кбит/с уплотнитель удерживает точно один блок данных (20 мс). Данные в уплотнителе всегда имеют скорость 19,2 кбит/с. Для каналов с меньшей скоростью передачи данных повторение символов выполняется для переноса входной скорости до этого значения. Данные читаются сверху донизу столбцами и читаются согласно таблицам в технических требованиях.
Местоположения ячейки, используемой для записи операции, независимы от скорости передачи данных.
Устройство уплотнения прямого синхронизирующего канала имеет 128 элементов, организованные в 16 строках и 8 столбцах, охватывающих 26,6666 мс.
Уплотнитель не изменяет скорость данных. Параметры этого устройства приведены в таблице 8.

DIntrlv

— разделитель. Этот элемент выполняет операцию, обратную той, которую выполняет элемент Intrlv (операцию, обратную временному уплотнению импульсных сигналов). Эта операция используется в приемнике как часть процесса демодуляции. Когда помещаются один за другим Intrlv и Dintrlv, создаются выходные данные, идентичные входным данным, но задержанные двумя элементами. Параметры этого устройства приведены в таблице 9.

CHModel

— модели канала. Этот элемент выполняет функции моделей трех каналов с подвижными объектами, различающиеся скоростями: 1) скорость подвижного объекта 8 км/ч, 2) 30 км/ч и 3) 100 км/ч. Канал 1 имеет два пути распространения, канал 2 один путь и канал 3 имеет три пути распространения радиоволн. Каждый путь имеет задержку и независимую модель замирания Джейка, связанную с ним. Параметры трех моделей даются в стандарте IS-97. Параметры этого устройства приведены в таблице 10.

LPF

— фильтр формирования узкополосного импульса. Этот функциональный элемент является КИХ-фильтром (фильтром с конечной импульсной характеристикой) нижних частот с 48 отсчетами, служащим для формирования узкополосного импульса. Этот элемент предназначен для уменьшения полосы частот передаваемого сигнала. Параметры этого устройства приведены в таблице 11.

Входной параметр в поле File Name for Filter Coefficient устанавливается в значение DEFAULT (по умолчанию). При этом загружается файл с 48 отсчетами, описанный в стандарте IS-95. Если необходимо использовать другой файл, напечатайте путь к файлу коэффициентов фильтра. Эти коэффициенты фильтра должны быть с частотой выборки 4,9152 МГц.
SyncChan

— синхронизационный канал. Этот функциональный элемент создает полный узкополосный синхронизационный канал от входа до выходов синфазного и квадратурного каналов. Этот элемент имеет внутренние дискретизаторы, которые выбирают потоки входных данных с необходимой скоростью. Выходы позволяют пользователю рассматривать форму сигнала на различных стадиях процесса кодирования.
Квадратурный и синфазный сигналы представлены со скоростью 4,9152 Мбит/с. Если частота выборки системы выше, чем это значение, может использоваться элемент Hold из библиотеки операторов, чтобы перенести выходные данные элемента на эту частоту.
Параметры этого устройства приведены в таблице 12 (см. также пример SYNC_channel.svu).

параметр в поле Baseband Filter File Name устанавливается в начальное состояние DEFAULT (по умолчанию). При этом загружается файл с 48 отсчетами, описанный в технических требованиях IS-95/97-A.
Если желателен другой файл, напечатайте путь к файлу коэффициентов фильтра. Эти коэффициенты фильтра должны быть с частотой выборки 4,9152 МГц.
PageChan

— канал пейджинговой связи (поисковый канал). Этот функциональный элемент создает полный поисковый узкополосный канал связи от входа до выходов синфазного и квадратурного каналов. Этот элемент имеет внутренние дискретизаторы, которые выбирают потоки входных данных с необходимой скоростью. У функционального элемента имеется несколько выходов. Эти выходы позволяют пользователю наблюдать форму сигнала на различных стадиях процесса кодирования. Сигнал представлен со скоростью 4,9152 Мбит/с. Если системная частота выборок выше, чем это значение, может использоваться функциональный элемент Нold из библиотеки операторов, чтобы перенести выходные данные этого элемента на эту частоту.
Параметры этого устройства приведены в таблице 13 (см. файл примера PAGING_channel.svu).

Входной параметр в поле Baseband Filter File Name устанавливается аналогично, как это делается для элемента SyncChan (синхронизационный канал).
TRFCCh

— канал трафика (канал передачи данных). Этот элемент создает полный прямой узкополосный канал передачи данных от входов до выходов синфазного и квадратурного каналов. Этот функциональный элемент имеет внутренние дискретизаторы, которые выбирают потоки входных данных с необходимой скоростью. Это позволяет пользователю рассматривать форму сигнала на различных стадиях процесса кодирования.
Параметры этого устройства приведены в таблице 14 (см. файл примера TRAFFIC_channel_2.svu.).

Входной параметр в поле Baseband Filter File Name устанавливается так же, как это делается для элемента SyncChan (синхронизационный канал).
FrameQ

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

AccsCh

— канал с обратным доступом. Этот элемент создает полный узкополосный канал с обратным доступом входных данных синфазного и квадратурного каналов к выходным данным. Этот функциональный элемент имеет внутренние дискретизаторы, которые выбирают потоки входных данных с необходимым уровнем скорости. Имеется несколько выходов. Это позволяет пользователю наблюдать различные стадии процесса кодирования. Синфазная и квадратурная составляющие представлены со скоростью 4,9152 Мбит/с. Если частота выборки в системе выше, чем эта величина, используйте функциональный элемент Нold из библиотеки операторов, чтобы перенести выходные данные на эту частоту.
Параметры этого устройства приведены в таблице 16 (см. файл примера ACCESS_channel.svu).

Входной параметр в поле Baseband Filter File Name устанавливается аналогично, как это делается для элемента LPF (фильтр формирования узкополосного импульса).
Описание функциональных элементов группы 2
RvTrCh

— обратный канал передачи данных. Этот функциональный элементполный узкополосный обратный канал передачи данных. Он поддерживает установки скорости Rate Set 1 и Rate Set 2. Параметры элемента позволяют изменять амплитуду сигнала и фазу. Этот элемент имеет внутренний дискретизатор, который задает скорость передачи данных.
Параметры этого устройства приведены в таблице 17 (см. файлы примеров REVERSE_channel.svu и REVERSE_channel_2.svu).

Входной параметр в поле Baseband Filter File Name устанавливается аналогично, как это делается для элемента LPF (фильтр формирования узкополосного импульса).
SCRMBLR

— шифратор. Этот функциональный элемент определяет и скремблирует цикл передачи обратного канала передачи данных. Параметры этого устройства приведены в таблице 18.

PILOT

— пилот-канал (контрольный канал). Этот элемент создает полный узкополосный контрольный канал потока информации от входа до синфазного и квадратурного выходов канала. Этот элемент имеет внутренние дискретизаторы, которые выбирают потоки входных данных с необходимой частотой. Имеется несколько выходов. Это позволяет пользователю наблюдать форму сигнала на различных стадиях процесса кодирования. Синфазный и квадратурный сигнал представлены со скоростью 4,9152 Мбит/с. Если частота выборки в системе выше, чем эта величина, может использоваться функциональный элемент Нold из библиотеки операторов, чтобы перенести выходные данные элемента на эту частоту.
Параметры этого устройства приведены в таблице 19 (см. файл примера PILOT_channel.svu).

Входной параметр в поле Baseband Filter File Name устанавливается так же, как это делается для элемента SyncChan (канал синхронизации).
Контрольный канал имеет один вход, к которому может быть подключен любой элемент из библиотеки источников SystemView, имеющий нулевые выходные данные. Контрольный канал не несет никакой информации.
SYMRPT

— повторение символа. Этот элемент выполняет операцию повторения символа, используемую на различных стадиях процесса создания сигнала. Этот элемент принимает сигнал со скоростью передачи данных R и создает новый поток данных со скоростью NR. Его действие является обратным действию элемента Decimate, находящегося в SystemView в библиотеке операторов. Параметры этого устройства приведены в таблице 20.

PNCTRE

— устройство прореживания. Этот элемент выполняет операцию прореживания после сверточного кодирующего устройства в прямом канале системы мобильной персональной связи. Код устройства прореживания удаляет 2 из 6 разрядов, согласно образцу 110101 (1 = сохранен, 0 = прорежен). Прореживание выходных данных сверточных кодеров является обычной операцией. Входные данные имеют скорость 28,8 кбит/с, а выходные — 19,2 кбит/с.
POWRCTRL

— управление мощностью. Этот элемент определяет местоположение разрядов подканала регулирования мощности в прямом канале передачи данных и вставляет разряды регулирования мощности. Этот элемент мультиплексирует поток данных канала передачи данных с частотой 800 Гц и поток данных подканала регулирования мощности. Параметры этого устройства приведены в таблице 21.

FQTYDEC

— декодер-указатель качества групповых данных. Этот элемент выполняет действие, обратное кодирующему устройству FQI. Он возвращает разряды данных из потока данных блока, удаляя паритетный и последний разряды. Кроме того, он берет часть сообщения данных блока и заново кодирует их через соответствующее CRC-кодирующее устройство (контроль с помощью избыточного циклического кода). Этот процесс создает набор паритетных разрядов, которые сравниваются с паритетными разрядами в блоке данных. Если имеется любое различие между двумя паритетными группами, выходной знак устанавливается в логическую единицу. Иначе он устанавливается в логический ноль. Параметры этого устройства приведены в таблице 22.

DPNCTRE

— операция, обратная операции прореживания. Этот элемент выполняет действие, обратное элементу Puncture. Он повторно восстанавливает определенные пользователем данные в поток данных в операции сверточного декодирования.
NCWalDec

— некогерентный декодер Уолша. Этот элемент осуществляет быстрый алгоритм Уолша для расшифровки входного кодированного сигнала Уолша. Он является обратным кодеру Уолша. Входные данные — N-разрядный блок, который представляет кодированные данные плюс шум или другие помехи. На вход этого устройства подается синфазный и квадратурный сигнал. Параметры этого устройства приведены в таблице 23.

На рис. 7 приведен пример прямого узкополосного CDMA-канала (файл IS95_demod.svu), объединяющего канал передачи данных, контрольный канал, синхронизационный канал и поисковый канал.

На рис. 8 показаны результаты моделирования. На выходе канала передачи данных мы видим восстановленный модулирующий сигнал.

Литература
- Разевиг В. Д., Лаврентьев Г. В., Златин И. Л. SystemView — средство системного проектирования радиоэлектронных устройств / Под ред. В. Д. Разевига. М.: Горячая линия-Телеком. 2002.
- Златин И. Новые возможности SystemView // Компоненты и технологии. 2003. № 1.
- Разевиг В. Д. Златин И. Л. Новые возможности SystemView // EDA Express. 2003. № 7.
- Голушко А. В. Помощь любителям и профессионалам (История CDMA. Краткий курс) // «BYTE-Россия». 1998. № 1–3.
- Скляр, Бернард. Цифровая Связь. Теоретические основы и практическое применение. М.: Издательский дом «Вильямс». 2003.