ЛОГИКА РАБОТЫ модуля работы ОДНОГО диапазона 1. Начало работы – создание «Рабочей таблице каналов», для каждого диапазона – своей. 2. Обратиться к «Таблице каналов». Из неё выбрать следующее: a. Актуальные (действующие в данном сеансе работы) поддиапазоны данного диапазона (по именам). b. Выбрать поддиапазон с наибольшим «диспетчерским приоритетом» (см. РУК). c. Диспетчерскую частоту этого поддиапазона считать диспетчерской частотой диапазона. d. Выбрать число каналов в диспетчерском диапазоне. e. Выбрать признаки поддиапазона . 3. Создать и начать заполнение «Рабочей таблицы каналов» данного диапазона. a. Пометить в «Рабочей таблице каналов» диспетчерские каналы как занятые. b. Либо: рассчитать ширину диспетчерского канала как сумму выделенных диспетчерских каналов, а середину этой полосы – как диспетчерскую частоту. 4. На основании «Таблицы частот» продолжить заполнение «Рабочей таблицы каналов»: a. Все рабочие каналы получают сквозную внутреннюю нумерацию. b. Записать частоту канала c. Рассчитать и записать ширину канала d. Каналы, помеченные в «Таблице частот» как неиспользуемые, не переносить в «Рабочую таблицу каналов». e. Каналы, имеющие лакуны по краям, помечать как «крайние». f. Признаки поддиапазона переносить в каждый канал этого поддиапазона. g. Уровни мощности ставить равными 0. 5. Закончить создание «Рабочей таблицы каналов». 6. Начать сканирование эфира: a. При одном поддиапазоне (вер.1.0): взять первый канал, помеченный как незанятый и сформировать запрос приёмнику на его «прослушивание». Если поддерживается очередь запросов (при одновременном использовании нескольких приёмников), то сформировать число запросов равное длине очереди (например 4). b. При нескольких поддиапазонах: прослушивание надо начать с первого канала с наибольшим «коэффициентом предпочтения», а последующие запросы формировать с учетом «тайм-рейтинга». c. Дождаться ответа от приёмника и занести полученные данные в «Рабочую таблицу каналов». d. По завершении сканирования диапазона запустить подсчет рейтингов каналов, с соответствующей записью в «Рабочую таблицу каналов». 7. При запросе (от СВ) диспетчерской частоты, выдать: среднюю частоту диспетчерского диапазона, его ширину, число занятых им каналов (см.Протокол). 8. При запросе полосы частот: выбрать канал с наибольшим рейтингом; если запрашиваемая полоса больше ширины канала, то a. подсчитать требуемое число каналов; b. выбрать каналы симметрично относительно первоначально выбранного; c. проверить нет ли среди них занятых или помеченных как «крайние» (кроме крайних ); d. пометить их как «зарезервированные» и e. выдать списком (см.Протокол). После подтверждения занятости, пометить их как «занятые», в противном случае – как «свободные». 9. Если невозможно выделить запрашиваемую полосу частот, то выделяется максимально возможная. Формат таблицы каналов Диапазон КВ/УКВ Поддиапазон имя_поддиапазона имя таблицы поддиапазона в БД актуальность (boolean) использовать/неиспользовать «диспетчерский приоритет» условность для выбора единой дисп. частоты диспетчерская частота значение ширина диспетчерской частоты в каналах приоритеты поддиапазона (день/ночь/зима/лето) Формат таблицы частот номер канала нижняя частота частота верхняя частота аварийный диспетчерский модуляция Формат Рабочей таблицы каналов номер канала частота ширина канала модуляция использование/занятость приоритеты(предпочтения) «крайний» время отсчёта отсчёт_1 отсчёт_2 отсчёт_3 отсчёт_4 рейтинг тайм-рейтинг (свободен/резервирован/занят) (день/ночь/зима/лето) признак лакуны в частотном диапазоне уровень шумов в канале во время отсчета уровень шумов в канале во время отсчета + 250мс уровень шумов в канале во время отсчета + 500мс уровень шумов в канале во время отсчета + 750мс