|
|
Дата: 17 Фев 2026 07:42:32
#
Коллеги, текст ниже, это краткий и довольно урезанный для этого форума отчёт ИИ по результату анализа платформы FMTLab, на которой сейчас проведены два тура конкурсов в трёх дисциплинах.
Для интересующихся внутренней структурой движка проекта, теперь есть возможность получить понимание как, для чего и почему образуются рейтинги участников.
-----------------------------------------------
Спецификация системы рейтинга FMT
Финальная версия для запуска проекта
Февраль 2026
Введение и контекст запуска
Данный документ описывает математическую модель расчета глобального рейтинга участников платформы с учетом того, что проект находится на стадии запуска.
В настоящий момент в FMT участвует около пяти человек, база пользователей только начинает формироваться, но ожидается рост до пятидесяти активных участников в течение первого года работы.
Система рейтинга должна работать справедливо как при текущих пяти участниках, так и при будущих пятидесяти, и при этом не требовать полного пересчета формул при росте базы.
Решением является адаптивная система с прогнозными референсными значениями и сатурирующей функцией diversity bonus, которая устойчива к добавлению новых дисциплин.
Ключевая идея: мы не сравниваем абсолютные количественные показатели, а оцениваем относительный успех участника в каждой дисциплине. Вопрос не в том, сколько связей ты провел или насколько точно измерил частоту, а в том, скольких соперников ты обошел в рамках честной конкуренции.
Основные дисциплины
FMT (Frequency Measurement Test) — ежемесячные инженерные соревнования по точному измерению частоты. Эта дисциплина требует глубоких технических знаний, качественного измерительного оборудования и высокой точности. FMT проводится раз в месяц через проект FMTLab. В настоящий момент в типичном FMT участвует около пяти человек, но ожидается рост до двадцати-тридцати регулярных участников.
Референсные значения участников
Референсные значения отражают не текущее состояние, а прогнозируемое целевое состояние проекта через год-полтора активного развития. Это позволяет системе рейтинга оставаться стабильной по мере роста базы пользователей.
Для FMT референсное значение устанавливается в 25 участников.
Расчет перцентиля участника в дисциплине
Перцентиль показывает, какой процент участников показал результат хуже рассматриваемого участника. Это универсальная мера успеха, которая работает одинаково при любом количестве участников.
Формула базового перцентиля
Для соревнования с четким ранжированием участников по местам:
Перцентиль = ((N - R + 1) / N) × 100
Где N — общее количество участников, R — место участника (1 = первое место).
Примеры расчета
Текущее состояние FMT (5 участников):
Второе место: ((5 - 2 + 1) / 5) × 100 = 80%
Первое место: ((5 - 1 + 1) / 5) × 100 = 100%
Пятое место: ((5 - 5 + 1) / 5) × 100 = 20%
Будущий марафон (40 участников):
Десятое место: ((40 - 10 + 1) / 40) × 100 = 77.5%
Динамический коэффициент масштаба
Коэффициент масштаба корректирует вес дисциплины в зависимости от реального количества участников относительно референсного значения. Это защищает систему от проблемы малой выборки на старте проекта.
Формула коэффициента масштаба
Коэффициент_масштаба = √(N_реальное / N_референс)
Использование квадратного корня смягчает влияние малого количества участников.
Ограничения коэффициента
Минимальный коэффициент: 0.5 (даже самое малое соревнование сохранит 50% от базового веса)
Максимальный коэффициент: 1.5 (защита от экстремальных выбросов)
Пример для текущего FMT (5 участников)
Коэффициент = √(5 / 25) = √0.2 ≈ 0.447
Применяется ограничение минимум 0.5
Скорректированный_вес_FMT = 1.5 × 0.5 = 0.75
При текущих пяти участниках FMT весит 0.75 вместо базовых 1.5. Это справедливо отражает более слабую конкуренцию, но признает роль первых участников в становлении проекта.
Особенности расчета перцентиля для FMT
FMT проводится ежемесячно, и участник может участвовать в нескольких соревнованиях в течение года. Для годового FMT перцентиля используется комбинированная формула:
FMT_перцентиль = (Средний_перцентиль × 0.7 + Лучший_перцентиль × 0.3) × Бонус_стабильности
Бонус стабильности
Процент_участия = Количество_участий / Общее_количество_FMT_за_период
Бонус_стабильности = 1.0 + (Процент_участия × 0.2)
Максимальный бонус 1.2 (если участвовал во всех FMT), минимальный 1.0. Итоговый FMT перцентиль не может превышать 100% даже с учетом бонуса.
Бонус за разнообразие (Diversity Bonus)
Diversity bonus поощряет участников, которые демонстрируют высокие результаты в нескольких дисциплинах. Система построена так, чтобы быть устойчивой к добавлению новых дисциплин в будущем.
Условия активной дисциплины
Дисциплина считается активной для участника только при выполнении ОБОИХ условий:
Условие 1: Перцентиль участника в дисциплине ≥ 65%
Порог 65% означает, что участник находится в топе 35% соревнующихся, демонстрируя реальную силу, а не просто "участие выше среднего".
Условие 2: Количество участников в дисциплине ≥ 10
Это защищает от манипуляций через организацию камерных соревнований. Десять участников — это минимум для проявления реального мастерства, а не случайной удачи.
Важно: Результат в дисциплине всегда учитывается в базовом рейтинге, даже если дисциплина не получила статус "активной" для diversity bonus.
Формула diversity bonus: сатурирующая функция
Вместо линейной зависимости от доли активных дисциплин используется сатурирующая функция, которая зависит только от абсолютного количества активных дисциплин k:
DivMult(k) = 1 + B_max × (1 - e^(-k / k_0))
Где:
k — количество активных дисциплин у участника
B_max = 0.15 (максимальный бонус 15%)
k_0 = 1.5 (параметр скорости насыщения)
e — основание натурального логарифма (≈ 2.718)
Почему сатурирующая функция
Ключевое преимущество сатурирующей функции: она зависит только от k (количества активных дисциплин участника) и НЕ зависит от общего количества дисциплин D в системе.
Следствие: добавление новых дисциплин не уменьшает diversity bonus у существующих участников. Участник, сильный в двух дисциплинах, получит одинаковый бонус независимо от того, существует ли в системе две дисциплины или десять. Это устраняет эффект "наказания" за рост системы.
Сатурирующая кривая отражает реальность: первая дополнительная дисциплина дает существенный прирост, вторая меньше, третья еще меньше, с убывающей отдачей, асимптотически приближаясь к потолку.
Применение diversity bonus: полу-мультипликатор
Чтобы сделать эффект diversity bonus менее агрессивным и психологически понятным, используется полу-мультипликатор:
Final = Base × (1 + × (DivMult - 1))
Где = 0.5 (коэффициент приглушения).
Эквивалентная формула:
Final = Base × (1 + 0.5 × B_max × (1 - e^(-k / k_0)))
Это дает эффективный максимальный бонус B_max / 2 = 7.5% вместо теоретических 15%. Бонус остается мотивирующим, но уже не способен превратить среднего универсала в лидера рейтинга.
Таблица значений diversity bonus
При параметрах B_max = 0.15, k_0 = 1.5, = 0.5:
Активных дисциплин (k) DivMult (сырой) Финальный множитель Эффективный бонус
0 1.000 1.0000 0%
1 1.073 1.0365 +3.65%
2 1.111 1.0555 +5.55%
3 1.130 1.0650 +6.50%
4 1.140 1.0700 +7.00%
5+ →1.150 →1.0750 →+7.50%
Видно, что отдача от универсальности убывает: переход от нуля к одной активной дисциплине дает 3.65%, от одной к двум добавляет еще 1.9%, от двух к трем только 0.95%. Максимальный эффект асимптотически стремится к 7.5%.
Расчет итогового глобального рейтинга
Пошаговый алгоритм
Шаг 1: Рассчитываем перцентиль в каждой дисциплине (для FMT используем комбинированную формулу с бонусом стабильности).
Шаг 2: Определяем фактическое количество участников в каждом соревновании.
Шаг 3: Рассчитываем коэффициент масштаба для каждой дисциплины с применением ограничений (минимум 0.5, максимум 1.5).
Шаг 4: Вычисляем скорректированный вес дисциплины (базовый вес × коэффициент масштаба).
Шаг 5: Рассчитываем взвешенный балл для каждой дисциплины (перцентиль × скорректированный вес).
Шаг 6: Суммируем взвешенные баллы всех дисциплин, получая базовый рейтинг.
Шаг 7: Проверяем условия активности для каждой дисциплины (перцентиль ≥ 65% И участников ≥ 10).
Шаг 8: Подсчитываем количество активных дисциплин k.
Шаг 9: Рассчитываем DivMult по сатурирующей формуле.
Шаг 10: Применяем полу-мультипликатор для получения финального глобального рейтинга.
Итоговая формула
Базовый_рейтинг = (Перцентиль_i × Скорректированный_вес_i)
DivMult = 1 + 0.15 × (1 - e^(-k / 1.5))
Глобальный_рейтинг = Базовый_рейтинг × (1 + 0.5 × (DivMult - 1))
Проверка: монстр FMT против универсала
Рассмотрим критический кейс: топовый FMT инженер (уровень DL7AIS или RU0LL) против среднего универсала.
Монстр FMT (специалист)
Перцентиль в FMT: 98% (стабильно первые-вторые места среди 20+ участников)
Вывод: Топовый специалист уверенно опережает среднего универсала. Система работает справедливо: выдающееся мастерство в сложной дисциплине ценится выше "разносторонности на среднем уровне".
Годовой и lifetime рейтинг
Годовой рейтинг
Годовой рейтинг рассчитывается на основе результатов участника с 1 января по 31 декабря текущего года. Годовой рейтинг фиксируется в конце года и больше не пересчитывается. Это обеспечивает стабильность: достижения конкретного года остаются в истории неизменными.
С началом нового года все участники стартуют с нулевого годового рейтинга, получая равные условия.
Lifetime рейтинг
Lifetime рейтинг учитывает всю историю активности участника, но с экспоненциальным затуханием старых результатов:
Lifetime = (Годовой_рейтинг_i × 0.9^(Текущий_год - Год_i)) / (0.9^(Текущий_год - Год_i))
Коэффициент 0.9 означает, что каждый год результаты "стареют" на 10%:
Прошлый год: вес 0.9 (-10%)
Позапрошлый год: вес 0.81 (-19%)
Три года назад: вес 0.729 (-27%)
Деление на сумму весов нормализует результат, не позволяя lifetime рейтингу неограниченно расти с количеством лет участия.
Заключение: устойчивость и масштабируемость системы
Предложенная система рейтинга специально спроектирована для молодого проекта с учетом будущего роста.
Ключевые свойства системы
Справедливость: Перцентильная система позволяет сравнивать результаты в разных дисциплинах с разными масштабами участия.
Адаптивность: Динамические коэффициенты масштаба автоматически подстраиваются под реальное количество участников.
Устойчивость к инфляции: Сатурирующая функция diversity bonus зависит только от k (количества активных дисциплин участника), а не от D (общего количества дисциплин в системе). Добавление новых дисциплин не уменьшает бонус существующих участников.
Защита от абьюза: Порог 65% и требование минимум 10 участников предотвращают манипуляции через камерные соревнования.
Прозрачность: Все формулы открыты и понятны, участники могут самостоятельно проверить свой рейтинг.
Баланс специализации и универсальности: Топовые специалисты получают заслуженное признание, но универсалы также награждаются за разносторонность без возможности доминировать над мастерами.
Рекомендации по развитию
По мере роста проекта рекомендуется проводить ежегодный анализ фактических показателей: среднее количество участников в каждой дисциплине, распределение рейтинга, доля специалистов против универсалов.
Если через год окажется, что даже эффективный максимум 7.5% слишком велик, можно снизить B_max с 0.15 до 0.12, получив эффективный максимум 6%. Структура системы при этом не меняется.
Финальные параметры
Ограничения коэффициента масштаба: Минимум 0.5, Максимум 1.5
Порог активности: Перцентиль ≥ 65%, Участников ≥ 10
Diversity bonus: B_max = 0.15, k_0 = 1.5, = 0.5
Эти параметры обеспечивают справедливый баланс между инженерным мастерством и операторским искусством, защищают от манипуляций и создают устойчивую основу для долгосрочного развития платформы FMTLab.
|
|
|
Дата: 18 Фев 2026 05:54:26
#
Коллеги, привожу отзыв одного из участников конкурса.
Поскольку у многих нет доступа к таким ресурсам, думаю будет интересно ознакомится с движухой вокруг этой научно-технической радиолюбительской деятельности.
Эта дискуссия идет в тематическом рефлекторе по направлению FMT
Перевод машинный, поэтому сильно не придирайтесь к оборотам перевода...
--------------------------------------------------
Re: [fmt-nuts] FMTLabs
Входящие
Andreas Krüger via groups.io
09:40 (3 часа назад)
кому: fmt-nuts
Я участвовал в выпуске теста fmtlab 13 февраля. Это было очень весело, хотя дополнительные испытания требуют больше Работайте, чтобы быть вовлечённым в участие.
Следующий — «Тур 3», который состоится 6 марта. Так что я Это у меня в календаре.
Что случилось?
FMTLab отличается от классической FMT ARRL по нескольким аспектам:
Вас просят измерить частоту. Пока что всё то же самое. Но FMTLab передаёт на несколько разных диапазонов в разное время и этого достаточно, чтобы измерить частоту одной из таких передач.
Они также неоднократно (360 раз) посылают серию из трёх импульсов, каждая серия длится одну секунду. Они говорят, сколько длится первый Два из них, и вас просят измерить длину В-третьих, за миллисекунды. Это измерение длины импульса.
И наконец, сколько миллисекунд после начала полного отчёта Во-вторых, начинается ли первый из этих импульсов? Народ FMTLab Видимо, предполагаю, что у вас будет GPS-приёмник и измеряйте это по сравнению с PPS от вашего GPS-приёмника. Так что Это называется смещение PPS. Но ты должен определить PPS-смещение в месте передатчика, то есть у вас Нужно учитывать время выполнения для вашего QTH. Они дают гео в Техасе Координаты.
Хорошее, плохое и уродливое
Они передают практически одну и ту же передачу на разных диапазонах. В разное время одного дня. Мне трудно их воспринимать на 20 м из-за мёртвой зоны. В пятницу я пропустил 40 м Передача, так как меня не было дома в тот момент (и моя попытка Во время моего отсутствия это было зафиксировано неудачно из-за личного соответствия глупости). Но у меня отлично получилась их коробка передач на 80 м. Частота Точность в 4 раза лучше на 80 м, чем на 20 м.
За несколько дней до «настоящей» они предлагают тестовые трансмиссии. Вот это предположительно необходим для измерения смещения PPS: Тест Передачи позволяют узнать о задержке процесса. Хорошо Идея!
Только я не успел быть готовым к экзамену Передача. Поэтому я использовал передатчик временного сигнала RWM, с хорошим результатом. Что говорит о том, что у людей с FMTLab действительно есть Задержка обработки их передатчика под строгим контролем. Браво! Молодцы, друзья!
Кстати: на данный момент я не смог найти расписание для тестовые трансляции перед мартовскими трансляциями включены их веб-страница. Ожидаю, что он появится там скоро.
Что мне кажется действительно странным: участников разделяют на две части Занятия, «Про» и «Хобби». Вы считаетесь «про», если у вас есть доступ к GPS (или аналогичный) дисциплинированный осциллятор. Если нет — это хобби. Так что если у вас есть рубидийная временная база (у моего друга), они Всё равно ставит тебя в «хобби». Любой дешёвый OSC с GPS-дисциплиной Ты «профессионал». Они могут делать, что хотят, но лично я не могу Я понимаю, как они делают это именно так.
Конечно, дисциплинированный OSC может облегчить измерение частоты. Что (насколько я знаю) вам не помогает, так это продолжительность сигнала и с измерениями смещения PPS.
Теперь есть нечто ещё страннее, чем классовое различие сама: если вы подаёте как «хобби», они откажутся от вашего PPS Смещение измерения! - Это просто не считается. Позвольте сказать опять же: у меня нет оборудования, которое, если бы оно у меня было, не помогло бы определить смещение PPS. По этой причине они не берут При расчёте моего балла учитывался мой PPS-офсет. В целом я очень доволен тем, что делает FMTLab, но эта деталь Заслуживает им A 🤦 от меня. Лично я горжусь и длиной пульса, и измерением смещения PPS, которые были Оба — менее чем на 1,5 мс.
Я понимаю, что здесь тоже читают SP5LST? Может, вы были бы любезны Прокомментируйте, в чём идея этого? - Или, что важнее, есть ли надежда, изменится ли она к следующему туру или, Если слишком сложно изменить такие вещи в полёте, для В следующем сезоне (на что я очень надеюсь)?
Что можно изменить в краткосрочной перспективе, в следующем туре или даже в Оглядываясь назад: на странице «результаты», Учитывается это или нет, пожалуйста, показывайте смещение PPS Измерения людей, которые их сдали, будь то «профессионалы» или «хобби».
Моя установка
У моей установки IC-705 достаточно стабильный осциллятор в пределах нестабильности (долгосрочный дрейф) примерно 0,01 ppm там. Также есть встроенная USB-звуковая карта. Я использовал свою обычную антенну, эту установку, мой (Linux-) ПК и интернет-соединение. И на этом всё. Остальное — это программное обеспечение.
Интернет-соединение и программа NTP на моём ПК вызывают Последний, чтобы хорошо проводить время. (Я даже не стал подключать ПК К моему роутеру по кабелю. WiFi NTP оказался достаточно хорошим.)
Как использовать это время? Я написал уродливое программное обеспечение, несколько строки смеси C и C++. Эта программа захватывает входящих звуковые сэмплы с звуковой карты установки через API Pipewire. Кстати, Pipewire — это мой дистрибутив Linux «Debian» (Трикси) использует звук для настройки звука, имеет репутацию низкого звука Задержка. Как оказалось, звуковая карта и аудиосистема справляются Аудиосэмплы в партиях по 1024 сэмпла каждый (при дискретизации при 48000 образцов в секунду). Моё программное обеспечение записывает их как обычный двоичный файл данные в один файл по мере их поступления, а также временные метки в другой Дело. Приходит партия, программа получает время от и записывает пакет в первый файл и временную метку во второй. Последняя в каком-то смысле, чтобы я знал, какой из них — Временная метка относится к. На временной метке записываются два числа Файл: Общая длина первого файла после Писательство и наносекунды с эпохи.
Linux — это не операционная система в реальном времени. Или, может быть, часть этого — вот что Но моя программа по C++ туда не идёт. Так что иногда бывают исключения в этих временных метках. Но я написал статью Программное обеспечение на Python, которое считывает два файла, делает небольшую отметку времени Сглаживая для устранения исключений, и получает образованную оценку Угадайте, какова именно временная метка каждого отдельного звука Образец.
С такой конфигурацией я записывал сигналы времени RWM. На частоте 14,996 МГц, 9.996 МГц, 4.996 МГц. Это не требует внимания оператора, поэтому часы записей.
Я использовал эти записи для двух целей:
Калибровка частоты.
Я узнал, какие аудиочастоты получает мой TRX в режиме USB Является ли консистенция 0,067 ± 0,01 ppm выше. ppm относительно HF, поэтому при приёме на USB 10 МГц я могу ожидать, что звук будет 0,067 * 10 = 0,67±0,1 Гц слишком высоко.
Измерение смещения по времени.
Я вручную посмотрел на один конкретный импульс временного сигнала. Я нашёл Что между ними задержка составляет около 31,8 миллисекунды. когда начинается вторая (или минута), согласно NTP ПК и когда начинается импульс от входящего временного сигнала:
Затем я написал программу для поиска краёв сигнала. Он прорвался сквозь Несколько тысяч секунд импульсов. В этот момент я Время всё меньше. Я уже начал заниматься этим Эндевор Поздно — это моя вина. В любом случае: среднее количество тысяч значения составляли 31,6 миллисекунды. Что, кстати, хорошо сочетается с этим Приведённый выше пример, если рассмотреть его внимательнее; Действительно подходит Лучше, чем мои оригинальные 31,8 мс.
Я объяснил 5,5 мс из этих 31,6 мс задержкой распространения от RWM (рядом с Москвой) до моего QTH в Берлине. Это грубо, это поверхностное расстояние, игнорирует обход, который сигналы должны сделать через ионосферу. Нет времени тщательно всё обдумывать. В общем, с учетом моей реальной задержки обработки от антенны до Программа на C++ оценивается в 26,1 мс. Для FMTLab — той же нефтью Апросимация поверхностного расстояния, задержка распространения 1,7 мс для Варшава-Берлин снова добавлен.
Я установил RX на 3567200 Гц USB, ожидая, что любой звук будет звучать как если бы я установил его на 3567199.761 Гц, учитывая то, что я знаю Частота.
Затем я использовал ту же программу на C++ и аналитические настройки для Сигнал FMTLab, как у меня был для RWM.
Они отправляют всю передачу всего шесть раз.
Но они делают это реже, чем RWM. Примерные цифры из моих Запись, оценённая в разгаре попыток успеть вовремя: От первой к второй передачи — 139 секунд, от второй к третьему — 131 с, от третьей к четвёртой, а также от четвёртый к пятому — по 138 с каждому, а с пятого по шестой, 132 секунды. В следующий раз я использую экземпляр своего edge finder, чтобы Старайтесь автоматически находить отдельные трансмиссии. На этот раз, Я делал это в основном вручную. Я использовал свой кромдоискатель для PPS и Измерение длины импульса. Из-за нехватки времени это было сделано только ради первые 60 импульсных последовательностей. Я потратил остальные 300 пульсов зря последовательности.
Используемое программное обеспечение
Легче стоять прямо на плече гигантов, так что смотреть Для дружелюбных гигантов обычно рекомендуется использовать его. Вот гиганты I Найдено:
Моя программа на C++ началась с какого-то примера программы с Pipewire Документация API. Это программа с оценкой C. Теперь C является подмножеством C++, но у меня есть некрасивая смесь немного C++ и большого количества C. Но для меня это работает.
Функция «какой сэмпл в какое время» работает как Python Программа на моём жёстком диске отдельно. Остальное, включая край finder, был взломан в два блокнота Jupyter: один для RWM, другой — для FMTLab.
Заметные импорты Python:
scipy — я использовал scipy.signal.periodogram и scipy.signal.ShortTimeFFT и scipy.signal.convolve для хардкорного сигнала Обработка.
Нумпи Ложка, чтобы кормить Сципи — удобно.
pandas в основном DataFrame.plot для просмотра объектов
matplotlib.pyplot Я использую axes.pcolormesh для предоставления экспозиция, напоминающая «водопад», см. ниже.
Для вашего удовольствия вот как выглядел «водопад» Помог мне найти сигнал примерно на 1514 Гц. Времена, когда FMT отправлял минутный носитель, имеют более тёмный сигнал фон и более определённая частотная линия. В другие моменты, мой AGC поднимал усилитель, что приводило к Более шумный фон. Если бы я это предвидел, я мог бы Это значительно уменьшило усиление. Шестеро отдельные измеренные частоты несущих помещаются в одну ±0,1 Гц Интервал. Мой итоговый результат по радиочастоте оказался 0,113 Гц слишком низкий, что является приятным и удовлетворительным результатом.
В целом, у меня был весёлый опыт. Это заняло у меня много часов В течение четырёх подряд дней, чтобы всё запустить. Я узнал довольно много информации о том, как пользоваться программными инструментами, которые я использовал в это время Четыре дня. И я снова и снова радовалась, когда что-то новое сработало так, как я надеялся.
Я не думаю, что нахожусь в оптимальном использовании своих инструментов. Но даже то, как я их использовал, оказалось довольно успешным.
В целом: хорошие результаты с ограниченным оборудованием. Если хочешь, ты могу сказать, что сделал это в стиле QRP. Мне нравится смотреть на это именно так.
Ещё раз огромная благодарность SP5LST и команде 🌹 за предоставленную эту работу Весёлое и познавательное упражнение!
В прошлой пятнице приняли участие всего восемь человек Экскурсия. В финале участвовал только один человек из всей Европы Ноябрьский ARRL FMT. И это действительно печально! К правильному виду Ботаники, его работы такие весёлые!
Я постараюсь донести информацию туда, где это уместно и меня слушают.
С уважением, Андреас, DJ3EI
|