Home Форум Клуб RU-QRP Разное QRPSim - симулятор контестов

Авторизация

На сайте

Никого

Журнал CQ-QRP

Рассказы RU-QRP

"Мороз - Красный нос" 2014
frost2014 cover

 

Наши друзья

baner88x31
Тульский областной радиоклуб
QRP ARCI
Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1
  • 2
  • 3
  • 4

ТЕМА: QRPSim - симулятор контестов

QRPSim - симулятор контестов 08 Май 2013 11:12 #15391

  • ur4mck
  • ( Администратор )
  • ur4mck аватар
  • Вне сайта
  • Сообщений: 915
  • Репутация: 87
Многим из Вас, уважаемые посетители форума, наверняка знакома программа CW contest симулятор MorseRunner. По отзывам эту замечательную программу используют и начинающие телеграфисты, и опытные контестмены. На радиолюбительских слетах даже организуются турниры по MorseRunner. Жаль, что работа в нем ограничена только на CQ и только с клавиатуры. Когда я самостоятельно осваивал телеграф, мне очень не хватало практики работы на ключе в условиях максимально приближенных к реальным. Прежде чем выходить в эфир, надо хорошо попрактиковаться на симуляторе. С тех пор прошло много лет, но мысль сделать подобную тренеровочную программу не покидает меня.

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

Другая ниша родилась спонтанно. Представьте, что в симуляторе можно менять условия игры и подсчет очков. Тогда контест-менеджер может по своему усмотрению создать те или иные правила, запустить автономную симуляцию на несколько часов и сравнить результаты с другими вариантами. Это нечто вроде "contest debuging'а". Вся отладка контеста может проходить в симуляторе, а в эфир выпускаеться уже готовый вариант состязания.

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

Первый шаг на пути к поставленной цели сделан в beta-версии программы, которую я назвал QRPSim.

На сегодняшний день реализован такой функционал:
  • Контест-игра "Russian hunt"
  • Вместе с человеком в игре участвуют "боты" - виртуальные станции, которыми управляет компьютер. В "эфире" звучат позывные как настоящих участников "Охоты", так и просто QRP и DX станции вне контеста
  • Как участник-человек, так и виртуальные участники, могут работать в режиме поиска и общего вызова
  • Виртуальные участники могут работать между собой
  • Скорость телеграфирования в beta-версии фиксирована и равна 26 wpm. В остальном сигналы и манера работы для каждого участника индивидуальны
  • Как и в реальном эфире, участники могут ошибаться, внезапно исчезать, а также ненарочно мешать другим
  • Как и в реальности, тут есть LID'ы и QRM'щики, нарочно мешающие проводить связи
  • Есть управление с клавиатуры и мыши
  • Водопад отображает спектр сигналов полосой 24 кГц
  • Управление режимами LSB/USB/Binaural, подстройка CW тона, набор фильтров, как широкополосных обзорных, так и телеграфных узкополосных
  • Подсчет очков по "Русской Охоте"
  • Статистика TOP5 среди участников "Охоты"
  • Случайный выбор медведей перед началом симуляции
  • Разные станции имеют разную мощность и звучат с разной громкостью
  • Как и в реальном эфире, виртуальные участники появляются и уходят из эфира на случайные промежутки времени

Среди ограничений версии qrpsim-0.2.1 стоит отметить следующее:
  • Фиксированная скорость в 26 wpm
  • Виртуальные участники пока недостаточно надежно могут работать между собой. Этот алгоритм требует дальнейшей проработки.
  • Есть небольшой глюк при настройке в пределах первых килогерц внизу диапазона
  • Связь считается завершенной, если обе станции успешно обменялись позывными и информацией, а также подтверждениями в конце QSO. Сама информация (RST/name/pwr) при этом не сверяется
  • Пока не реализовано отслеживание повторных связей
  • "Медведи", как и другие участники, могут работать и на поиск, и на CQ. Это временное ограничение только усложняет поиск медведей. :cheer:

Эти ограничения будут сниматься в следующих версиях.
В зависимости от того, насколько будет востребован такой симулятор, можно расширить его возможности:
  • Реализовать работу по сети
  • Улучшить CW декодер и парсер QSO
  • Добавить редактор сценариев для возможности отладки правил контестов
  • Подключить к симулятору внешний телеграфный манипулятор по COM или USB
  • Добавить вход внешнего аудио и сделать управление внешним трансивером по CAT
  • Кроме белого шума для большей реалистичности подключить алгоритмы QSB/QRN/Echo/Aurora
  • Дать возможность записывать и проигрывать аудио

Страница проекта: http://sourceforge.net/projects/qrpsim/
Там же Вы найдете последнюю версию и исходный код.
Программа выпускается под свободной лицензией GNU GPL v3 и распространяется бесплатно.

Системные требования:
  • ОС Windows (проверено на WinXP и Windows 8). Планируется поддержка Linux, MacOS
  • Дисплей с разрешением по вертикали минимум 700 точек. (Могут быть проблемы на нетбуках с разрешением 1024x600)
  • 25 Мбайт на диске для библиотек и ресурсов
  • Стандартное аудио устройство, способное работать с частотой дискретизации 48 кГц
  • Клавиатура и мышь для управления

Установка программы проста: распакуйти архив в любую директорию и запустите файл qrpsim.exe. Для деинсталяции достаточно просто удалить директорию с программой. QRPSim не пишет в реестр или в какие-либо другие системные файлы.

Начать работу очень просто:
  1. Запустите программу
  2. Ознакомьтесь с кнопками управления (Help ==> Keys help)
  3. Установите свою информацию (Contest ==> Users...)
  4. Выберите желаемое время симуляции и нажмите кнопку "Start!"
  5. Со временем начнут звучать и появляться на водопаде станции. Настраиваться на них можно мышью или клавиатурой, а для передачи информации обычно достаточно жать ENTER и функциональные клавишы F1-F10
  6. По мере набора связей в верхней строке будет отображаться Ваш текущий результат

Так выглядит окно программы в действии:

qrpsim.jpg


Для удобства прикрепляю бинарную версию 0.2.1 от 8 мая 2013:

Вложенный файл:

Имя файла: qrpsim-0.2.1-i686-win32.rar
Размер файла: 4,972 KB


Cвоими пожеланиями просьба делиться в этой теме.

QRPSIM - ЭТО НЕ ЗАМЕНА ЭФИРУ, А ТРЕНЕРОВКА ТОГДА, КОГДА ВЫХОД В ЭФИР ЗАТРУДНЕН. НЕТ НИЧЕГО ЛУЧШЕ РЕАЛЬНОГО ЭФИРА!


Выражаю особую признательность Владиславу RX3ALL и Виталию UU7JF за beta-testing. Ребята, Вы были первые, кто испытал эти алгоритмы и Ваши советы мне очень помогли!


Приглашаю разработчиков и beta-tester'ов, желающих помочь развитию проекта!
Администратор запретил публиковать записи.

QRPSim - симулятор контестов 08 Май 2013 11:50 #15392

  • UU7JF
  • ( Пользователь )
  • UU7JF аватар
  • Вне сайта
  • Сообщений: 3070
  • Репутация: 281
Вобщем, уже сделанное поражает воображение (мое во всяком случае), да еще и в одиночку. Приступаю к тестированию последней версии. Дима, удачи!
UI7K Виталий
Администратор запретил публиковать записи.

QRPSim - симулятор контестов 08 Май 2013 12:07 #15393

  • RX3ALL
  • ( Администратор )
  • RX3ALL аватар
  • Вне сайта
  • Сообщений: 1756
  • Репутация: 118
Виталя JF, я уже протестировал последнюю версию на XP +W8 и написал Диме свои соображения.

В свою очередь, я хочу сказать, что непростая работа над этим проектом идет уже в течении нескольких месяцев. В процессе тестирования программы родились очень интересные идеи, которые могут сделать данное приложение очень популярным и востребованным среди радиолюбителй. Однако, все идеи требуют своей реализации. Поэтому, я прошу всех вас, в меру ваших знаний, сил и возможностей поддержать начинание Дмитрия и принять участие в разработке и тестировании этого очень интересного авангардного проекта.
Последнее редактирование: 08 Май 2013 12:10 от RX3ALL.
Администратор запретил публиковать записи.

QRPSim - симулятор контестов 08 Май 2013 16:36 #15396

  • rk3fw
  • ( Пользователь )
  • rk3fw аватар
  • Вне сайта
  • Сообщений: 870
  • Репутация: 37
Ну, партизаны... Хоть бы предупредили, что такую штуку делаете.
Администратор запретил публиковать записи.

QRPSim - симулятор контестов 08 Май 2013 16:53 #15397

  • rk3fw
  • ( Пользователь )
  • rk3fw аватар
  • Вне сайта
  • Сообщений: 870
  • Репутация: 37
Не, супер, на работу - самое то! Только не ясно, как инфо в лог заносить. И хорошо бы тестовый режим, когда станций нет, просто нажатие кнопок потренировать.

Да, а как ключ подключать? Все по-англицки и мало :(

И еще, в чем разрабатывается программа. Ни на что не похоже... Я так понимаю, используется QT, а с чем?
Администратор запретил публиковать записи.

QRPSim - симулятор контестов 08 Май 2013 17:23 #15399

  • ur4mck
  • ( Администратор )
  • ur4mck аватар
  • Вне сайта
  • Сообщений: 915
  • Репутация: 87
Сначала понажимайте кнопки, чтобы понять их назначение. Перечень кнопок для управления см. в меню "Help --> Keys help". Плюс для настройки на станции можно кликать мышкой по водопаду или крутить колесико.

Инфо в лог заносится так: проводите QSO, заполняя поля принятых/переданных данных. Обычно для этого достаточно нажимать ENTER и TAB. Если нужно повторить инфо, используйте функциональные клавиши F1-F10. За исключением F9-F10 тут точно, как в Morserunner. Специально так делалось. По завершении QSO по ENTER автоматом сохраняется QSO в лог и отправляется в эфир "73". Надо получить подтверждение с обоих концов, чтобы QSO состоялось.

В любой момент можно нажать Alt+S и, если форма содержит корректные для QSO данные, QSO будет сохранено без отправки чего-либо в эфир. Можно потренероваться, вбивая в форму "левые" позывные и инфо "от фонаря". Такие QSO будут отмечаться как "NIL".

Для подключения ключа там пока только заглушка. Алгоритм на Си ямбического ключа с памятью, а также вертикального ключа у меня есть от другого проекта. Дойдем и до этого.

Пограмма разрабатывается на C/C++ в CodeBlocks с использованием кросплатформенного GUI toolkit wxWidgets. Это мое первое приложение на wxWidgets. Если честно, намучился с ним, ибо мой код на чистом Си, а стыковать C и C++ еще то "удовольствие". Пробовал разные GUI toolkit'ы: GTK+, FLTK, QT, wxWidgets. Все они хороши по-своему. Но стало ясно, что уж очень жирные. Следующую ветку симулятора надо писать на родном для операционке GUI: WinAPI для Win, GTK+ для Linux, максимально отделив интерфейс от ядра симулятора. Сейчас же они получились очень связаны и мне это не нравится. Но зато получен важный опыт, проверены свои алгоритмы. Это как раз задача версий 0.x.x.

Исходный код можно скачать на странице на SourceForge. CodeBlocks был выбран исключительно потому, что имеет хорошую поддержку wxWidgets, т.к. и сам он написан на этом toolkit'е.
Администратор запретил публиковать записи.

QRPSim - симулятор контестов 08 Май 2013 21:04 #15402

  • RD9CX
  • ( Посетитель )
  • RD9CX аватар
Так-то привык быстро :)
1 старт был пробный, 2 прошёл полностью... ни чего не меняя, только лишь данные свои подставил.

Дима, перво наперво сделай при активации симулятора чтоб раскладка сразу EN была, ну как в TR4W. и пронумеруй шкалу что-ли ;)
Поля в принципе можно так оставить (последовательность). Привыкаешь быстро... но лучше сделать как в контемт_модулях CALL -> RSTr -> RSTs -> NRr

Макросы по умолчанию стоят правильно, F12 можно сделать как Wipe (очистка всех полей), а не Pause как у тебя сейчас.

Заметил, часто станции принимали меня с ошибкой в позывном, но когда я повторял свой Call они либо продолжали так-же с ошибкой, либо вообще пропадали.
Про ухода с частоты я не против. Но было 3 таких момента:
Станция вызывает... переходит на приём... даю свой Колл... она принимает меня как 9RD9CX и передаёт свой рапорт... я резонно повторяю свой колл 2 раза и слушаю... она опять даёт с ошибкой в позывном и рапорт... и ни как ситуацию не поправить... приходится идти искать дальше :) :) :)


001_2013-05-09.jpg
Последнее редактирование: 08 Май 2013 23:50 от ur4mck. Причина: по просьбе вставлен screenshot
Администратор запретил публиковать записи.

QRPSim - симулятор контестов 08 Май 2013 21:20 #15403

  • RD9CX
  • ( Посетитель )
  • RD9CX аватар
Да !!! чуть не забыл, занял 1 место :) жду приза ;)
Администратор запретил публиковать записи.

QRPSim - симулятор контестов 09 Май 2013 00:29 #15404

  • UT5NM
  • ( Пользователь )
  • UT5NM аватар
  • Вне сайта
  • Сообщений: 1116
  • Репутация: 74
Да уж, партизане так партизане! Подпольщики!!! "У вас продается славянский шкаф?", "организация фирмы по скупке щетины" и "пьем за НАШУ ПОБЕДУ!" B) С удовольствием попользовал программу. Но сразу бросилось "в уши", что когда ставлю UT5NM, то все дают "449" и слышно всех ровно на "1W", которым почему-то все работают :angry: . Но я же хитрый, ввожу в поле User RX3ALL. И сразу рапорта 599 и 5 ватт у всех. Окончательно свалился под стол, когда "RX3ALL-а" позвал UT5NM. Который бодро отрапортовал "599", "5W" и "так точно, мистер Президент!". Уже меркнущим "пацталом" сознанием успел услышать, как мистер Президент выдал NM-у "449" и "1W" :blink: . Далее сознание погасло и тестирование прекратилось :silly: ...
Сейчас отошел уже и появилась мысля вставить в "юзера" позывные "бета тестировщиков". Уж себя-то они наверное не обидели B) . Окончательно настроение поправил Валерий Федотович, который принимал участие в нашем мемориальном тесте "Вспомним друзей ушедших". Я впервые услышал его голос и даже провел с ним SSB связи во всех четырех турах :woohoo: !
Да, конечно никакой симулятор живого эфира не заменит. Но программа классная и ее ярлык занял постоянное место на "рабочем столе" моего компа! Дима, спасибо огромное! Надеюсь в следующих релизах появится регулировка скорости, обильный выбор(с возможностью отключения) всяких помех ну и все наши популярные игры конечно.
С Днем Победы, друзья!!!
Последнее редактирование: 09 Май 2013 00:32 от UT5NM.
Администратор запретил публиковать записи.

QRPSim - симулятор контестов 09 Май 2013 00:34 #15405

  • ur4mck
  • ( Администратор )
  • ur4mck аватар
  • Вне сайта
  • Сообщений: 915
  • Репутация: 87
Серега, спасибо большое за отзыв! Особенно TNX за скриншот. Оказывается с другим оформлением окон появляются косяки в отображении. Например, у тебя в TOP5 появились полосы прокрутки, чего не должно было быть, а также текст кое-где не вмещается на кнопках F1-F10. Мелочи, но неприятно. Наверно стоит бросить wxWidgets и перейти на радной для ОС API...

Как из программы переключить раскладку я пока не знаю. Да и сомневаюсь, что это задача симулятора. Пользователю виднее когда ее переключить. Помните ведь, что в реальной "Охоте" иногда звучат имена на русском ("Женя", "Юра"). А когда захочется потренероваться на симуляторе в "Юстаса", то там все шифровки на русском.

Как удобно пронумеровать шкалу? Там и так мало места. Крупные деления - килогерцовые, мелкие - по 500 Гц. Мельче уже некуда, текст будет перекрывать сигналы. Сделать как в MixW? Но там ведь водопад масштабируемый и может занимать хоть всю ширину экрана. А люди уже хотят версию QRPSim для планшетников, там экраны маленькие.

Длина "водопада" по горизонтали равна 512 точек и только потому, что это результат 1024-точечного FFT. Другой вариант или слишком большой (1024) или слишком маленький(256). А масштабирование увеличит нагрузку на проц. В общем, на этот счет я пока не знаю ответ.

Серега, поясни эту последовательность:
CALL -> RSTr -> RSTs -> NRr
Как RSTs затисался внутрь принимаемой информации?
Сейчас последовательность по ENTER задается так:
Если в режиме поиска, то сначала надо принять инфо для себя, а потом передать свою и получить подтверждение.
Если в режиме CQ, то после ответа сразу передается своя инфо, а потом принимается от корреспондента, затем обязательные подтверждения.
Если использовать функциональные клавишм, то можно передавать в эфир что угодни и в какой угодно последовательности. CW передатчик имеет буфер. Можно сразу понажимать несолько функциональных клавиш и текст отправится своим чередом.

Назначить "State reset" (или Wipe, как у тебя) на F12 проблем нет. Это вопрос привычки. Я опирался на опыт из лога UR5EQF и Morserunner. PAUSE в логе UR5EQF как раз переводит систему в начальное состояние, а функциональные кнопки F1-F8 полностью "содраны" из Morserunner. Долго я с ним игрался, очень привык. Уже в который раз приходим к мысли, что кнопки должны быть настраиваемыми. На вкус и цвет товарищей нет... Подумаю насчет key binding'а.

Да, боты сейчас слегка туповаты. Если ошибутся в позывном, то лучше не терять время и сразу сваливать с частоты. :) Научим их понимать повторы, "NIL" и "QSOB4", станут умнее. :) Есть еще одно, чего им не хватает: если две станции случайно будут давать CQ на одной частоте, то один из них подхватит позывной другого и попробует провести QSO, а второй этого не поймет, так как ожидает услышать в ответ на CQ не свой позывной, а чужой.

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

Серега RD9CX, вот твой приз за 1-е место :)

prize.jpg
Администратор запретил публиковать записи.
  • Страница:
  • 1
  • 2
  • 3
  • 4
Модераторы: RX3PR