Добавил:
linker.pp.ua Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
му Алгоритмы речевого кодирования GSM. 2006.doc
Скачиваний:
46
Добавлен:
15.12.2018
Размер:
561.15 Кб
Скачать

Формирование tdma-кадра

Как отмечалось выше, в стандарте GSM принят многостационный доступ с временным разделением каналов (TDMA). Для передачи информации по каналам связи и управления используется информационный TDMA - кадр, который делится на восемь временных интервалов (временных окон) (см. рис. 2.2). Надо отметить, что каждый из восьми временных интервалов отвечает за свой логический канал. Это означает, что в пределах одного информационного TDMA - кадра информацию могут передавать до восьми абонентов сотовой связи в полноскоростном режиме передачи или до 16 - в полускоростном.

Для передачи информации по каналам связи используется 5 видов временных интервалов (окон):

NB – нормальный временной интервал

FB – временной интервал подстройки частоты

SB – интервал временной синхронизации

DB – установочный интервал

AB – интервал доступа

Р ис. 2.2. Структура tdma – кадра

Каждый из восьми нормальных временных интервалов (NB) состоит из 114 бит зашифрованного сообщения и включает в себя защитный интервал (GP) в 8,25 бит.

Так как в каждом временном интервале передается 114 бит зашифрованных информационных данных, то один информационный TDMA- кадр несет в себе 114 х 8=912 бит зашифрованной посылки.

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

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

При приеме из каждого из восьми окон TDMA-кадра извлекаются 114 бит зашифрованной информации.

  1. Последовательность выполнения

Для выполнения лабораторной работы необходимы следующие файлы:

1) GSM900.exe

2) codec.dll -модель речевого кодека(преобразование оцифрованного звукового сигнала (8кГц, 16 бит) в поток символов со скоростью 13 кбит/сек.) Т.е. осуществляет сжатие данных: каждые 160 16-ти разрядных слов преобразует в 260 разрядов.

3) cw3230.dll -библиотека Borland C++ 5.0

4) cycle.dll - Циклическое кодирование разрядов класса '1а' с формирующим полиномом вида g=1+d+d^3 и переупорядочение

5) svertka.dll -Сверточное кодирование разрядов класса '1' c формирующими полиномами вида: g1=1+d^2+d^3+d^4

g2=1+d+d^4

6) reform.dll -Переупорядочение,разбиение на пакеты и перемежение пакетов

7) crypt.dll -Шифрование данных по алгоритму А5

8) crtframe.dll -Формирование кадра нормального временного интервал (NB)

9) любые файлы *.WAV, созданные с помощью программы Фонограф Microsoft Windows 95 в формате PCM 8000 Гц; 16 бит; Моно

!!!! Библиотеки функций (4)-(8) предлагаются для самостоятельной разработки!!!!

Заголовки функций, экспортируемых библиотеками:

CYCLE.dll

procedure CycleCode(var x:mas267;var u:mas267); stdcall; export;

//Цикл.код битов класса '1а'и переупорядочение.

//х:входной массив,содержит инф.в разрядах 0..259,

//u:выходной массив,содержит инф.в разрядах 0..266.

procedure CycleCode_1(var u:mas267;var x:mas267;var IsError:boolean); stdcall; export;

//Распаковка цикл.кода и восстановление порядка

//следования разрядов.

//u:входной массив,содержит инф.в разрядах 0..266,

//х:выходной массив,содержит инф.в разрядах 0..259.

//IsError = True если обнаружены ошибки.

SVERTKA.dll

procedure Svertka(var x: mas267;var c: mas456); stdcall; export;

//Сверт.код разрядов класса '1'

//х:входной массив содержит инф.в разрядах 0..266.

//с:выходной массив содержит инф.в разрядах 0..455

//(4 кадра по 114 разрядов).

procedure Svertka_1(var с:mas456;var x:mas267); stdcall; export;

//Распаковка сверт.кода при приеме.

//с:входной массив содержит инф.в разрядах 0..455.

//(4 кадра по 114 разрядов).

//х:выходной массив содержит инф.в разрядах 0..266.

REFORM.dll

procedure Reform(var x: mas456;var b: mas456); stdcall; export;

//Разбиение на пакеты и перемежение пакетов.

//х:входной массив содержит инф.в разрядах 0..455.

//b:выходной массив содержит инф.в разрядах 0..455

//(4 кадра по 114 разрядов).

procedure Reform_1(var b:mas456;var x:mas456); stdcall; export;

//Деперемежитель

//х:входной массив содержит инф.в разрядах 0..455.

//b:выходной массив содержит инф.в разрядах 0..455

//(4 кадра по 114 разрядов).

CRYPT.dll

procedure CryptA5(var bin, bout: mas456;var A5:TA5;

var NFrame: TFrame); stdcall; export;

//Шифрование данных по алгор.А5

//bin:входной массив(открытые данные)

//(4 кадра по 114 разрядов).

//bout:выходной массив(закрытые данные)

//(4 кадра по 114 разрядов).

//A5:объект для работы с закрытым ключем

//(описан в файле A5.pas)

//NFrame:текущий номер кадра(открытый ключ)

//(описан в файле Frame.pas)

// При первом вызове процедуры NFrame.GetKeyN=0

// Последующие изменения параметра NFrame должны

// осуществляться в теле процедуры.

//Необходимо получить секретную и несекретную

//последовательности и наложить их (xor) на исходный

//информационный кадр(bin).

//Результат работы ф-ции - массив bout.

procedure CryptA5_1(var bin, bout: mas456;

var A5:TA5;

var NFrame: TFrame); stdcall; export;

//Дешифрование данных по алгор.А5

//bin-входной массив(зашифрован)

//bout-выходной массив

//A5:объект для работы с закрытым ключем

//(описан в файле A5.pas)

//NFrame:текущий номер кадра(открытый ключ)

//(описан в файле Frame.pas)

// При первом вызове процедуры NFrame.GetKeyN=0

// Последующие изменения параметра NFrame должны

// осуществляться в теле процедуры.

CRTFRAME.dll

procedure CreateFrame(var b :mas456; var pack :mas592); stdcall; export;

//Формирование NB-кадра (нормальный временной

//интервал)

procedure CreateFrame_1(var pack :mas592; var b:mas456); stdcall; export;

//Распаковка NB-кадра.

P.S.

1.В каждую библиотеку необходимо включить файл Types.pas - описание всех типов, используемых в программе.

2.В библиотеку crypt.dll также необходимо включить файлы A5.pas и Frame.pas - описания классов для работы с закрытым и открытым ключами соответственно.