|
Поля бит можно представить как вектора, каждая компонента которых принимает значения из GF(2). Такие вектора удобно рассматривать как многочлены:
(10010101)=x7+x4+x2+1.
Неразложимость многочлена: над полем комплексных чисел любой многочлен разложим на линейные множители или, по-другому имеет столько корней, какова его степень. Однако это не так для других полей - в полях действительных или рациональных чисел многочлен x2+x+1 корней не имеет. Аналогично, в поле GF(2) многочлен x2+x+1 тоже не имеет корней.
Теперь рассмотрим вопрос использования полиномов в практике вычислений на ЭВМ. Рассмотрим электронную схему деления данных в поле из n бит на полином:
F(x)=c0+c1x+...+cnxN
N
N-1
...
...
2
1
Å
Å
Å
Å
Å
Получаемая последовательность будет выражена формулой:
S(x)=a(x)/f(x), где a(x) - исходные данные, f(x) - соответствующие коэффициенты многочлена.
Естественно, что желательно получить как можно более длинный период последовательности от многочлена заданной степени, а максимально возможная ее длина - 2N-1 в GF(2N). Последовательности максимальной длины формируются по правилу: Если многочлен f(x) степени n делит многочлен xK-1 лишь при K>2N-1, то период его любой ненулевой последовательности равен 2N-1. Существуют таблицы коэффициентов м-последовательностей.
Свойства м-последовательностей:
1.В каждом периоде последовательности число 1 и 0 отличается не более, чем на единицу.
2.Среди групп из последовательных 1 и 0 в каждом периоде половина имеет длительность в один символ, четвертая часть имеет длительность в два символа, восьмая часть имеет длительность в четыре символа и т.д.
3.Корреляционная функция последовательности имеет единственный значительный пик амплитуды 1 и при всех сдвигах равна 1/m (m- длина последовательности).
Корреляция между векторами вычисляется по формуле:
Где А - число позиций, в которых символы последовательностей x и y совпадают, а В - число позиций, в которых символы последовательностей x и y различны.
Генератор псевдослучайных чисел
В данном случае можно воспользоваться относительно простым методом генерации псевдослучайной последовательности: а именно - анализом тепловых шумов стабилитрона, работающего в режиме пробоя. Шумы усиливаются и подаются на триггер Шмидта, а затем передавая полученные биты в регистр сдвига. Поскольку тепловые шумы имеют достаточно случайный характер, то и последовательность будет случайной.
Формирование кода
Для формирования кода используется 5-разрядный первичный ключ, получаемый из генератора псевдослучайных чисел. Таким образом, на начальном этапе формирования ключа мы имеем количество комбинаций 25-2=30 (-2 поскольку комбинация 00000 является недопустимой). Потом первичный ключ подается на два генератора (два для увеличения количества кодов - см. ниже), вырабатывающие по этому ключу 31-разрядные м-последовательности. Эти последовательности перемножаются по модулю 2, циклически сдвигаясь, и образуя два вложенных цикла, выдают 312 вариантов ключа. Итого, общее число допустимых комбинаций составляет 30*312 .
Эти 312 вариантов хранятся в ОЗУ базового аппарата. Выбор одного ключа осуществляется путем повторного обращения к генератору псевдослучайных чисел. Итого, получаем неплохую для данных условий криптографической защиты цифру 30*313=~900000 комбинаций, не говоря о том, что надо еще догадаться, какой метод применяется для кодирования. При этом статистические свойства данной последовательности практически не отличаются от м-последовательности.
Схема формирования кода
|
|
|
|
|
|
|
|
|
|
|
|
Взяли Не взяли
Программа формирования кода
Команда
Asm
Примечание
MOV
ECX, ADDR1
Загрузка регистров 31-
MOV
EBX, ADDR2
разрядными значениями ПСП
MOV
ADDR3, 1Fh
Организация счетчиков
MOV
ADDR4, 1Fh
MOV
AL, ADDR3
Загрузка значения счетчика № 1
M1:
JZ
M3
Если это “0” - выход
PCL
ECX, 1
Сдвиг значения ПСП1
DEC
AL
Декремент счетчика № 1
MOV
ADDR3, AL
Значение счетчика - в память
M2:
MOV
AL, ADDR4
Загрузка значения счетчика № 2
JZ
M1
Если “0”- переход на внешний цикл
MOV
EDX, ECX
Умножение по модулю 2 одной ПСП на
XOR
EDX, EBX
другую
RCL
EBX
Декремент счетчика № 2
MOV
[AL], EDX
Заносим очередное значение в память
JMP
M2
Замыкание внутреннего цикла
М3
END
Также возможна аппаратная реализация схемы формирования кода, но принципиального значения это не имеет, поскольку быстродействие здесь роли не играет - код формируется при положенной трубке, а это время больше минуты.
Программа составлена для процессора i80386 и оперирует расширенными (32-разрядными) регистрами. Можно, конечно, реализовать ее на более дешевом процессоре (из семейства SISC - это i8086, i8080, i80186 или i80286), но программа усложнится, к тому же увеличится время выполнения программы, но это не главное; самое главное, что кодирование речи также осуществляется программно, и здесь время выполнения программы критично. Также можно реализовать программу на RISC-процессоре. Этот способ более перспективный.
Генераторы м-последовательностей
Генератор ПСП1
Формирование ПСП происходит аппаратно, хотя можно осуществить это программным способом, используя МП i80386 с его 32-раз-рядными регистрами. Время выполнения и, следовательно, частота, на которой работают элементы, некритичны, поскольку формирование ПСП и самого ключа происходит в то время, когда трубка покоится на базовом аппарате. |
Регистр сдвига
1
2
3
4
5
=1
Генератор ПСП2
Регистр сдвига
1
2
3
4
5
=1
Структурная схема приема сигнала
На представленной схеме приемника отражены основные, принципиальные моменты приема сигнала.
Итак, фазоманипулированный сигнал (см. диаграмму внизу) приходит с высокочастотной части приемника (здесь не изображена) и попадает на полосовой фильтр, пропускающий конкретный диапазон частот. Таким образом устраняются помехи , имеющие частоту вне пропускаемого диапазона.
Затем сигнал идет на блоки умножения, на которые также подается с опорного кварцевого термостатированного генератора . Сигналов два, они сдвинуты по фазе относительно друг друга на 180 градусов. Это необходимо для последующего сравнения. Итак, цепь разветвилась. После умножения получается сигнал, изображенный на диаграмме. (моделирование в Matlab 4.2c)
После сигнал подается на фильтр нижних частот, сглаживающих сигнал (см. диаграмму 2 и 3 ниже). Если фаза сигнала опорного генератора совпадает с пришедшим сигналом, мы имеем нечто похожее на
Затем сигнал подается на АЦП, причем частота дискретизации выбрана таким образом, что на каждый элемент приходится два отсчета (см. диаграмму 4 ниже). Это необходимо для надежного декодирования сигнала.
Декодирование выполняется путем умножения
(программного) оцифрованных отсчетов на ключ.
Сигнал свертывается, и из 31-разрядного кода получается один бит полезной
информации, которая затем по уровню анализируется и делается вывод о пришедшей
информации: это 1 или 0.
Вторая ветвь схемы служит для фазовой автоподстройки во время разговора. Сигнал умножается (программно) на ключ и инверсное значение ключа, затем сглаживается в интеграторе. Далее формируется сигнал ошибки, который, будучи поданным на опорный генератор, подстраивает его фазу по максимальному абсолютному значению напряжения ошибки.
1. 2. 3. 4. |
Вх. сигнал После умножения и филь-трации После оцифровки |
|
|
Схема передачи сигнала
Схема передатчика несравненно более проста по сравнению со схемой приемника. Это объясняется определенностью, что передавать, тогда как сигнал на входе приемника невозможно предугадать.
Оценка быстродействия
Если исходить из предположения, что частота, с которой оцифровывать речь, равна 8 кГц, а АЦП двенадцатиразрядный, то получим следующие данные:
Частота прихода сигнала на кодер (декодер)
fкод/декод=fд*Nразр АЦП=8*103*12=96 кГц
Тформ ПСП=1/fкод/декод=10,4 мкс
При использовании микропроцессора i80386 с тактовой частотой 33 Мгц:
Ттакт МП=1/fМП=30,3 нс
Допустимое количество тактов для выполнения программы кодирования или декодирования (необходимо учесть, что при приеме кроме декодирования выполняется умножение на ключ и его инверсию для системы ФАПЧ):
Nтакт доп=Тформ ПСП /Tтакт МП=10,4*10-6/30,3*10-9=
=343 такта
Этого более чем достаточно для обработки информации, следовательно, система имеет резерв для дальнейших расширений и улучшений.
Заключение
Представленная система кодирования речи для бытовых радиотелефонов не претендует на какую-то особую оригинальность. Здесь использовались идеи, которые появились еще в 50-е годы с работами К. Шеннона, развившего идею А.В.Котельникова о том, что потенциальная помехоустойчивость системы связи при действии гауссовых помех инвариантна по отношению к ширине полосы частот. Долгое время (до 80-х годов) эти идеи не находили применения из-за несовершенства технической базы, прежде всего регистров и микропроцессоров. Сейчас многие новые разработки в области связи используют эти идеи из-за их очевидных преимуществ: простоты реализации, низкой стоимости и хорошей устойчивости таких кодов к помехам. Можно привести пример одной из первых систем, использовавшей шумоподобные сигналы - это система “RAKE”. После нее началось широкое применение шумоподобных сигналов в наземной и космической связи.
Применение помехоустойчивого и в то же время защищенного (в достаточной степени) от несанкционированного прослушивания кодирования, на взгляд автора этих строк, очень хороший вариант для бытовых применений.
Список литературы
1
Пугачев В.С.
Теория вероятности и математическая статистика
М. Наука 1979г.
2
Возенкрафт Дж.
Джекобс И.
Теоретические основы техники связи
М. Мир
1969г.
3
под редакцией Калмыкова В.В.
Радиотехнические системы передачи информации
М. Радио и Связь 1990
4
Варакин Л.Е.
Теория сложных сигналов
М. Советское радио 1970
6
Петрович Н.Т.
Размахнин М.К.
Системы связи с шумоподобными сигналами
М. Советское радио 1969
7
Петрович Н.Т.
Размахнин М.К.
Широкополосные каналы связи с шумоподобными сигналами
М. ВЗЭИС 1965
8
Жельников В.
Криптография от папируса до компьютера
М., ABF, 1996
9
составитель
Чекатков А.А.
Использование Turbo Assembler при разработке программ
Киев, Диалек-тика, 1995
Громаков Ю.А.
Стандарты и системы подвижной радиосвязи
М. 1996г.
Оглавление
Вступление......................................................................................................................................................................
Система кодирования речи................................................................................................................................
Обоснование выбора метода кодирования..............................................................................................
Описание метода кодирования........................................................................................................................
Генератор псевдослучайных чисел................................................................................................................
Формирование кода.................................................................................................................................................
Схема формирования кода..................................................................................................................................
Программа формирования кода......................................................................................................................
Генераторы м-последовательностей...........................................................................................................
Структурная схема приема сигнала........................................................................................................
Схема передачи сигнала....................................................................................................................................
Оценка быстродействия....................................................................................................................................
Заключение..................................................................................................................................................................
Список литературы................................................................................................................................................
Оглавление....................................................................................................................................................................
Для заметок
При использовании материалов активная ссылка на источник обязательна.