Коды Фибоначи. Коды Грея
Реферат
по курсу “Теория информации и кодирования ”
Тема:
"СПЕЦИАЛЬНЫЕ КОДЫ"
1. КОДЫ ФИБОНАЧЧИ
1.1 ЗОЛОТЫЕ ПРОПОРЦИИ
В математике существует большое количество иррациональных (несоизмеримых) чисел, т. е. обозначающих длину отрезка несоизмеримого с единицей масштаба. Ряд из них широко используется как в математике, так и в др. областях.
Например: Число = 2R/D=3,14159… , которое представляет отношение длины окружности к ее диаметру. Число e = 2,71828… , при этом . Логарифмы с основанием e удобны для математических расчетов. Число 2 =1,44… , которое представляет отношение диагонали к стороне квадрата и ряд других чисел.
Особое иррациональное число = (1+5)/2 = 1,61803, которое называется золотая пропорция или золотое сечение и является результатом решения задачи деления отрезка в крайнем и среднем отношении (рис. 1)
A C B
о o o
Рис. 1 Деление отрезка
Если задан отрезок AB то необходимо найти такую точку C, чтобы выполнялось условие AB/CB = CB/AC.
Обозначим: x = CB/AC; (CB+AC)/CB = 1+1/x = x.
При этом x2–x–1 = 0. Корни этого уравнения равны: x>1,2>=(15)/2.
Положительный корень называется золотой пропорцией , а точка C - золотым сечением. Золотая пропорция обладает рядом уникальных свойств.
Пропорция 1,61... использовалась в архитектуре, художественных произведениях, музыке с античных времен. С этим числом связан ореол мистики, таинственности, божества и т.д.
В последнее десятилетие эта пропорция нашла свое применение в ЭВМ, АЦП-ЦАП, измерениях и т. д.
1.2 ЧИСЛА ФИБОНАЧЧИ
С золотым сечением тесно связаны числа Фибоначчи открытые итальянским математиком Леонардо из Пизы (Фибоначчи) в XIII веке, которые вычислены по формуле:
(1)
Эти числа представляют ряд: 1, 1, 2, 3, 5, 8, 13, 21...
Отношение соседних чисел Фибоначчи 1/1, 2/1, 3/2, 5/3, 8/5, 13/8, 21/13 ... в пределе стремится к золотой пропорции
. (2)
Числа Фибоначчи обладают еще рядом полезных свойств. Например, остатки от деления чисел Фибоначчи на 2 образуют последовательность: 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, ... и т. д.
Обобщенные числа Фибоначчи или p-числа Фибоначчи вычисляются по рекуррентной формуле:
(3)
Где p = 0, 1, 2, 3, … . При р = 0 число >0>(n) совпадает с двоичными разрядами 2n (табл. 1) .
Таблица 1
-
n
0
1
2
3
4
5
>0>(n)
1
2
4
8
16
32
При р = 1 число >0>(n) совпадает с обычным рядом Фибоначчи:
1, 1, 2, 3, 5, 8, ...
При р = число >0>(n) = 1 для любого n 0 равно:
1, 1, 1, 1, 1, 1, 1, 1, ...
1.3 КОДЫ ФИБОНАЧЧИ
Любое натуральное число N можно представить с помощью p-чисел Фибоначчи
(4)
где: a>i >{0, 1} - двоичная цифра i-го разряда; >p>(i) - вес i-го разряда;
Любое натуральное число N можно представить также следующим способом:
(5)
Такое представление чисел N называется p-кодом Фибоначчи. Каждому p> >{0, 1, 2, …, } соответствует свой код, т. е. их число бесконечно.
При p = 0 p -код Фибоначчи совпадает с двоичным кодом.
Для 1-кода Фибоначчи кодовые комбинации имеют вид:
Таблица 2
N |
KK |
Вес порядка |
||||
5 |
4 |
3 |
2 |
1 |
||
0 |
A>0> |
0 |
0 |
0 |
0 |
0 |
1 |
A>1> |
0 |
0 |
0 |
0 |
1 |
1 |
A>2> |
0 |
0 |
0 |
1 |
0 |
2 |
A>3> |
0 |
0 |
0 |
1 |
1 |
2 |
A>4> |
0 |
0 |
1 |
0 |
0 |
3 |
A>5> |
0 |
0 |
1 |
0 |
1 |
3 |
A>6> |
0 |
0 |
1 |
1 |
0 |
4 |
A>7> |
0 |
0 |
1 |
1 |
1 |
3 |
A>8> |
0 |
1 |
0 |
0 |
0 |
4 |
A>9> |
1 |
0 |
0 |
0 |
1 |
4 |
A>10> |
0 |
1 |
0 |
1 |
0 |
5 |
A>11> |
0 |
1 |
0 |
1 |
1 |
5 |
A>12> |
0 |
1 |
1 |
0 |
0 |
6 |
A>13> |
0 |
1 |
1 |
0 |
1 |
6 |
А>14> |
0 |
1 |
1 |
1 |
0 |
7 |
А>15> |
0 |
1 |
1 |
1 |
1 |
N |
KK |
Вес порядка |
||||
5 |
4 |
3 |
2 |
1 |
||
5 |
A>16> |
1 |
0 |
0 |
0 |
0 |
6 |
A>17> |
1 |
0 |
0 |
0 |
1 |
6 |
А>18> |
1 |
0 |
0 |
1 |
0 |
7 |
A>19> |
1 |
0 |
0 |
1 |
1 |
7 |
A>20> |
1 |
0 |
1 |
0 |
0 |
8 |
A>21> |
1 |
0 |
1 |
0 |
1 |
8 |
A>22> |
1 |
0 |
1 |
1 |
0 |
9 |
A>23> |
1 |
0 |
1 |
1 |
1 |
8 |
A>24> |
1 |
1 |
0 |
0 |
0 |
9 |
A>25> |
1 |
1 |
0 |
0 |
1 |
9 |
A>26> |
1 |
1 |
0 |
1 |
0 |
10 |
A>27> |
1 |
1 |
0 |
1 |
1 |
10 |
A>28> |
1 |
1 |
1 |
0 |
0 |
11 |
A>29> |
1 |
1 |
1 |
0 |
1 |
11 |
A>30> |
1 |
1 |
1 |
1 |
0 |
12 |
А>31> |
1 |
1 |
1 |
1 |
1 |
Как видно из таблицы 5 разрядным 1-кодом Фибоначчи можно закодировать 13 натуральных чисел от 0 до 12, при этом каждому числу соответствует множество комбинаций.
Коды Фибоначчи образуют соответствующую систему счисления с набором арифметических операций.
Сложение: Вычитание:
0+0 = 0; 0- 0 = 0;
0+1 = 1; 1 -1 = 0;
1+0 = 1; 1 -0 = 1;
1+1 = 111; 10-1 = 1;
1+1 = 1001; 110 -1 = 11;
1000-1 = 111.
При сложении 2-х единиц может быть:
>1>(n)+ >1>(n)= >1>(n)+ >1>(n-1)+ >1>(n-2) т. е. равно 1 и перенос 1 в два младших разряда.
>1>(n)+ >1>(n)= >1>(n+1)+ >1>(n-2) т. е. равно 0 и перенос 1 в два разряда - предыдущий и последующий.
Коды Фибоначчи обладают рядом полезных свойств (например, избыточность и т. д.), позволяющих строить быстродействующие и помехоустойчивые АЦП (“фибоначчевые” АЦП), реализующих специальные алгоритмы преобразования. Коды Фибоначчи используются для диагностики ЭВМ, в цифровых фильтрах для улучшения спектрального состава сигнала за счет перекодировки и др. областях.
2. ДВОИЧНЫЙ ОТРАЖЕННЫЙ КОД. КОД ГРЕЯ
Код Грея отличается от двоичного кода тем, что при переходе к следующей кодовой комбинации изменяется только один элемент кодовой комбинации (табл. 3).
Если при передаче сообщений с помощью кода Грея одновременно изменяется несколько разрядов кода, то это свидетельствует об ошибке, в этом состоит обнаруживающая способность кода Грея.
Код Грея, не взвешенный и непригоден для вычислительных операций без предварительного перевода в двоичный код.
Т
Если обозначить: a>i>> >- двоичный код;
b>i> - Код Грея, то правило перехода из двоичного кода к коду Грея имеет вид:
b>i >=a>i> a>i+1>
где - суммирование по mod 2 a>i+1> - a>i> - со сдвигом на один разряд вправо.
Пример:
1) a>i> = 1 1 1 0 1
1 1 1 0 1
b>i> = 1 0 0 1 1
2) a>i> = 1 1 1 1
1 1 1 1
b>i> = 1 0 0 0
аблица 3
Число |
Дв. Код |
Код Грея |
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 |
0000 0001 0011 0010 |
0110 0111 0101 0100 |
||
1100 1101 1111 1110 |
||
1010 1011 1001 1000 |
Схема кодера Грея приведена на рис. 2. Как видно из кодер Грея реализуется с помощью регистра RG, сдвигового регистра SRG и сумматора по модулю 2 SM2.
Правила перехода из кода Грея в двоичный код. Существует несколько способов перехода.
1. Используется следующий алгоритм:
a>n-1 >= b>n-1>;
a>i >= a>i+1 > > >b>i> .
где a>n-1>> >- значение старшего разряда двоичного числа.
a>i> b>i>
n n n n
n
Рис.2. Схема кодера Грея
RG
SRG
SM2
Пример 1. Дана запись числа кодом Грея b>i> = 10101 b>4> b>3> b>2> b>1> b>0> получить двоичную запись. Используя приведенные выше формулы, получим
a>4> = b>4>> >= 1 ;
a>3 >= a>4 > b>3>> >=1 0 = 1;
a>2 >= a>3 > b>2>> >=1 1 = 0;
a>1 >= a>2 > b>1>> >=0 0 = 0;
a>0 >= a>1 > b>0>> >=0 1 = 1;
a>i >=> >a>4> a>3> a>2> a>1> a>0>> >= 11001
2. Переход осуществляется по алгоритму a>i> = - т. е. как сумма по модулю 2 всех предыдущих значений
Пример 2. Дана запись числа кодом Грея b>i> = 11001. При этом двоичная запись равна a>i> = 10101;
Правила перехода из двоичного кода и кода Грея к десятичной записи
Для двоичного кода:
Для кода Грея:
для нечетных “1” знак “+”, для четных “1” знак “-”.
Пример 3. Дана запись числа двоичным кодом a>i> = .
При этом десятичная запись равна
a>10 >= 125 + 124 + 122 +121 = 32+16+4+2 = 54.
Пример 4. Дана запись числа двоичным кодом a>i> =110110. Получить код Грея и преобразовать его в десятичную запись.
Получим код Грея
a>i> = 1 0 1 1 0
1 1 0 1 1 0
b>i> = 1 0 1 1 0 1.
Получим десятичную запись
b>10> = 1(26-1)- 1(24-1)+ 1(23-1)- 1(21 -1) = 63-15+7-1=54.
Достоинство кода Грея: Простота перевода в двоичный код и обратно, а также к десятичной записи.
Применение кода Грея: Код Грея, чаще всего, используется для надежного перехода от аналогового представления информации к цифровой и обратно, т. е. в аналого-цифровых преобразователях (АЦП).
Список Литературы
Вернер М. Основы кодирования. — М.: Техносфера, 2004.
Зюко А.Г. , Кловский Д.Д., Назаров М.В., Финк Л.М. Теория передачи сигналов. М: Радио и связь, 2001 г. –368 с.
Кнут Дональд, Грэхем Роналд, Паташник Орен Конкретная математика. Основание информатики — М.: Мир; Бином. Лаборатория знаний, 2006. — С. 703.
Лидовский В.И. Теория информации. - М., «Высшая школа», 2002. – 120с.
Метрология и радиоизмерения в телекоммуникационных системах. Учебник для ВУЗов. / В.И.Нефедов, В.И. Халкин, Е.В. Федоров и др. – М.: Высшая школа, 2001 г. – 383с.
Рудаков А. Н. Числа Фибоначчи и простота числа 2127-1 // Математическое Просвещение, третья серия. — 2000. — Т. 4.
Стахов А.П. Коды золотой пропорции. –М.: Радио и Связь, 1984.
Цапенко М.П. Измерительные информационные системы. - . – М.: Энергоатом издат, 2005. - 440с.