Реферат: Кодирование речевой информации

--PAGE_BREAK--Описание метода кодирования


Слабое место многих систем кодирования — это статистическая слабость кода, то есть, анализируя статистику за некоторый период, можно составить мнение о том, что это за система и тогда действовать более направлено. То есть резко сокращается время поиска ключа. Данная система оперирует шумоподобными сигналами, которые по своим свойствам, в том числе и статистическим, практически идентична белому гауссовскому шуму.

Немного проясним ситуацию. По определению сложности закона генерации ряда чисел, если сложность последовательности {gi} равна m, то любые m+1 последовательные ее значения зависимы. Если же эта зависимость представима линейной, то получается реккурентное соотношение следующего вида:

c0gi+c1gi-1+...+cmgi-m=0

При этом c0c0 обязаны быть ненулевыми. Каждый последующий член последовательности определяется из m предыдущих. Простой их вид реализации получается, когда все составные принимают лишь значения 0 и 1, что делает их очень удобно представляемыми на ЭВМ.

Таблицы арифметических операций в GF(2) будут следующими:

+

0

1

0

0

1

1

1

0

*

0

1

0

0

0

1

0

1


Поля бит можно представить как вектора, каждая компонента которых принимает значения из GF(2). Такие вектора удобно рассматривать как многочлены:

(10010101)=x7+x4+x2+1.

Неразложимость многочлена: над полем комплексных чисел любой многочлен разложим на линейные множители или, по-другому имеет столько корней, какова его степень. Однако это не так для других полей — в полях действительных или рациональных чисел многочлен x2+x+1 корней не имеет. Аналогично, в поле GF(2) многочлен x2+x+1 тоже не имеет корней.

 Теперь рассмотрим вопрос использования полиномов в практике вычислений на ЭВМ. Рассмотрим электронную схему деления данных в поле из n бит на полином:

F(x)=c0+c1x+...+cnxN





Получаемая последовательность будет выражена формулой:

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- длина последовательности).

Корреляция между векторами вычисляется по формуле:

<img width=«108» height=«43» src=«ref-1_1948751711-303.coolpic» v:shapes="_x0000_i1026">
Где А — число позиций, в которых символы последовательностей x и y совпадают, а В — число позиций, в которых символы последовательностей x и y различны.
    продолжение
--PAGE_BREAK--Генератор псевдослучайных чисел


В данном случае можно воспользоваться относительно простым методом генерации псевдослучайной последовательности: а именно — анализом тепловых шумов стабилитрона, работающего в режиме пробоя. Шумы усиливаются и подаются на триггер Шмидта, а затем передавая полученные биты в регистр сдвига. Поскольку тепловые шумы имеют достаточно случайный характер, то и последовательность будет случайной.
Формирование кода


Для формирования кода используется 5-разрядный первичный ключ, получаемый из генератора псевдослучайных чисел. Таким образом, на начальном этапе формирования ключа мы имеем количество комбинаций  25-2=30 (-2 поскольку комбинация 00000 является недопустимой). Потом первичный ключ подается на два генератора (два для увеличения количества кодов — см. ниже), вырабатывающие по этому ключу 31-разрядные м-последовательности. Эти последовательности перемножаются по модулю 2, циклически сдвигаясь, и образуя два вложенных цикла, выдают 312 вариантов ключа. Итого, общее число допустимых комбинаций составляет 30*312 .

Эти 312 вариантов хранятся в ОЗУ базового аппарата. Выбор одного ключа осуществляется путем повторного обращения к генератору псевдослучайных чисел. Итого, получаем неплохую для данных условий криптографической защиты цифру 30*313=~900000 комбинаций, не говоря о том, что надо еще догадаться, какой метод применяется для кодирования. При этом  статистические свойства данной последовательности практически не отличаются от м-последовательности.

Схема формирования кода


                      <img width=«10» height=«32» src=«ref-1_1948752014-97.coolpic» v:shapes="_x0000_s1085"><img width=«148» height=«54» src=«ref-1_1948752111-247.coolpic» v:shapes="_x0000_s1086"><img width=«167» height=«45» src=«ref-1_1948752358-227.coolpic» v:shapes="_x0000_s1087"><img width=«9» height=«60» src=«ref-1_1948752585-109.coolpic» v:shapes="_x0000_s1088"><img width=«9» height=«32» src=«ref-1_1948752694-97.coolpic» v:shapes="_x0000_s1089"><img width=«9» height=«32» src=«ref-1_1948752791-96.coolpic» v:shapes="_x0000_s1090"><img width=«9» height=«32» src=«ref-1_1948752887-97.coolpic» v:shapes="_x0000_s1091"><img width=«9» height=«32» src=«ref-1_1948752694-97.coolpic» v:shapes="_x0000_s1092"><img width=«2» height=«31» src=«ref-1_1948753081-76.coolpic» v:shapes="_x0000_s1093"><img width=«2» height=«31» src=«ref-1_1948753081-76.coolpic» v:shapes="_x0000_s1094"><img width=«156» height=«2» src=«ref-1_1948753233-82.coolpic» v:shapes="_x0000_s1095"><img width=«300» height=«3» src=«ref-1_1948753315-86.coolpic» v:shapes="_x0000_s1096"><img width=«3» height=«41» src=«ref-1_1948753401-76.coolpic» v:shapes="_x0000_s1097"><img width=«156» height=«9» src=«ref-1_1948753477-113.coolpic» v:shapes="_x0000_s1098"><img width=«3» height=«204» src=«ref-1_1948753590-83.coolpic» v:shapes="_x0000_s1099"><img width=«60» height=«10» src=«ref-1_1948753673-97.coolpic» v:shapes="_x0000_s1100"><img width=«31» height=«2» src=«ref-1_1948753770-76.coolpic» v:shapes="_x0000_s1101"><img width=«3» height=«252» src=«ref-1_1948753846-84.coolpic» v:shapes="_x0000_s1102"><img width=«138» height=«10» src=«ref-1_1948753930-104.coolpic» v:shapes="_x0000_s1103"><img width=«243» height=«3» src=«ref-1_1948754034-84.coolpic» v:shapes="_x0000_s1104"><img width=«3» height=«166» src=«ref-1_1948754118-82.coolpic» v:shapes="_x0000_s1105"><img width=«9» height=«32» src=«ref-1_1948754200-98.coolpic» v:shapes="_x0000_s1106"><img width=«9» height=«41» src=«ref-1_1948754298-103.coolpic» v:shapes="_x0000_s1107"><img width=«9» height=«32» src=«ref-1_1948754401-97.coolpic» v:shapes="_x0000_s1108"><img width=«9» height=«41» src=«ref-1_1948754298-103.coolpic» v:shapes="_x0000_s1109"><img width=«166» height=«2» src=«ref-1_1948754601-82.coolpic» v:shapes="_x0000_s1110"><img width=«2» height=«79» src=«ref-1_1948754683-78.coolpic» v:shapes="_x0000_s1111"><img width=«51» height=«9» src=«ref-1_1948754761-94.coolpic» v:shapes="_x0000_s1112"><img width=«137» height=«2» src=«ref-1_1948754855-81.coolpic» v:shapes="_x0000_s1113"><img width=«3» height=«855» src=«ref-1_1948754936-133.coolpic» v:shapes="_x0000_s1114"><img width=«329» height=«2» src=«ref-1_1948755069-87.coolpic» v:shapes="_x0000_s1115"><img width=«10» height=«32» src=«ref-1_1948752014-97.coolpic» v:shapes="_x0000_s1116">                                                                                                                                                                                                                                                                                                                                                                                            
Взяли    Не взяли



    продолжение
--PAGE_BREAK--
еще рефераты
Еще работы по информатике