Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Основы модулярной арифметики. Практикум

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Практическая работа 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 -
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]