Научная статья на тему 'АРХИТЕКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СКАНИРОВАНИЯ ЦИФРОВОГО РАДИОЭФИРА В СПУТНИКОВЫХ СИСТЕМАХ СВЯЗИ'

АРХИТЕКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СКАНИРОВАНИЯ ЦИФРОВОГО РАДИОЭФИРА В СПУТНИКОВЫХ СИСТЕМАХ СВЯЗИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
12
4
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АРХИТЕКТУРА / ОБРАБОТЧИК / ЗАДАЧА / КОНВЕЙЕР

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зорин А.А., Преображенский Н.Б.

Статья посвящена вопросам построения эффективной архитектуры программного обеспечения сканирования цифрового радиоэфира в спутниковых системах связи.The article deals with the construction of the effective software that allows to realize an air monitoring for satellite telecommunication systems.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Зорин А.А., Преображенский Н.Б.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «АРХИТЕКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СКАНИРОВАНИЯ ЦИФРОВОГО РАДИОЭФИРА В СПУТНИКОВЫХ СИСТЕМАХ СВЯЗИ»

машинно-тракторного парка в АПК (на материалах Калужской области): дис... канд. экономич. наук. - Москва. 2005 - 160 с.

10.Управление техническими системами: учебно-методический комплекс / Г.В. Лапшина, Е.Ю. Чупахина, А.В. Жирнов. -Ульяновск: УГСХА, 2009. -297 с.

11. http: //agroinfo .com/

12. http://www.foodmarket.spb.ru/current.php?section=4/

13. http: //milknews .ru/analitika-rinka-moloka/reitingi/

Зорин А. А. НТЦ Радуга Преображенский Н.Б., к.т.н. старший научный сотрудник ИТМиВТ им. С. А. Лебедева Россия, г. Москва АРХИТЕКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СКАНИРОВАНИЯ ЦИФРОВОГО РАДИОЭФИРА В СПУТНИКОВЫХ

СИСТЕМАХ СВЯЗИ Статья посвящена вопросам построения эффективной архитектуры программного обеспечения сканирования цифрового радиоэфира в спутниковых системах связи.

Ключевые слова: сканирование, архитектура, вычислительное ядро, обработчик, задача, конвейер.

The article deals with the construction of the effective software that allows to realize an air monitoring for satellite telecommunication systems.

Key words: monitoring, architecture, computation kernel, handler, task, conveyer.

В настоящее время при реализации связи широко применяются цифровые сигналы, передающиеся как в спутниковых системах, так и в наземных. Обнаружение таких сигналов в радиоэфире и определение параметров этих сигналов в автоматическом режиме - важная прикладная задача. В специализированной литературе на этот счет зачастую используются термины мониторинг [1] и сканирование. Решение задачи может быть разным в засисимости от имеющихся аппаратных возможностей. В этой статье будет обсуждаться самый приемлемый (с точки зрения обладания аппаратными возможностями) и часто распространенный случай постановки эксперимента: наличие устройства записи оцифрованных данных в качестве источника данных и персональный компьютер (ПК) базовой конфигурации в качестве обработчика данных.

Постановка задачи, входные и выходные данные.

Требуется выработать такой подход к архитектуре программного обеспечения, работающего на ПК-обработчике, обеспечивающий

выполнение следующих требований:

1. Реализация целевой функции - обнаружение сигналов (радиоизлучений) и определение всех параметров найденных сигналов в автоматическом режиме. Под параметрами понимается совокупность данных, достаточных для настройки спутниковых модемов на приём и обработку сигнала. Обработка затрагивает только физический и канальный уровень модели OSI [2].

2. Возможность работы на современных ПК базовой конфигурации (в составе 2-8 вычислительных ядер, 4-12 ГБ ОЗУ, объем диска 500-1000 ГБ, специализированные платы отсутствуют).

3. Минимальная привязка к языку программирования, используемым библиотекам.

4. Возможность создавать гибкие сценарии сканирования, легко модернизируемые по требованию.

Входные данные могут быть получены через следующие интерфейсные функции драйвера устройства записи:

- чтение отсчётов (sample) сигнала с выхода аналого-цифрового преобразователя (АЦП) устройства записи сигналов.

- задание и получение частотных параметров настраиваемой полосы -правая и левая граница.

- задание и получение коэффициентов усиления сигнала в аналоговом и цифровом тракте.

Что касается выходных данных, то ими является множество параметров найденных сигналов: тактовая, несущая частота, коэфициент скругления, вид модуляции, сигнально-кодовая конструкция, кадры. Эти данные целесообразно хранить в специальном хранилище данных, позволяющем повторное обращение, анализ и систематизацию.

Архитектура программного обеспечения сканирования.

Программные решения в области сканирования могут опираться на следующий каркас компонентов, схематически изображенный на рис. 1.

Рисунок 1. Каркасное представление программной системы

сканирования.

Направления связей отражают передачу команд управления и/или данных.

Драйвер устройства записи и Хранилище данных - компоненты, связанные с входными и выходными данными, они зафиксированы на этапе постановки задачи и обсуждению не подлежат.

Для реализации компонента сканирования предлагается подход, предусматривающий разделение компонента на следующие подкомпоненты:

- Блок интерфейса,

- Слой-координатор,

- Слой-вычислитель.

Блок интерфейса (БИ) должен предоставлять пользователю всю необходимую информацию о сканировании, содержащую состояние среды вычисления со списком возможных команд, текущий прогресс выполнения, текущие готовые результаты сканирования, а также отправлять команды на выполнение в Слой-координатор. Блок интерфейса - единственный модуль в компоненте сканирования, обладающий графическим представлением.

Слой-координатор принимает команды БИ, трансформирует их в конкретный набор задач и подзадач для Слоя-вычислителя, получает вычисленные последним результаты задач и уведомляет БИ о состоянии среды вычислений, в том числе о вычисленных задачах. Под задачей здесь понимается структура данных, содержащая полный набор параметров, достаточный для решения, и результаты (заполняются по мере вычислений). Слой-координатор не обязан знать о способе обработки (алгоритме вычисления) задач, это зона ответственности следующего блока, Слоя-вычислителя.

Слой-вычислитель принимает задачи, сформированные в слое-координаторе, производит их расчет и возвращает результаты. При этом алгоритмы вычисления задач будут автоматически определены по типу параметров задачи. При вычислении задач используются средства распараллеливания на уровне одновременного выполнения нескольких задач.

Рассмотрим подробнее наиболее важный компонент - слой-вычислитель, его связи со слоем-координатором, а также принципы его работы. Слой-вычислитель состоит из вычислительного ядра и набора обработчиков. Вычислительное ядро - это компонент, осуществляющий эффективное распределение поступающих задач на обработчики. Обработчики - это компоненты, принимающие задачи и возвращающие подготовленные результаты. Вычислительное ядро поддерживает операции (программный интерфейс ядра):

- постановка (прием) задачи,

- отмена (остановка) задачи,

- приостановка задачи,

- возобновление приостановленной задачи,

- возвращение процента выполнения задачи в виде уведомления,

- возвращение результатов посчитанной задачи в виде уведомления.

Последние 2 операции на самом деле реализуются конкретными

обработчиками, но поскольку для слоя-координатора, заинтересованного в результатах вычислений, неважно, откуда приходит уведомление о результатах, здесь они приведены для целостности картины.

Благодаря такому интерфейсу вычислительное ядро универсально по своей сути и может быть применено в широком наборе программных комплексов вычислительной направленности, не только в области сканирования. Обработчики, напротив, универсальностью не обладают, поскольку предназначены для решения конкретных задач, вытекающих из предметной области.

Вычислительное ядро способно обрабатывать задачи 3 типов:

- "короткие",

- "долгие",

- комбинированные.

"Короткие" задачи - задачи, выполнение которых проходит быстро с

точки зрения пользователя, наблюдающего за процессом вычислений (доли секунды). Предполагается также, что "коротких" задач не может одномоментно поступить слишком много, образовав длинную очередь. Следовательно, операции отмены, приостановки и возобновления счета, а также статуса счета для них не актуальны. "Долгие" задачи - задачи с неизвестным заранее временем счета или с продолжительностью более 0.5 секунды; все возможности вычислительного ядра для них актуальны. Принимая "долгую" задачу, вычислительное ядро должно выбрать обработчик из списка возможных, соответствующий этой задаче, и запустить его в отдельном потоке операционной системы. Предполагается, что обработчик сам позаботится об отсылке уведомлений о решении задачи (результаты и процент выполнения). Кратко это может пояснить схема, изображенная на рис. 2.

I ; I-------

Слой-вычислитель

Задача с параметрами

Слой-координатор

Й-

Задача с параметрами и результатами

Вычислительное ядро

Задача с параметрами

Обработчик Обработчик Обработчик

Рисунок 2. Схема взаимодействия Слоя-координатора и Слоя-

вычислителя.

В случае комбинированных задач вычислительное ядро должно собрать последовательность из требуемых обработчиков, выделить для каждого обработчика поток операционной системы и начать расчёт задачи, начиная с первого обработчика. По завершении вычислений на обработчике задача с вычисленными результатами передается следующему обработчику, и так далее. Последний обработчик уведомляет о завершении вычисления

задачи. Кратко это может пояснить схема, изображенная на рис. 3.

Рисунок 3. Процесс обработки для комбинированной задачи.

У каждого обработчика существует своя очередь задач, пополняемая вычислительным ядром или предыдущими в последовательности обработчиками, назначенными ядром. Каждая следующая задача берется обработчиком только после выполнения предыдущей. Если очередь выполнения пуста, обработчик может освободить выделенные ему операционной системой ресурсы, а может и перейти в режим ожидания будущих задач - в зависимости от его настроек, определяемых предметной областью (статически) и вычислительным ядром (динамически).

Такой способ многопоточной реализации вычислений основывается на модели конвейера [3]. В ней порция данных, подаваемая на конвейер, - это в точности одна задача, а стадия конвейера соответствует работе одного обработчика.

Следует ответить на вопрос: руководствуясь какими требованиями, стоит формировать конвейер (последовательность) обработчиков для конкретной предметной области? Обработчики должны быть сформированы с учетом 2 требований:

- логической целостности и функциональной полноты каждого обработчика;

- минимизации суммарного времени вычислений всеми обработчиками из цепочки.

Последнее требование в свете модели ковейера фактически эквивалентно требованию минимизации неравномерности использования вычислительных ресурсов ЭВМ обработчиками. Это объясняется тем, что при разных скоростях работы обработчиков возникает эффект "бутылочного горлышка", и скорость работы конвейера становится равна скорости работы самого медленного обработчика. Поэтому следует стремиться к тому, чтобы средние скорости работы обработчиков были как можно ближе, а среднее время работы каждого обработчика как можно меньше отличалось от его максимального времени.

Однако, может случиться так, что ниболее долго считающийся обработчик не может быть разбит на более мелкие, собранные в последовательно выполняющуюся цепочку, поскольку в этом случае нарушится требование логической целостности. В этом случае целесообразно создать параллельную реализацию такого обработчика, подобрав корректное значение числа ядер ЭВМ, на которых запускать такую параллельную реализацию обработчика. Параллелизм здесь должен осуществляться на уровне расчленения задачи (порция данных) на компоненты (несколько порций данных), которые вычисляются одновременно и единообразно.

Приведем конкретное разбиение процесса сканирования на обработчики для сценария работы с записанной частью (частотной полосой, панорамой) радиоэфира.

1. Модуль нахождения границ сигналов. Занимается поиском сигналов

на частотной панораме.

2. Модуль определения первичных параметров сигнала. Проводит нахождение первичных параметров сигнала: тактовая частота, несущая частота, скругление, отношение сигнал/шум.

3. Модуль фильтрации. Проводит согласованную фильтрацию записанных отсчетов. Это достаточно медленный обработчик, его следует распараллелить.

4. Модуль определения импульсных сигналов и типа импульсной системы. Здесь происходит определение, является ли сигнал импульсным или непрерывным (пакетным), и, если является импульсным, то определяется тип импульсной системы. Определение происходит по отсчетам, вышедшим с выхода предыдущего модуля - фильтра.

5. Модуль определения вида модуляции. Определение происходит по отсчетам, вышедшим с выхода предыдущего модуля - фильтра.

6. Модуль демодуляции. Точное восстановление отсчетов на несущей частоте в тактовые моменты времени.

7. Модуль декодирования. Определяется вид кодирующей конструкции и производится ее снятие с сигнала (декодирование). Определение кодов и декодирование происходит по отсчетам, вышедшим с выхода предыдущего модуля - демодулятора.

8. Модуль определения скремблеров. Определяются и снимаются все наложенные на сигнал скремблеры и кадры. Определение и снятие происходит по отсчетам, вышедшим с выхода предыдущего модуля -декодера.

Также возможно дополнительное деление каждого из последних 2 модулей на два обработчика: определение и снятие (кодов, скремблеров с кадрами).

Перечислим основные достоинства описанной архитектуры.

1. Она позволяет решать целевую задачу - обнаружение сигналов (радиоизлучений) и определение всех параметров найденных сигналов в автоматическом режиме.

2. Она достаточно проста для понимания и последующего кодирования, основывается на хорошо изученных принципах конвейера [3].

3. Реализация на ее основе достаточно быстра на современных ПК базовой конфигурации в силу многопоточной реализации с использованием модели конвейера и оптимального разбиения вычислений на обработчики.

4. Архитектура не привязана к какому-либо конкретному языку программирования и позволяет использовать широкий и распространенный спектр платформ для написания кода (С++, С#).

5. Разбиение вычислений на слой-координатор и слой-вычислитель обеспечивает возможность простого создания сложных сценариев сканирования, в том числе макисмально гибкой, многопроходной реализации сканирования, подразумевающей многократное исполнение обработчков, сформированных вычислительным ядром в разные цепочки

(формирование в цепочки может происходить динамически, в зависимости от результатов, полученных на этапе предыдущего запуска конвейера).

Использованные источники:

1. Степанов А.В., К., Матвеев С.А. Методы компьютерной обработки сигналов систем радиосвязи. М.: СОЛОН-Пресс, 2003.

2. Закер К. Компьютерные сети. Модернизация и поиск неисправностей. СПб.: БХВ-Петербург, 2002.

3. Хьюз К., Хьюз Т. Параллельное и распределенное программирование с использованием С++. М.: Издательский дом "Вильямс", 2004.

Зорькин И.А. студент 3 курса факультет «Экономики и управления»

Овчинникова И.В. научный руководитель Россия, г. Кемерово СРАВНИТЕЛЬНЫЙ АНАЛИЗ НАЧИСЛЕНИЯ АМОРТИЗАЦИИ В НАЛОГОВОМ И БУХГАЛТЕРСКОМ УЧЕТЕ

Все организации должны начислять амортизацию по своим основным средствам не только в бухгалтерском, но и в налоговом учете. При помощи амортизации стоимость основных средств организации постепенно переносится на себестоимость продукции (работ, услуг).

1.Бухгалтерском учете есть четыре метода начисления амортизации основных средств:

■ Линейный;

■ Способ уменьшаемого остатка;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

■ Способ списания стоимости по сумме чисел лет срока полезного использования;

■ Способ списания стоимости пропорционально объему выпущенной продукции;

1. При линейном методе начисления амортизации сумма амортизации основных средств определяется, исходя из первоначальной стоимости [1, с 34] объекта на начало отчетного года и нормы амортизации, установленной, исходя из срока полезного использования.

2. При методе уменьшаемого остатка годовая сумма амортизации определяется исходя из остаточной стоимости объекта на начало отчетного периода, нормы амортизации, установленной исходя из срока полезного использования, и коэффициента ускорения (не выше 2, а для лизингового имущества - не выше 3).

3. При начислении амортизации по сумме чисел лет срока полезного использования годовая сумма амортизации определяется исходя из первоначальной стоимости объекта и годового соотношения, где в числителе указывается число лет, остающихся до конца срока полезного использования, а в знаменателе - сумма чисел, лет срока полезного

i Надоели баннеры? Вы всегда можете отключить рекламу.