Научно-методичний центр
Научно-методический центр Санкт-Петербурга
Научные работы Доклады, курсовые, рефераты |
|
|
Поля бит можно представить как вектора, каждая компонента которых принимает значения из 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г.
Вступление......................................................................................................................................................................
Система кодирования речи................................................................................................................................
Обоснование выбора метода кодирования..............................................................................................
Описание метода кодирования........................................................................................................................
Генератор псевдослучайных чисел................................................................................................................
Формирование кода.................................................................................................................................................
Схема формирования кода..................................................................................................................................
Программа формирования кода......................................................................................................................
Генераторы м-последовательностей...........................................................................................................
Структурная схема приема сигнала........................................................................................................
Схема передачи сигнала....................................................................................................................................
Оценка быстродействия....................................................................................................................................
Заключение..................................................................................................................................................................
Список литературы................................................................................................................................................
Оглавление....................................................................................................................................................................
Для заметок
Научно-методический центр © 2009 |
|