Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы модулярной арифметики. Практикум
.pdf
Практическая работа 6
4 = (1, 4, 4)
0 = (0, 0, 0)
= 3 = (0, 3, 3)
p
1
= 3*5 = 15 = (0, 0, 1)
p
1*p2
Восстанавливаем A в СОК.
A = <1, 4, 0> = 1 + 4*p
+ 0*p1*p2 =
1
= (1, 1, 1) + (1, 4, 4)*(0, 3, 3) + (0, 0, 0)*(0, 0, 1) =
= (1, 1, 1) + (0, 2, 5) + (0, 0, 0) = (1, 3, 6).
Окончательно, в СОК A = (1, 3, 6).
Задания для практической работы
1. Перевести из СОК в ОПСС по заданным основаниям p1,
p2, p3, p4, p5 число A(a1, a2, a3, a4, a5)
p
1 7 19 23 43 59 2 18 11 15 57
2 3 13 37 41 71 1 1 30 21 61
3 2 17 31 43 61 0 10 9 26 9
4 5 17 37 47 71 0 8 1 20 29
5 2 13 37 47 61 1 10 28 18 31
6 3 13 29 41 71 2 1 17 35 55
7 2 17 37 53 71 1 0 34 12 24
8 5 11 29 53 59 1 8 9 3 6
9 2 13 37 41 67 1 12 8 7 48
10 2 11 37 41 67 0 5 13 15 55
11 5 11 37 41 67 1 0 15 15 46
12 7 17 37 43 61 0 14 14 1 35
13 7 11 31 41 61 6 10 17 30 41
14 2 19 23 41 59 1 10 21 40 9
15 2 11 37 41 61 0 1 25 3 12
16 2 17 37 41 67 0 13 0 24 39
17 2 17 31 43 67 0 9 22 40 26
18 7 19 31 47 71 4 12 4 40 37
19 2 17 31 41 71 0 13 0 4 66
20 5 13 23 53 71 2 9 14 38 40
21 5 17 23 47 67 3 7 20 2 7
22 2 17 29 41 59 0 3 15 10 43
p
p
p
2
3
p
4
5
a
a
a
a
2
3
a
4
5
- 61 -

Спутниковые и радиорелейные системы передачи данных
p
p
p
p
2
3
p
4
5
a
a
a
2
a
3
4
23 5 13 23 53 61 2 3 17 31 37
24 2 11 37 53 71 0 4 34 11 52
25 2 19 29 47 59 0 4 11 35 21
26 2 17 37 41 67 0 10 8 20 53
27 3 13 31 43 71 0 1 3 8 53
28 2 13 23 47 59 0 8 10 34 46
29 2 19 29 41 61 1 0 7 40 45
30 5 17 29 41 61 1 11 2 40 55
31 2 13 37 41 67 0 1 15 34 10
32 3 17 31 47 61 0 5 17 3 24
33 3 13 37 47 71 2 11 19 16 66
34 3 19 23 47 67 1 9 0 2 21
35 5 17 29 47 59 0 1 27 32 18
36 2 19 37 47 71 0 0 24 19 64
37 7 11 23 53 61 1 7 14 6 20
38 7 17 29 41 71 3 7 9 24 33
39 2 11 23 47 71 0 10 1 21 34
40 3 19 29 53 67 1 5 22 21 56
41 3 17 29 43 67 0 0 10 9 4
42 5 11 31 43 59 1 6 9 14 39
43 5 17 23 53 71 0 9 21 40 69
44 7 17 29 43 67 6 1 14 34 20
45 2 19 29 43 71 0 2 24 2 43
46 3 19 29 43 59 0 11 24 20 38
47 3 17 23 41 67 2 11 22 1 49
48 2 19 37 47 59 1 4 15 27 41
49 2 13 37 47 71 0 2 6 27 3
50 7 17 37 53 67 2 9 26 41 9
51 3 19 23 43 61 1 5 17 15 25
52 2 11 31 43 67 1 9 20 22 46
53 2 17 29 47 67 0 1 15 29 62
54 7 11 31 43 71 6 3 5 17 60
55 3 17 37 43 71 2 2 8 7 36
56 3 17 23 43 61 0 16 22 13 59
57 5 11 37 53
61 0 0 19 37 22
58 3 13 23 41 71 1 11 0 28 19
a
5
- 62 -

Практическая работа 6
p
p
p
p
2
3
p
4
5
a
a
a
2
a
3
4
59 3 17 23 47 67 2 12 20 30 32
60 2 19 31 43 67 0 18 20 10 57
61 3 11 29 53 61 0 3 3 24 25
62 3 17 29 47 59 0 1 14 28 5
63 7 19 37 41 71 2 1 10 5 25
64 3 13 37 41 67 0 8 30 12 23
65 3 13 37 47 71 2 6 18 2 52
66 2 13 29 43 61 1 2 1 9 10
67 2 13 37 47 61 1 7 13 27 42
68 5 19 37 43 71 4 3 36 12 20
69 5 17 29 47 59 4 13 25 1 51
70 5 13 29 41 61 4 1 16 32 0
71 7 13 29 47 67 0 10 18 35 60
72 7 17 37 43 71 2 1 36 26 27
73 7 17 23 41 71 0 13 0 34 41
74 5 17 37 53 71 0 6 21 9 3
75 5 13 37 47 61 2 7 16 7 54
76 5 13 31 53 61 0 7 24 14 26
77 7 11 29 47 59 5 8 10 26 54
78 2 13 31 41 67 0 5 7 12 3
79 3 11 23 43 61 0 0 5 41 4
80 5 17 31 43 71 2 4 26 9 57
81 2 11 37 47 67 0 4 27 3 42
82 3 17 37 43 61 0 12 10 33 14
83 3 19 31 47 61 1 13 14 5 39
84 2 11 31 41 67 1 4 7 8 5
85 7 17 31 47 71 3 14 10 30 22
86 3 19 29 53 59 0 16 11 30 7
87 3 13 23 47 67 1 3 1 45 53
88 5 17 37 47 71 0 9 32 36 9
89 2 17 29 43 61 0 15 2 22 58
90 2 19 29 41 71 0 8 25 10 38
91 5 17 29 53 61 3 2 20 19 58
92 7 13 29 43 71 2 9 19 26 16
93 5 11 37 53
59 1 1 2 27 18
a
5
- 63 -

Спутниковые и радиорелейные системы передачи данных
p
p
p
p
2
3
p
4
5
a
a
a
2
a
3
4
94 5 13 31 53 59 0 7 17 32 54
95 3 19 23 41 59 1 0 22 15 47
96 2 19 37 43 61 0 2 23 18 53
97 7 13 23 47 61 5 8 3 38 28
98 2 11 23 53 71 0 10 2 45 53
99 5 19 23 43 71 1 14 14 26 22
100 2 19 31 41 71 1 18 9 25 15
2. Перевести из ОПСС в СОК по заданным основаниям
p1, p2, p3, p4, p5 ОПСС-числа A<a1, a2, a3, a4, a5>
p
1 7 19 23 43 59 2 10 9 31 2
2 3 13 37 41 71 2 2 9 8 56
3 2 17 31 43 61 1 12 30 42 35
4 5 17 37 47 71 0 2 20 44 51
5 2 13 37 47 61 0 6 2 38 46
6 3 13 29 41 71 2 1 27 25 2
7 2 17 37 53 71 1 14 20 51 13
8 5 11 29 53 59 0 6 10 0 44
9 2 13 37 41 67 0 8 25 10 64
10 2 11 37 41 67 0 3 15 8 12
11 5 11 37 41 67 0 4 34 27 60
12 7 17 37 43 61 0 10 5 40 29
13 7 11 31 41 61 3 10 26 29 14
14 2 19 23 41 59 1 2 21 32 8
15 2 11 37 41 61 1 8 6 28 37
16 2 17 37 41 67 1 7 12 4 2
17 2 17 31 43 67 1 1 18 27 19
18 7 19 31 47 71 3 15 26 39 46
19 2 17 31 41 71 0 14 10 18 55
20 5 13 23 53 71 4 11 9 50 5
21 5 17 23 47 67 0 15 20 18 4
22 2 17 29 41 59 0 9 15 28 13
23 5 13 23 53 61 0 8 19 10 27
24 2 11 37 53 71 1 4 18 14 10
p
p
p
2
3
p
4
5
a
a
a
2
a
3
4
a
5
a
5
- 64 -

Практическая работа 6
p
p
p
p
2
3
p
4
5
a
a
a
2
a
3
4
25 2 19 29 47 59 1 12 15 6 29
26 2 17 37 41 67 0 0 7 30 43
27 3 13 31 43 71 1 7 8 36 18
28 2 13 23 47 59 0 9 19 23 8
29 2 19 29 41 61 0 1 8 3 30
30 5 17 29 41 61 3 4 24 24 44
31 2 13 37 41 67 1 2 7 2 49
32 3 17 31 47 61 0 11 20 15 21
33 3 13 37 47 71 0 7 8 40 13
34 3 19 23 47 67 1 12 7 1 22
35 5 17 29 47 59 3 12 9 44 52
36 2 19 37 47 71 0 4 19 12 28
37 7 11 23 53 61 6 7 13 49 7
38 7 17 29 41 71 0 5 14 36 43
39 2 11 23 47 71 0 6 3 35 59
40 3 19 29 53 67 1 5 24 24 40
41 3 17 29 43 67 2 9 19 28 33
42 5 11 31 43 59 2 6 6 0 3
43 5 17 23 53 71 4 9 22 17 51
44 7 17 29 43 67 6 6 26 19 27
45 2 19 29 43 71 1 18 16 38 55
46 3 19 29 43 59 1 14 3 29 55
47 3 17 23 41 67 1 6 8 32 28
48 2 19 37 47 59 1 6 34 9 21
49 2 13 37 47 71 1 12 18 23 58
50 7 17 37 53 67 6 0 32 48 23
51 3 19 23 43 61 1 9 11 36 49
52 2 11 31 43 67 1 5 4 19 45
53 2 17 29 47 67 1 5 19 39 60
54 7 11 31 43 71 0 6 15 12 20
55 3 17 37 43 71 2 4 14 15 44
56 3 17 23 43 61 2 6 19 13 20
57 5 11 37 53 61 1 6 2 20 39
58 3 13 23 41 71 0 0 22 11 56
59 3 17 23 47
67 1 16 0 0 7
60 2 19 31 43 67 1 16 30 2 10
a
5
- 65 -

Спутниковые и радиорелейные системы передачи данных
p
p
p
p
2
3
p
4
5
a
a
a
2
a
3
4
61 3 11 29 53 61 2 2 16 28 11
62 3 17 29 47 59 1 4 7 8 38
63 7 19 37 41 71 4 7 32 23 47
64 3 13 37 41 67 2 3 8 22 31
65 3 13 37 47 71 0 0 5 1 31
66 2 13 29 43 61 0 7 13 29 7
67 2 13 37 47 61 1 6 10 0 41
68 5 19 37 43 71 1 16 1 26 33
69 5 17 29 47 59 3 7 9 25 48
70 5 13 29 41 61 4 7 12 5 30
71 7 13 29 47 67 5 7 1 12 64
72 7 17 37 43 71 3 10 11 30 23
73 7 17 23 41 71 2 10 17 31 8
74 5 17 37 53 71 4 8 17 6 16
75 5 13 37 47 61 2 12 0 1 25
76 5 13 31 53 61 0 9 15 13 24
77 7 11 29 47 59 6 1 3 41 13
78 2 13 31 41 67 1 10 7 7 18
79 3 11 23 43 61 2 0 12 40 14
80 5 17 31 43 71 2 9 30 13 34
81 2 11 37 47 67 0 4 15 19 37
82 3 17 37 43 61 1 13 20 9 60
83 3 19 31 47 61 0 9 8 5 59
84 2 11 31 41 67 1 0 23 3 22
85 7 17 31 47 71 3 11 0 22 53
86 3 19 29 53 59 0 4 28 19 29
87 3 13 23 47 67 1 12 1 44 62
88 5 17 37 47 71 3 11 5 4 10
89 2 17 29 43 61 0 3 10 15 58
90 2 19 29 41 71 0 6 28 21 0
91 5 17 29 53 61 1 5 26 42 56
92 7 13 29 43 71 4 1 21 4 14
93 5 11 37 53 59 1 3 10 24 44
94 5 13 31 53 59 0 0 22 38 53
95 3 19 23 41
59 0 2 5 27 25
a
5
- 66 -

Практическая работа 6
p
96 2 19 37 43 61 0 16 23 12 7
97 7 13 23 47 61 1 12 17 1 59
98 2 11 23 53 71 0 6 2 37 0
99 5 19 23 43 71 2 5 15 3 46
100 2 19 31 41 71 1 17 24 10 53
p
p
p
2
3
p
4
5
a
a
a
2
a
3
4
Контрольные вопросы
1. Что такое ОПСС?
2. Как перевести число из СОК в ОПСС?
3. Как перевести число из ОПСС в СОК?
4. Как сравниваются числа в ОПСС?
5. Как расширить диапазона СОК?
6. Как найти остаток от деления на 2 в СОК?
a
5
- 67 -

Спутниковые и радиорелейные системы передачи данных
Цель занятия: изучение методов перевода чисел из СОК в ПСС.
Знания и умения, приобретаемые студентом в результате осво-
ения темы, формируемые компетенции или их части: ПК-1, ПК-7.
В результате освоения темы обучающийся должен
• знать: метод прямого перевода чисел из СОК в ПСС,
ОПСС-метод перевода чисел из СОК в ПСС, метод ортогональных базисов перевода чисел из СОК в ПСС, метод
ортогональных чисел перевода чисел из СОК в ПСС.
• уметь: быстро переводить числа из СОК в ПСС.
• владеть: знаниями, умениями и навыками перевода чи-
сел из СОК в ПСС.
Теоретическая часть
Рассмотрим способы решения задачи перевода чисел из СОК
в ПСС. Это весьма актуальная задача. Зачастую общая производительность СОК-процессора зависит от того как именно она
решена.
Во-первых, если диапазон СОК не велик, например p
p
= 5, p3 = 7 (диапазон такой СОК: [0; 104]), то доступен прямой
2
табличный перевод. Это самый быстрый способ, но он требует
дополнительного расхода памяти.
Во-вторых, при рассмотрении ОПСС был показан способ перевода чисел из СОК в ПСС. При этом ОПСС выполняла роль
промежуточного звена. Это хороший способ перевода и зачастую используется именно он. Тем не менее, после открытия
более быстрого метода перевода, основанного на использовании ортогональных чисел, ниша способа перевода чисел через
ОПСС сужается до расчета вспомогательных таблиц при инициализации СОК-системы.
В-третьих, рассмотрение вопроса перевода чисел из СОК в
ПСС было бы, однозначно неполным без упоминания метода
ортогональных базисов (еще этот метод называют методом, основанным на применении китайской теоремы об остатках КТО).
= 3,
1
- 68 -

Практическая работа 7
Ортогональным базисом заданной СОК называются все ее
числа вида (1, 0, ... 0), (0, 1, ... 0), (0, 0, ... 1), значения которых в
ПСС могут быть найдены заранее.
Например (для СОК p
= 3, p2 = 5, p3 = 7),
1
(1, 0, 0) = 70
(0, 1, 0) = 21
(0, 0, 1) = 15
Теперь для перевода любого СОК-числа в ПСС достаточно
представить его в виде линейной комбинации ортогональных базисов и пересчитать значение этой линейной комбинации в ПСС.
Пример (для СОК p
= 3, p2 = 5, p3 = 7, P = 3*5*7 = 105).
1
A = 17 = (2, 2, 3) = 2*(1, 0, 0) + 2*(0, 1, 0) + 3*(0, 0, 1) =
= 2*70 + 2*21 + 3*15 = 227.
Проверка:
227 mod 3 = 2 – верно,
227 mod 5 = 2 – верно,
227 mod 7 = 3 – верно,
227 = 17 (правильный ответ) – ошибка.
Формально метод ортогональных базисов дает правильный
ответ – число 227, отличающееся от истинного – 17 на величину 2*105=210 или на 2 диапазона представления чисел в заданной СОК. Переполнение ответа на несколько диапазонов заданной СОК (число этих переполнений называется рангом числа в
СОК, в случае примера rank=2) считается главным недостатком
метода ортогональных базисов. Чтобы избавиться от этого переполнения, ищут остаток от деления формального ответа на
диапазон P.
A = 227 mod P = 227 mod 105 = 17.
Выполнение последней операции нахождения остатка от деления на диапазон СОК ставит крест на построение сколько-нибудь производительных систем на основе метода ортогональных
базисов, поскольку требует в составе ЭВМ модулярного высокоразрядного (порядка 256 бит и более) делителя двоичных чисел.
Рассмотрим теперь четвертый, по настоящему быстрый способ перевода чисел из СОК в ПСС.
- 69 -

Спутниковые и радиорелейные системы передачи данных
Назовем ортогональными числами в СОК числа A и B, дающие нуль при нахождение произведения A*B и имеющие ровно
один ненулевой разряд в СОК-представлении.
Например, ортогональными числами в СОК с основаниями
p
= 3, p2 = 5, p3 = 7 будут числа A = (2, 0, 0) и B = (0, 3, 0). Всего
1
для данного набора оснований возможно 12 ортогональных чисел: (1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 3, 0), (0, 4, 0), (0, 0, 1),
(0, 0, 2), (0, 0, 3), (0, 0, 4), (0, 0, 5), (0, 0, 6).
Дополнительно для проведения расчетов нам потребуется
тривиальное представление нуля в СОК: (0, 0, ..., 0) = 0.
Значение каждого из ортогональных чисел можно предварительно найти в ПСС, например, используя перебор (для малого
диапазона СОК) или более сложные методы, такие как опосредованный перевод через ОПСС.
(1, 0, 0) = 70, (2, 0, 0) = 35, (0, 1, 0) = 21,
(0, 2, 0) = 42, (0, 3, 0) = 63, (0, 4, 0) = 84
(0 ,0, 1) = 15, (0, 0, 2) = 30, (0, 0, 3) = 45,
(0, 0, 4) = 60, (0, 0, 5) = 75, (0, 0, 6) = 90
Для нахождения значения числа, заданного в СОК своими
остатками A = (a
, a2, ...) от деления на основания СОК (p1, p2, ...)
1
достаточно разложить число A на сумму ортогональных чисел
сначала в СОК, а потом, заменив ортогональные числа их переводами в ПСС, вычислить эту сумму уже в ПСС. Результат
получится с точностью до переполнения диапазона СОК с коэффициентом, называемым рангом числа в СОК.
Пример.
A = 9 = (0, 4, 2) = (0, 0, 0) + (0, 4, 0) + (0, 0, 2) =
= 0 + 84 + 30 = 114 = 9+1*105.
Правильным такой ответ является только чисто с математической точки зрения. С практической точки зрения от переполнения диапазона СОК необходимо избавиться.
Для разобранного выше примера
A = (0, 4, 2) = 114.
Корректируем ответ.
A = 114 mod 105 = 9.
- 70 -
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
