# Обработчик для автоматического обнаружения признаков работы средств радиоэлектронной борьбы (РЭБ) Средства РЭБ подавляют или искажают GPS-сигнал, в результате чего устройство получает невалидные координаты, аномальную высоту или резко деградировавшую точность позиционирования. Без фильтрации такие пакеты попадают в трек объекта, формируя ложные маршруты, артефакты телематики и некорректную статистику. Обработчик решает эту проблему на уровне входящего потока телеметрии, не допуская «мусорных» данных в стейт. ## Контекст применения Средства РЭБ подавляют или искажают GPS-сигнал, в результате чего устройство получает невалидные координаты, аномальную высоту или резко деградировавшую точность позиционирования. Без фильтрации такие пакеты попадают в трек объекта, формируя ложные маршруты, артефакты телематики и некорректную статистику. Обработчик решает эту проблему на уровне входящего потока телеметрии, не допуская «мусорных» данных в стейт. --- ## Входные параметры | Параметр | ID в модели | Reference | Тип | Factor | Описание | |---|---|---|---|---|---| | `gps_valid` | `gps_valid` | `navigation.gps_valid` | `boolean` | — | Признак валидности навигационного решения | | `height` | `height` | `navigation.height` | `number` | `0.1` | Высота над уровнем моря, метры | | `hdop` | `hdop` | `tag_71_0` | `number` | `0.1` | HDOP штатного приёмника | > Factor применяется платформой до передачи значения в обработчик — параметры поступают уже в физических единицах. --- ## Выходной параметр | Параметр | ID в модели | Тип | Описание | |---|---|---|---| | `znlhi` | `znlhi` | `boolean` | Флаг работы РЭБ: `true` — обнаружена аномалия, `false` — норма | --- ## Триггеры срабатывания Флаг `znlhi` устанавливается в `true` при выполнении **хотя бы одного** из условий: | # | Триггер | Условие | Обоснование | |---|---|---|---| | 1 | Невалидная навигация | `gps_valid === false` | Приёмник не может сформировать навигационное решение — прямой признак подавления сигнала | | 2 | Аномальная высота | `height > 700 м` | Устройство работает на наземном транспорте; высота свыше 700 м физически невозможна в большинстве регионов эксплуатации | | 3 | Деградация точности | `hdop > 2.5` | Резкое ухудшение геометрии спутникового созвездия характерно для частичного подавления сигнала | ### Поведение при отсутствии данных Если параметр отсутствует в пакете (`null` / `undefined`), соответствующий триггер **не активируется**. Это исключает ложные срабатывания при неполных пакетах или временном отсутствии навигации по штатным причинам (например, устройство только включилось). --- ## Логика работы ``` Входящий пакет │ ▼ Вычисление триггеров ┌────────────────────────────┐ │ gps_valid === false ? │──► ДА ──┐ │ height > 700 ? │──► ДА ──┤ │ hdop > 2.5 ? │──► ДА ──┤ └────────────────────────────┘ │ │ НЕТ (все условия false) │ ▼ ▼ znlhi = false znlhi = true Запись в localStore ric.drop() Пакет проходит дальше Пакет отброшен Стейт не обновляется ``` --- ## Ключевые технические решения **`ric.drop()`** — при срабатывании триггера вызов этой функции даёт платформе команду отбросить текущий пакет целиком. Ни координаты, ни другие параметры пакета не попадут в историю объекта. **Запись в `localStore`** — производится исключительно для чистых пакетов. Сохраняется время последней успешной проверки и значения параметров на этот момент. Скомпрометированные данные в стор не пишутся. **Независимость триггеров** — каждый из трёх триггеров проверяется отдельно, что позволяет легко добавлять новые условия или отключать существующие без изменения общей структуры. --- ## Связанные элементы модели - **Параметр-результат:** `Параметры → Работа РЭБ` (`znlhi`) - **Источники данных:** `Параметры → GPS → Валидная навигация`, `Параметры → GPS → Высота`, `Параметры → HDOP штатного приёмника` - **Модель:** Flex (`base: navtelecom`) --- ## Ограничения и рекомендации - Порог высоты **700 м** подобран для равнинных и холмистых регионов. Для горной местности (Урал, Кавказ, Сибирь) значение следует пересмотреть индивидуально. - Порог HDOP **2.5** соответствует нижней границе «удовлетворительной» точности по стандарту GPS. При необходимости более мягкой фильтрации можно поднять до 4.0. - Обработчик фильтрует только входящий поток и **не восстанавливает** пропущенные пакеты. Для построения трека в период РЭБ требуется отдельный механизм интерполяции.
Использование этого шаблона и его компонентов допускается только в платформе Rightech IoT. Лицензия автора шаблона распространяется только на его собственный код и не влияет на сторонние библиотеки и компоненты, используемые в шаблоне, и не может противоречить их лицензиям и лицензии Rightech IoT.

## Copyright © 2026 cent466 Эта программа является свободным программным обеспечением: вы можете распространять её и/или изменять в соответствии с условиями GNU General Public License, опубликованной Free Software Foundation версии 3. Эта программа распространяется в надежде, что она будет полезной, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, даже без подразумеваемой гарантии КОММЕРЧЕСКОЙ ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННЫХ ЦЕЛЕЙ. См. GNU General Public License, <https://www.gnu.org/licenses/>. # GNU Общая Общественная Лицензия (GPL) **Версия 3, 29 июня 2007 г.** Copyright © 2007 Free Software Foundation, Inc. <https://fsf.org/> Каждому разрешается копировать и распространять дословные копии этого лицензионного документа, но **не разрешается его изменять**. --- ## Преамбула GNU General Public License — это свободная, копилефтная лицензия для программного обеспечения и других видов работ. Большинство лицензий на программное обеспечение лишают вас свободы делиться и изменять произведения. Напротив, GNU GPL гарантирует вам свободу распространять и изменять все версии программы — чтобы она оставалась свободным ПО для всех её пользователей. Мы, Free Software Foundation, применяем GNU GPL к большей части нашего программного обеспечения, а также к другим работам, если их авторы этого захотят. Вы можете применять её и к своим программам. Когда мы говорим о **свободном ПО**, речь идёт о свободе, а не о цене. Наши лицензии GPL предназначены для того, чтобы вы могли: - распространять копии свободного программного обеспечения (и при желании брать плату за это), - иметь доступ к исходному коду или получить его, - изменять ПО и использовать его части в новых свободных программах, - знать, что вы имеете право на это. Чтобы защитить ваши права, мы должны предотвратить ограничения со стороны других, которые могут попытаться заставить вас отказаться от этих прав. Поэтому вы обязаны соблюдать определённые правила: - передавая копии программы, вы должны сохранять свободу её использования, - предоставлять исходный код, - сохранять уведомления об авторских правах и лицензии. Эти условия распространяются как на изменённые версии программы, так и на неизменённые. Например, если вы распространяете копии такой программы бесплатно или за плату, вы должны передать получателям те же права, что имеете сами. Вы должны обеспечить доступ к исходному коду. Также нельзя навязывать дополнительные ограничения поверх условий GNU GPL. --- ## Условия и положения ### 0. Определения **"Эта Лицензия"** — GNU General Public License, версия 3. **"Программа"** — любая работа, распространяемая по этой Лицензии. **"Вы"** — лицензиат, физическое или юридическое лицо, получившее права по Лицензии. **"Распространение"** — передача копий программы другим лицам любым способом. **"Модификация"** — изменение программы или её части, создание производной работы. ### 1. Исходный код Исходный код — это форма работы, предпочтительная для внесения изменений. Обязательство: при распространении программы вы должны предоставить исходный код или способ его получить. ### 2. Основные права Вы можете: - запускать программу в любых целях, - изучать, как она работает, и изменять её, - распространять копии, - улучшать программу и публиковать улучшения. Эти права не могут быть отозваны, если вы соблюдаете условия лицензии. ### 3. Передача копий Вы можете передавать дословные копии исходного кода на любом носителе при условии: - сохранения уведомлений об авторских правах, - сохранения текста этой Лицензии, - отсутствия дополнительных ограничений. Вы можете взимать плату за передачу копий или предоставление гарантий на них. ### 4. Передача изменённых версий Вы можете передавать изменённые версии Программы при условии: - сохранения уведомлений об авторских правах, - чёткого указания на изменения, - лицензирования всей работы по этой же Лицензии. Это гарантирует, что все производные работы останутся свободными. ### 5. Передача объектного кода Если вы распространяете программу в объектном коде или исполнимой форме, вы обязаны: - предоставить исходный код вместе с ней, - или дать чёткие инструкции, как получить исходный код бесплатно. ### 6. Передача через сети Если вы предлагаете доступ к программе через сеть, вы обязаны предоставить исходный код всем пользователям, которые взаимодействуют с программой удалённо. ### 7. Дополнительные разрешения и условия Вы можете добавлять **дополнительные разрешения**, которые снимают ограничения GNU GPL. Также можно добавлять **дополнительные условия**, но они не должны противоречить этой Лицензии. ### 8. Прекращение действия лицензии Если вы нарушаете условия этой Лицензии, ваши права автоматически прекращаются. Они могут быть восстановлены, если нарушение было исправлено. ### 9. Пересмотр версий Free Software Foundation может публиковать новые версии GNU GPL. Вы можете следовать: - версии, полученной вместе с программой, - или любой более новой версии. ### 10. Отказ от гарантий **Программа распространяется "КАК ЕСТЬ", БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ**, включая гарантию работоспособности или пригодности для определённых целей.