Курсовая работа по "Системы реального времени"
СОДЕРЖАНИЕ
Задание
Аннотация
Информационный расчет
Нагрузочный расчет
Топологический расчет
Анализ результатов
Литература
ЗАДАНИЕ НА КУРСОВОЕ ПРОЕКТИРОВАНИЕ
Разработать проект автоматизированной системы предназначенной для научных исследований, обучения и производственных испытаний системы сбора и обработки аналоговых сигналов, снимаемых с датчиков, установленных на некотором испытательном комплексе, например, на газотурбинном двигателе.
Исходные данные к проекту: Вариант № 17.
Таблица 1
ПАРАМЕТРЫ ОБЪЕКТА ИССЛЕДОВАНИЯ (ОИ) |
||||
№ группы датчиков |
Количество датчиков в группе |
Вид корреляционной функции сигналов на выходе датчиков |
Параметр корреляционной функции |
|
j |
mj |
Rj |
||
1 |
9 |
exp(-22) |
20 |
|
2 |
2 |
exp(-||) |
80(0,08) |
|
3 |
5 |
sin()/() |
30 |
|
4 |
11 |
exp(-||)(cos()+sin()) |
0,8 |
|
Таблица 2
МЕТРИЧЕСКИЕ ХАРАКТЕРИСТИКИ АСНИ |
|||
Время сбора данных, Сек |
Допустимая ошибка восстановления сигнала в % от его шкалы, по критерию оценки погрешности восстановления сигнала: среднеквадратического отклонения - (ск) |
Допустимый резерв загрузки ЭВМ в рабочей точке |
|
Tсб |
0 |
R0 |
|
15 |
3,5 (ск) |
0,10. |
|
Таблица 3
КООРДИНАТЫ ДАТЧИКОВ |
||||
Порядковый номер датчика |
№ датчика в циклограмме |
Координаты датчиков |
||
Xi |
Yi |
|||
1 |
11 |
47 |
77 |
|
2 |
12 |
25 |
80 |
|
3 |
13 |
72 |
82 |
|
4 |
14 |
60 |
75 |
|
5 |
15 |
85 |
55 |
|
6 |
16 |
75 |
72 |
|
7 |
17 |
57 |
87 |
|
8 |
18 |
87 |
71 |
|
9 |
19 |
72 |
51 |
|
10 |
21 |
75 |
35 |
|
11 |
22 |
71 |
26 |
|
12 |
31 |
80 |
40 |
|
13 |
32 |
56 |
26 |
|
14 |
33 |
82 |
20 |
|
15 |
34 |
60 |
15 |
|
16 |
35 |
71 |
14 |
|
17 |
41 |
36 |
17 |
|
18 |
42 |
22 |
18 |
|
19 |
43 |
20 |
25 |
|
20 |
44 |
11 |
54 |
|
21 |
45 |
22 |
40 |
|
22 |
46 |
30 |
22 |
|
23 |
47 |
43 |
85 |
|
24 |
48 |
27 |
52 |
|
25 |
49 |
40 |
25 |
|
26 |
410 |
15 |
35 |
|
27 |
411 |
25 |
60 |
|
Основные требования к АСНИ «Методы и средства обработки аналоговых сигналов»
Система должна обеспечивать одновременный сбор и первичную обработку информации с заданного количества датчиков в течении заданного интервала времени. Ошибки восстановления сигналов по полученным отсчетам должны быть не более заданных значений.
Резерв по загрузке ЭВМ в рабочей точке на этапе сбора данных должен быть не менее заданной величины.
Задание получила (число, месяц, год)
Подпись_____________
Задание выдал (преподаватель)
Подпись_____________
АННОТАЦИЯ
В проекте разработана автоматизированная система, предназначенная для научных исследований и производства испытаний газотурбинных двигателей (АСНИ ГТД).
Исходные данные приведены в начале пояснительной записки к курсовому проекту.
Проект включает следующие этапы:
Информационный расчет (для интерполяции 1 порядка)
Нагрузочный расчет (основной)
Топологический расчет
Анализ результатов
На первом этапе получены реальные частоты опроса датчиков и информационная производительность объекта исследований. Информационный расчет проводился для метода линейной интерполяции. В результате получена следующая суммарная частота следования выборок с датчиков:
C0=950,51661+2632,708+513,378019+11•3,454699=1825 (Гц).
По минимуму суммарной производительности системы сбора определена наиболее подходящая разрядность АЦП - 6.
На втором этапе построена адаптивная равномерная циклограмма опроса системы датчиков АСНИ и получена ее рабочая частота Срт= 1748,786688 (Гц). Произведен расчет рабочей нагрузки АСНИ, построена ее потенциальная нагрузочная характеристика. Производительность системы в рабочей точке составила Сs =2538,07 ( Гц), резерв по нагрузке равен R = 0,10. По критерию минимальной стоимости сформирован оптимальный состав аппаратно-программного комплекса АСНИ. Окончательный вариант АСНИ состоит из 4-х 8-и канальных 6-и разрядных УСД, ЭВМ №1, ОС №1, последовательного интерфейса и 3-ех блоков памяти по 16 кбайт каждый. Общая стоимость системы Qs=16834,735 у.е.
На третьем этапе расчета определена топология сети и размещение АСНИ в монтажном пространстве. Уточнено количество УСД:4.
На четвертом этапе произведена оценка показателей эффективности окончательного варианта АСНИ. Информационная избыточность АСНИ в целом равна:
s = (усд +1)( вд +1)( д +1) - 1 = (0,1748+1)(0,1648+1)(0,33+1) - 1 = 0,8199.
Стоимостной дисбаланс АСНИ, характеризующий асимметрию загрузки системы, равен:
ИНФОРМАЦИОННЫЙ РАСЧЕТ
Информационный расчет для линейной интерполяции выполняется с использованием формул среднеквадратической и максимальной ошибок для линейной интерполяции.
Цель информационного расчета - определение информационной производительности ОИ, обеспечивающей получение конечных результатов с допустимой точностью. При этом необходимо решить следующие задачи:
выбрать способ восстановления сигналов по дискретным отсчетам;
рассчитать параметры квантования сигналов с датчиков по критерию минимума информационной производительности ОИ;
сделать предварительный выбор устройств сбора данных.
Выбор способа восстановления сигналов по дискретным отсчетам осуществляется между ступенчатой и линейной интерполяцией. В начале, как наиболее простая, выбирается ступенчатая интерполяция, и производятся расчет параметров квантования сигналов и предварительный выбор устройств. Но рассчитанные таким образом информационная производительность ОИ и выбранные УСД могут предъявлять чрезмерно высокие требования к ЭВМ (выходить за пределы их возможностей), в этом случае требуется перейти к более сложной, но и более экономичной линейной интерполяции. Линейная интерполяция при тех же частотах, что и в случае ступенчатой интерполяции дает гораздо меньшую погрешность, поэтому допустимую погрешность можно получить на значительно меньших частотах опроса, чем при ступенчатой интерполяции. Проверка соответствия выбранного метода интерполяции и ЭВМ откладывается на этап нагрузочного расчета.
Расчет параметров квантования сигналов осуществляется по следующим формулам:
1. Основная цель данного этапа - расчет частот опроса датчиков, причем таких частот, которые в последующем позволят восстановить сигнал с заданной точностью. Для выполнения этого условия необходимо выполнение неравенства:
При среднеквадратической ошибке - (ск): 2(n,t) 2 (1)
При максимальной ошибке - (м): (n,t) (2)
Здесь - граница для допустимой ошибки восстановления сигнала, задаваемая в процентах от диапазона сигнала (шкала сигнала) и зависит от дисперсии сигнала -
при равномерном распределении сигнала
при нормальном распределении сигнала
По заданию сигнал распределен по нормальному закону. По закону 3 за достоверные значения с вероятностью большей 90% принимаются только те, которые лежат на далее 3 влево и вправо от точки математического ожидания. Ширина этого диапазона D именуется шкалой.
Тогда: =0*D
D=6*s
D2=36*s2 => s2=D2/36
2=36*s2*02
Если ошибка составляет 1% от шкалы сигнала с нормальным распределением, то это значит при критерии максимальной ошибки:
и соответственно при критерии СКО:
Среднеквадратическая ошибка при линейной интерполяции имеет вид
(4)
Независимо от выбранного критерия оценки погрешности ошибка восстановления сигнала включает две аддитивные составляющие:
- погрешность квантования сигнала по уровню
(5)
- погрешность дискретизации сигнала по времени
(6)
Здесь n - число двоичных символов отводимых на кодирование одного отсчета, s2 - дисперсия сигнала, - корреляционная функция сигнала.
Подставив выражения (3), (4), (5), (6) в (1) получим:
,
где
Разрешив это неравенство, как:
fi(n, ), найдем частоты опроса датчиков в зависимости от размера разрядной сетки для кодирования одного отсчета и допустимой ошибки восстановления.
Для удобства интегрирования корреляционную функцию R() целесообразно разложить в ряд Маклорена с точностью до двух первых ненулевых членов ряда.
Рассчитав частоты опроса датчиков в зависимости от n построим функцию информационной производительности для каждого датчика (одного из датчиков в группе однотипных датчиков):
Bi=nifi
Здесь Bi - информационная производительность i-го датчика, ni - число двоичных символов отводимых на кодирование одного отсчета с i-го датчика (разрядность АЦП), fi - частота опроса i-го датчика.
Точка минимума функции информационной производительности указывает на оптимальную производительность датчика из которой вычисляется оптимальная частота опроса:
fopt=Bopt/nopt
Поскольку датчики внутри групп эквивалентны по частоте, то указанный расчет достаточно произвести только для одного датчика из каждой группы.
РАСЧЕТ
1-ая группа датчиков.
=20 [1/сек].
Вид модели сигнала
R()=exp(-22)
Ряд Маклорена
2(n,t) 2
Таблица 4
n |
fi |
bi |
ci |
|
5 |
50,51661 |
252,5831 |
454,6495 |
|
6 |
44,94288 |
269,6573 |
404,4859 |
|
7 |
43,95093 |
307,6565 |
395,5584 |
|
8 |
43,71941 |
349,7553 |
393,4747 |
|
9 |
43,66247 |
392,9623 |
392,9623 |
|
10 |
43,6483 |
436,483 |
392,8347 |
|
nopt=5
fopt=50,51661
Bopt=252,5831
С1=454,6495
Рис.4
2-ая группа датчиков.
=80 [1/сек].
m=2
Ряд Маклорена:
Вид модели сигнала:
R()=exp*(-||).
2(n,t) 2
Таблица 5
n |
fi |
bi |
ci |
|
5 |
632,708 |
3163,54 |
1265,416 |
|
6 |
611,4564 |
3668,739 |
1222,913 |
|
7 |
606,3648 |
4244,553 |
1212,73 |
|
8 |
605,1051 |
4840,84 |
1210,21 |
|
9 |
604,7909 |
5443,119 |
1209,582 |
|
10 |
604,7125 |
6047,125 |
1209,425 |
|
nopt=5
fopt=632,708
Bopt=3163,54
С1=1265,416
Рис. 5
3-ая группа датчиков
=30 [1/сек];
m=5;
Вид модели сигнала R()=sin()/()
Ряд Маклорена
2(n,t) 2
Таблица 6
n |
fi |
bi |
ci |
|
5 |
13,37803 |
66,89014 |
66,89014 |
|
6 |
13,26425 |
79,58549 |
66,32124 |
|
7 |
13,23655 |
92,65584 |
66,18274 |
|
8 |
13,22967 |
105,8373 |
66,14834 |
|
9 |
13,22795 |
119,0516 |
66,13976 |
|
10 |
13,22752 |
132,2752 |
66,13761 |
|
nopt = 5
fopt = 13,37803
Bopt = 66,89014
С1= 66,89014
Рис. 6
4-ая группа датчиков
=0,8 [1/сек];
m=11;
Вид модели сигнала
R()=.
Ряд Маклорена
Таким об разом:
2(n,t) 2
Таблица 7
n |
fi |
bi |
ci |
|
5 |
3,454699 |
17,2735 |
38,00169 |
|
6 |
3,415579 |
20,49347 |
37,57137 |
|
7 |
3,406072 |
23,8425 |
37,46679 |
|
8 |
3,403712 |
27,22969 |
37,44083 |
|
9 |
3,403123 |
30,6281 |
37,43435 |
|
10 |
3,402975 |
34,02975 |
37,43273 |
|
nopt = 4
fopt = 3,454699
Bopt = 17,2735
С1= 38,00169
Рис. 7
Так как B6 <B10, то выбираем nацп = 6.
Результаты расчетов параметров квантования сведем в таблицу:
Таблица8
№ группы датчиков |
Количество датчиков в группе |
Параметры квантования |
||
j |
mj |
foj, Гц |
nацп |
|
1 |
9 |
51 |
6 |
|
2 |
2 |
633 |
6 |
|
3 |
5 |
13 |
6 |
|
4 |
11 |
4 |
6 |
|
Информационная избыточность вносимая УСД:
НАГРУЗОЧНЫЙ РАСЧЕТ
Цель нагрузочного расчета - формирование рабочей нагрузки АСНИ во времени между устройствами системы. При этом необходимо решить следующие задачи:
выбрать режим сбора и первичной обработки данных;
рассчитать параметры временной диаграммы работы АСНИ по критерию минимума непроизводительных затрат при ограничении на скорость сбора данных;
рассчитать требуемый объем оперативной памяти;
выбрать ЭВМ, состав программного обеспечения и интерфейс (предварительно) из заданного набора альтернативных вариантов.
Снятие показания с датчика и его первичную обработку будем считать прикладной задачей. Для опроса i-го датчика каждый раз запускается i-ая прикладная задача. В начале расчета подсчитывается С0 - суммарная частота запуска прикладных задач по следующей формуле:
Здесь m - число датчиков в системе, foi - частота опроса i-го датчика (получены на этапе информационного расчета).
Вводится понятие потенциальной нагрузочной характеристики (ПНХ). Она характеризует уменьшение потенциальных возможностей системы, при увеличении расходов на диспетчеризацию. Расход на диспетчеризацию тем больше, чем чаще появляются запросы на запуск прикладных задач. В общем виде ПНХ может быть представлена следующим образом:
n(C)=1-д(C)
Здесь д(C) - приведенные затраты процессорного времени на диспетчеризацию.
д(С)=1-п(С)
0n(C)1
Конкретный вид ПНХ определяется выбранной операционной системой (ОС). Операционная система выбирается в соответствии с запросами системы и с учетом критерия минимизации стоимости системы. Наиболее быстродействующей является 3-я ОС.
Рис. 8
Каждому рабочему режиму АСНИ на плоскости нагрузочной характеристики соответствует рабочая точка (РТ) с координатами: Cрт и рт.
рт=Срт(усд+инт+по)
усд - задержка вносимая УСД.
Здесь Сусд - максимальная скорость преобразования, выбирается из [1] пункт 6.2.3 таблица 2.
инт - задержка вносимая интерфейсом при обмене данными между ЭВМ и УСД, выбирается из П1 пункт 6.2.4 таблица 4.
по - затраты процессорного времени не связанные с обменом (подготовительные операции, первичная обработка).
При выборе ОС значения 1 и 2, а также по даны для 3-ей ЭВМ. Для их пересчета на выбранный вариант ЭВМ используются формулы:
Здесь , , - значения для выбранной ЭВМ;
, , - значения для 3-ей ЭВМ;
, , , - индивидуальные коэффициенты производительности.
Для выполнения ограничений на верность восстановления сигнала необходимо, чтобы на этапе сбора данных частоты опроса датчиков были равномерными и лежали в заданных пределах:
fi foi
Здесь foi - частота опроса i-го датчика при выбранной разрядности АЦП (nацп), полученные на этапе информационного расчета; fi - реальная частота опроса i-го датчика. fi может быть больше foi для выбранной разрядности АЦП, но не меньше, так как в этом случае не будет обеспечено восстановление сигнала с заданной точностью.
Варьируя значением fi мы перемещаем РТ по плоскости ПНХ (по координате Срт), тем самым выбирая выгодное для нас положение РТ, при котором обеспечивается восстановление сигнала с заданной точностью и минимальная стоимость используемого оборудования. Изменение стоимости происходит за счет выбора различных устройств (движение по координате рт).
При выборе fi и устройств необходимо обеспечить выполнение условия:
n(Срт) рт(Срт)+R0 или
R0 n(Срт)-рт(Срт)
Здесь R0 - допустимый резерв загрузки ЭВМ в РТ заданный в техническом задании. Для удобства обозначим:
=f0
Последовательность запуска прикладных задач формируется по циклограмме, которая представляет собой список номеров задач, расположенных в нужной последовательности. В начале каждого такта диспетчер по сигналу от таймера считывает очередной элемент циклограммы и запускает соответствующую задачу. По окончании циклограммы происходит возврат к ее начальному элементу. В циклограмме могут быть не заполненные такты. Это означает, что в соответствующем такте временной диаграммы выполняется фоновая работа (например, завершение ранее прерванных задач).
Если пронумеровать все такты временной диаграммы элементами натурального ряда чисел , то последовательность номеров тактов, в которых вызывается i-ая задача, можно рассматривать как класс вычетов i по модулю r i. Здесь i (начальная фаза) - номер такта временной диаграммы, в котором i-ая задача вызывается в первый раз; ri (тактовое расстояние) - расстояние между соседними моментами запуска i-ой задачи, выраженное в тактах временной диаграммы. ri и i - целые числа. Тогда частоты запуска задач:
f i = f0 / r i
Рис. 9
Выбор параметров временной диаграммы f0, =[1,2,...,m], r=[r1,r2,...,rm], где m - число датчиков в системе, следует проводить по критерию минимума суммарной загрузки процессора. Чем меньше загрузка процессора, тем менее производительный процессор можно использовать в АСНИ, а следовательно снизить ее стоимость. Для поиска минимальной загрузки процессора необходимо решить следующую задачу:
При следующих ограничивающих условиях:
ri f0/foi - ограничение на погрешность восстановления, вытекающее из требования fi foi и fi=f0/ri; i(mod ri)j(mod rj) - требование, согласно которому в каждом такте временной диаграммы должно начинаться выполнение не более одной задачи;
н.о.к (r1,r2,r3,...,rm)N0 - ограничение на длину циклограммы, накладываемое оперативной памятью (н.о.к - наименьшее общее кратное).
На этапе предпроектного анализа целесообразно использовать следующий подход к выбору параметров временной диаграммы. Примем тактовое расстояние ri равным ближайшей к f0/foi степени числа 2, меньшей f0/foi, т.е. ri=[f0/foi]2=2. При этом задача сведется к нахождению величины f0, минимизирующей суммарную загрузку процессора
(f0)=рт(f0)+д(f0)
при следующем ограничении:
Здесь Кз.ц. - коэффициент загрузки циклограммы, характеризует долю ненулевых элементов в циклограмме, М - число датчиков в системе.
Функция (f0) имеет пилообразный характер, причем, локальные минимумы наблюдаются в “особых” точках, имеющих следующие значения:
S(k,i) = foi 2k,
i=1,2,...,m k=1,2,....
Значение частоты f0, обращающее в минимум, лежит на интервале [C0, 2C0] в одной из особых точек. Напомним, что:
Ограничивающее условие Кз.ц. можно записать в следующем виде:
Здесь K - число групп датчиков, Мj - число датчиков в j-ой группе, (2к)j - тактовое расстояние кратное степени числа 2 для j-ой группы.
Алгоритм определения параметров временной диаграммы состоит из следующих этапов:
ЭТАП 1
Вычисление области поиска рабочей частоты циклограммы f0: [C0, 2С0] - значения тактовой частоты циклограммы из указанного интервала должны выбираться по возможности наименьшими, что снизит требования на быстродействие КТС.
РАСЧЕТ:
C0 = 9•44.94288+2•611.45+5•13.26425+11•3.415579=1731.291
Область поиска рабочей частоты циклограммы: [1731.291; 3462.583]
ЭТАП 2
Значения тактовой частоты циклограммы из найденного интервала могут определяться, например, наличием генератора стабильной частоты, но предпочтительнее их выбирать из тех, которые обеспечивают более близкое к 1 значение .
Выбор предпочтительных частот:
С0 foi2 2C0
Для каждой группы датчиков вычисляется:
Сj = fj 2
Здесь fj - частота опроса foi любого датчика j-ой группы.
РАСЧЕТ:
C1 = 44.9428826 = 2876.34432 [1731.291; 3462.583]
C2 = 611.4522 = 2445.8 [1731.291; 3462.583]
C3 = 13.2642528 = 3395.6 [1731.291; 3462.583]
C4 = 3.41557929 = 1748.786688 [1731.291; 3462.583]
ЭТАП 3
Из рассчитанных для каждой группы Сj выбирается наименьшая Сj и проверяется в качестве тактовой частоты циклограммы - f0. Вычисляются тактовые расстояния для каждой группы датчиков - значения (2к)j=[f0/foi]2 .
По условию построения равномерной адаптивной циклограммы тактовые расстояния в нашем случае выбираются кратными степени двойки, что может иметь то преимущество, что в качестве задатчика циклограммы можно использовать двоичный счетчик. Если для выбранной частоты циклограмма может быть построена - удовлетворяется условие Кз.ц. 1, то f0 считается допустимой и квазиоптимальной для всех особых точек (f0). В противном случае она отбрасывается и этап 3 повторяется для других по порядку возрастания Сj . При таком подходе полученная f0 является минимальной из возможных, где загрузка процессора также минимальна.
Расчет:
Начинаем подбор с C4 =1748,786688:
Вычислим коэффициент заполнения циклограммы:
Так как условие Кз.ц. 1 выполняется, то в качестве Срт выбирается С4:
f0 = Срт = С4 = 1748,786688 Гц.
ЭТАП 4
Вычисляются тактовые расстояния и частоты запуска для каждой прикладной задачи:
ri = [f0 / foi]2
fi = f0 / r i
Каждой прикладной задаче в порядке возрастания тактовых расстояний назначается начальная фаза i и составляется циклограмма.
Вычисляется длина циклограммы:
Nц = max{r1,r2,...,rm}
Номера датчикам назначаются следующим образом: 1-ая цифра - номер группы, которой принадлежит датчик, 2-ая цифра - номер датчика в группе.
РАСЧЕТ:
Параметры временной диаграммы сведем в таблицу:
Таблица 9
№ Датчика |
Параметры Циклограммы |
Частота Опроса, Гц |
|||
i |
ri |
i |
foi |
fi |
|
11 |
32 |
3 |
44,9428 |
44,9428 |
|
12 |
32 |
4 |
44,9428 |
44,9428 |
|
13 |
32 |
7 |
44,9428 |
44,9428 |
|
14 |
32 |
8 |
44,9428 |
44,9428 |
|
15 |
32 |
11 |
44,9428 |
44,9428 |
|
16 |
32 |
12 |
44,9428 |
44,9428 |
|
17 |
32 |
15 |
44,9428 |
44,9428 |
|
18 |
32 |
16 |
44,9428 |
44,9428 |
|
19 |
32 |
19 |
44,9428 |
44,9428 |
|
21 |
4 |
1 |
13,26425 |
719,08608 |
|
22 |
4 |
2 |
13,26425 |
719,08608 |
|
31 |
128 |
20 |
611,45 |
22,44144 |
|
32 |
128 |
23 |
611,45 |
22,44144 |
|
33 |
128 |
24 |
611,45 |
22,44144 |
|
34 |
128 |
27 |
611,45 |
22,44144 |
|
35 |
128 |
28 |
611,45 |
22,44144 |
|
41 |
512 |
31 |
3,415579 |
5,61786 |
|
42 |
512 |
32 |
3,415579 |
5,61786 |
|
43 |
512 |
52 |
3,415579 |
5,61786 |
|
44 |
512 |
55 |
3,415579 |
5,61786 |
|
45 |
512 |
56 |
3,415579 |
5,61786 |
|
46 |
512 |
59 |
3,415579 |
5,61786 |
|
47 |
512 |
60 |
3,415579 |
5,61786 |
|
48 |
512 |
63 |
3,415579 |
5,61786 |
|
49 |
512 |
64 |
3,415579 |
5,61786 |
|
410 |
512 |
68 |
3,415579 |
5,61786 |
|
411 |
512 |
71 |
3,415579 |
5,61786 |
|
Длина циклограммы:
Nц = max{r1,r2,...,rm}= 512 тактов.
Построим циклограмму:
Таблица 10
21 |
22 |
11 |
12 |
21 |
22 |
13 |
14 |
21 |
22 |
15 |
16 |
21 |
22 |
17 |
18 |
|
21 |
22 |
19 |
31 |
21 |
22 |
32 |
33 |
21 |
22 |
34 |
35 |
21 |
22 |
41 |
42 |
|
21 |
22 |
11 |
12 |
21 |
22 |
13 |
14 |
21 |
22 |
15 |
16 |
21 |
22 |
17 |
18 |
|
21 |
22 |
19 |
43 |
21 |
22 |
44 |
45 |
21 |
22 |
46 |
47 |
21 |
22 |
48 |
49 |
|
21 |
22 |
11 |
12 |
21 |
22 |
13 |
14 |
21 |
22 |
15 |
16 |
21 |
22 |
17 |
18 |
|
21 |
22 |
19 |
410 |
21 |
22 |
411 |
21 |
22 |
21 |
22 |