Руководство версии 2.2 по программе JS8Call

За помощь в редактуре сырого перевода большое спасибо Александру R2ATO.

Если увидите недочёт перевода или ошибку, выделите мышкой это место в тексте и нажмите Alt + F4.


Программа JS8Call авторства Джордана Шерера KN4CRD

Руководство версии 2.2 от 25.06.2020

Программа JS8Call представляет собой эксперимент, объединяющий надёжность FT8 (режима слабых сигналов за авторством K1JT) с прослойкой в виде обменного и сетевого протокола – и всё это для связи посредством слабых сигналов. Программное обеспечение с открытым исходным кодом создано для объединения радиолюбителей, работающих в условиях слабых сигналов, и позволяет обмен текстовыми сообщениями в реальном времени, обмен сообщениями с хранением и пересылкой, и автоматические отклики станций. JS8Call в значительной степени вдохновлена программами WSJT-X, Fldigi и FSQCall, и не появилась бы на свет без тяжкого труда и самоотдачи многих разработчиков из радиолюбительского сообщества.

JS8Call стоит на плечах великанов… отсюда более выгодный угол излучения.

Прочитайте больше об отправных точках разработки здесь – https://github.com/jsherer/ft8call

Объявления и обсуждения разработки здесь – https://groups.io/g/js8call

Хронология

  • 6 июля 2017 – идея изменения протокола FT8 для поддержки длительных связей высказана Джорданом KN4CRD и отправлена в рассылку по программе WSJT-X
  • 31 августа 2017 – Джордан KN4CRD провёл небольшую разработку и модифицировал программу WSJT-X с целью поддержки длительных связей с использованием существующего протокола FT8. Он присылает видеоролик с примером в рассылку по программе WSJT-X.
  • 8 января 2018 – Джордан KN4CRD начинает работу над программой длительных связей, построенной поверх протокола FT8, с переработанным интерфейсом.
  • 9 февраля 2018 – Джордан KN4CRD размещает в рассылке WSJT-X вопрос, желая узнать, есть ли интерес к его задумке.
  • 10 февраля 2018 – Джордан KN4CRD, Джулиан OH8STN, Джон N0JDS и объединение Portable Digital QRP group проводит эксперимент с использованием FSQ. Рождается идея программы FT8Call, объединяющей протокол FT8, длительные связи, и возможности FSQCall.
  • 11 февраля 2018 – Джордан KN4CRD задаёт вопрос о включении длительных сообщений в программу WSJT-X.
  • 12 февраля 2018 – Джо Тейлор K1JT пишет отрицательный ответ и прибавляет к нему следующее “пожалуйста, не воспринимайте мой комментарий как повод отказаться от продолжения вашего движения к чему-то новому”.
  • 4 марта 2018 – Джордан KN4CRD публикует дизайн-документ к программе FT8Call.
  • 6 июля 2018 – в группе разработки появляется версия 0.0.1 программы FT8Call.
  • 15 июля 2018 – опубликована версия 0.1 – дюжина тестеров.
  • 21 июля 2018 – опубликована версия 0.2 – 75 тестеров.
  • 27 июля 2018 – опубликована версия 0.3 – 150 тестеров.
  • 12 августа 2018 – опубликована версия 0.4 (с “утечкой” на форуме qrz.com) – 500 тестеров.
  • 2 сентября 2018 – опубликована версия 0.5 – 3000 тестеров.
  • 14 сентября 2018 – опубликована версия 0.6 – 5000 тестеров.
  • 8 октября 2018 – опубликована версия 0.7 – 6000 тестеров, название изменено на JS8 и JS8Call.
  • 31 октября 2018 – опубликована версия 0.8 – ~7000 тестеров.
  • 15 ноября 2018 – опубликована версия 0.9 – ~7500 тестеров.
  • 30 ноября 2018 – опубликована версия 0.10 – ~7800 тестеров.
  • 18 декабря 2018 – опубликована версия 0.11 – ~8200 тестеров.
  • 1 января 2019 – опубликована версия 0.12 – ~9000 тестеров.
  • 23 января 2019 – опубликована версия 0.13 – ~9250 тестеров.
  • 7 февраля 2019 – опубликована версия 0.14 – ~9600 тестеров.
  • 21 февраля 2019 – опубликована версия 1.0.0-RC1 – ~10000 тестеров.
  • 11 марта 2019 – опубликована версия 1.0.0-RC2 – >10000 тестеров.
  • 26 марта 2019 – опубликована версия 1.0.0-RC3 – >11000 тестеров.
  • 1 апреля 2019 – выпущена в общий доступ версия 1.0.0.
  • 6 июня 2019 – выпущена в общий доступ версия 1.1.0.
  • 29 ноября 2019 – выпущена в общий доступ версия 2.0.0 – введены скорости Быстрая и Турбо.
  • 22 декабря 2019 – выпущена в общий доступ версия 2.1.0 – введена скорость Медленная.
  • 30 июня 2020 – выпущена в общий доступ версия 2.2.0.

Напоминание

Программа JS8Call есть производная от приложения WSJT-X, переработанная и переделанная для передачи сообщений с использованием FSK-модуляции, именуемой JS8. Она не поддерживается группой разработчиков WSJT-X. Группа разработчиков WSJT-X сохраняет авторские права на изначальную работу и программный код, в то же время JS8Call является производной работой, лицензированной в соответствии с лицензией GPL v.3. Изменения исходного кода находятся в общественном доступе и расположены в соответствующем репозитории https://bitbucket.org/widefido/js8call/

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

Вы можете спросить… почему она называется JS8Call? Почему она переименована из FT8Call? Почему не что-то ещё, вроде BEACON или HF Messenger? Хороший вопрос! Она так названа в качестве отсылки к её происхождению:

  • JS8Call прежде называлась FT8Call;
  • JS8Call использует модуляцию JS8, разработанную Джорданом Шерером на основе 8-тоновой FSK. Это основа ВЧ-транспорта;
  • JS8Call располагает протоколом “адресного вызова”, наложенным поверх ВЧ транспорта, для поддержки обмена сообщениями в свободной форме и адресно.

Таким образом, JS8 + Directed Calling = JS8Call. И ещё раз, на всякий случай:

  • программа – JS8Call;
  • режим – JS8.

Загрузка и установка

В настоящее время JS8Call предлагается в ряде сборок:

  • настольный Linux (64-bit x86_64, deb)
  • настольный Linux (32-bit i386, deb)
  • Raspbian Stretch (armv7, deb)
  • Windows 10 (win32_64), в данный момент официально поддерживается только win10, но подтверждена работоспособность приложения на сборках вплоть до winXP;
  • Mac OSX 10.11+ (x86_64).

Исполняемые сборки доступны к загрузке здесь: http://files.js8call.com/latest.html

Конечно же, вы всегда можете посмотреть исходный код: https://bitbucket.org/widefido/js8call/

Начало работы

Синхронизация часов / координация
В приложении, как вы можете увидеть, текущее время сообщается вашим компьютером в формате UTC. Точная установка времени важна при работе с JS8Call, поскольку декодер действует в 15-секундном окне передачи. Ваши часы, отклоняясь более чем на 2 секунду от UTC, могут привести к ошибке декодирования сообщений вашей станцией. Лучше всего использовать интернет, протокол NTP или сигналы времени по GPS-сети, чтобы скоординировать ваши часы как можно лучше.

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

ВАЖНО: вам на самом деле не нужно точное синхронизированное время… достаточно синхронизированного до степени попадания в начало окна передачи (15, 10, или 6 секунд), плюс-минус две секунды. Многие операторы могут вручную синхронизировать время в их системе, опираясь на сигналы на водопаде и смещение времени, обозначаемое по каждой станции.

USB – только верхняя боковая полоса
Удостоверьтесь, что передатчик включён в режиме USB на каждом диапазоне. Если вы будете работать нижней боковой, то будете принимать вывернутые сигналы, которые не сможете декодировать.

Режим передачи
JS8 представляет собой сигнал с постоянной огибающей, с передачей отрезками по 12,6 секунд на обычной скорости. Из-за пауз между отрезками передачи, сообщения из нескольких кусков можно охарактеризовать как 84% передачи в 15-секундном окне (12,6 / 15 = 0,84) для обычной и медленной (25,28 / 30 = 0,84) скоростей, 79% для быстрой в 10-секундном окне (7,9 / 10 = 0,79), 65% для турбо в 6-секундном окне (3,95 / 6 = 0,653).

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

Уровни звука
Уровни звука на вход и на выход управляют тем, как вы передаёте и принимаете. Слишком много – и звук искажается. Слишком мало – и сбой модуляции/демодуляции. Настройка – важнейший шаг.

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

Вход и опция AGC
Для наилучшего декодирования желательно отключить AGC (либо переключить его на “быстрый”) и настроить ваш звук на входе настолько высоко, чтобы отображаемый уровень сигнала в приложении был примерно на уровне от 30 до 40 дБ. Предпочтительно поэкспериментировать с настройками, выясняя, что лучше подойдёт вашей станции, и для сильных сигналов – включить аттенюатор.

Ваша первая связь
(здесь будет пример QSO )
{см. в разделе “советы и хитрости” – прим. перев.}

Работа в программе JS8Call
Если вы ранее пользовались FSQ, Fldigi или WSJT-X, в JS8Call вы будете как дома. JS8Call использует промодулированные в режиме JS8 сообщения, разбивая длинные тексты на несколько циклов передачи с несколькими секундами тишины между “окнами”.

Вот что вы увидите, запустив приложение:

Режимы скорости
JS8Call версии 2.0 ввела две новых более быстрых скорости и в версии 2.1 появилась более медленная. Теперь доступно четыре скорости в модуляции JS8:

  • Медленная – 30-секундные окна – 25 Гц полоса пропускания – примерно 8 слов в минуту – порог декодирования до -28 dB;
  • Обычная – 15-секундные окна – 50 Гц полоса пропускания – примерно 16 слов в минуту – порог декодирования до -24 dB;
  • Быстрая – 10-секундные окна – 80 Гц полоса пропускания – примерно 24 слов в минуту – порог декодирования до -20 dB;
  • Турбо – 6-секундные окна – 160 Гц полоса пропускания – примерно 40 слов в минуту – порог декодирования до -18 dB;

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

Активность на диапазоне
Активность на диапазоне отображается слева. Активность позывных (позывные, услышанные вами) отображается справа. Правый щелчок мышью вызовет меню с возможностями сместить ваш разнос приёма-передачи на определённую звуковую частоту (QSY) и отправить определённые сообщения.

Активность позывных
В окошке Активность позывных, когда станция отвечает вам, рядом с её позывным отобразится звёздочка ★. Это позволяет с первого взгляда найти тех операторов, кто подтвердил, что слышит вас.
Когда станция ведёт общий вызов, рядом с её позывным в течение пяти минут будет отображаться значок телефона ☎. Это позволяет с первого взгляда найти тех, кто хочет провести связь.
Если станция оставила для вас сообщение, рядом с её позывным отобразится флажок ⚑. Вы можете прочитать это сообщение, щёлкнув по позывному правой кнопкой и выбрав пункт меню “Show Message Inbox”.
Расстояние и азимут на станцию рассчитываются по первым шести разрядам мэйденхедского QTH-локатора. Это приблизительно указывает на область на карте, а не конкретную точку. JS8Call поддерживает до 12 разрядов локатора для большей точности, но даже в этом случае данные будут приблизительными.

Водопад
Внизу окна программы находится водопад, отображающий сигналы в пределах вашей звуковой полосы пропускания. Вы можете щёлкнуть по водопаду, чтобы установить ваш звуковой разнос.
Есть также возможность сделать QSY на определённую частоту, установив центр вашего звукового разноса на середину полосового фильтра вашей радиостанции.
Открывая управление водопадом (View->Show Waterfall Controls), вы можете настроить отображение водопада, включить фильтрацию (ограничивая частоты, которые декодер будет пытаться раскодировать), и скоординировать время (смещая ваше местное время, чтобы соотнестись с другой станцией).

Сообщения
Жёлтое текстовое окно вверху отображает те сообщения, которые переданы на том же разносе частот, где находитесь и вы, а также сообщения, адресованные вам (сообщения, в которых есть ваш позывной).
Вы набираете текст в белом окне внизу, готовя сообщение к отправке.
Обычные ограничения FT8 по символам не действуют! Расширенный набор символов включает весь печатный ряд ASCII (A-Z 0-9 пробел ./?+-`~!@#$%^&*()_=[]{}|;’:”,<>), и Latin 1 (¡¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ). Структура сообщения подвергнута переменному кодированию, таким образом, наиболее часто используемые символы занимают наименьший объём, а редкие символы отправляются дольше.
По мере того, как вы набираете сообщение, вы видите, как на кнопке отправки показывается время, за которое сообщение будет отправлено. Всё, что вам нужно – щёлкнуть по этой кнопке (или нажать клавишу Enter), чтобы начать передавать в следующем интервале. Каждое окно передаётся один за другим, отображение времени на кнопке будет обновляться, показывая время, оставшееся до полной отправки сообщения. JS8Call версии 2.0 поддерживает набор текста наперёд, так что мы можете запустить отправку и продолжать печатать своё сообщение, по мере того, как оно отправляется окно за окном. Сообщения с исчисленной контрольной суммой, как сохранённые или переданные через посредника, не поддерживают набора текста наперёд.
Из-за этого особого переменного кодирования, сообщения из JS8Call не могут быть декодированы программой WSJT-X. Верно и обратное, сообщения из WSJT-X не могут быть декодированы JS8Call.

Виды сообщений
Сообщения бывают трёх разновидностей:

  • стандартные сообщения программы JS8Call в свободной текстовой форме
  • неадресные сообщения программы JS8Call
  • адресные сообщения программы JS8Call

Стандартные сообщения
Стандартные сообщения представляют собой сообщения в свободной текстовой форме, которые не начинаются с позывного или адресной команды. Эти сообщения отображаются у других станций только в том случае, если они установят частоту своего приёма в пределах 10 Гц от частоты вашей передачи. Такая работа схожа с обычным обменом сообщениями в реальном времени в других цифровых режимах, таких, как Olivia, RTTY, или PSK.

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

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

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

Адресные сообщения для вас (и для @ALLCALL) отображаются в верхнем окне приёма.
Когда идёт процесс приёма адресного сообщения (т.е. после того, как принято первое адресное окно), ваша станция не отвечает автоматически на команды (даже когда настройка AUTO включена), пока данное сообщение не будет принято либо не пройдёт достаточно времени, чтобы перестать ожидать (одна минута после последнего принятого фрейма).

Групповые сообщения
Адресные групповые сообщения представляют собой особым образом отформатированные сообщения в программе JS8Call, которые адресуют вас посредством общего вызова CQ или проверок связи Heartbeats (HB) к групповым позывным @ALLCALL и @HB. Они адресованы к групповому получателю, но в целом не к отдельной станции.

Позывной @ALLCALL
Существует групповой позывной “@ALLCALL”, который используется, чтобы адресовать своё сообщение ко всем, кто может его услышать. Пример:
@ALLCALL HELLO NET PSE QSY 14300
Будет декодирован как:
KN4CRD: @ALLCALL HELLO NET PSE QSY 14300

Групповые позывные
Групповые позывные – настраиваемый вид циркулярных позывных, начинающихся с префикса @ и включающих в себя до восьми буквенно-цифровых символов (A-Z, 0-9).
В формальном выражении это выглядит так:
[@][A-Z0-9\/]{0,3}[\/]?[A-Z0-9\/]{0,3}[\/]?[A-Z0-9\/]{0,3}

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

Например, я (Джордан Шерер KN4CRD) состою в группе ARES штата Джорджии и хочу отправить сообщение участникам группы, поэтому я отправляю:
KN4CRD: @ARESGA QSL?

Позывной группы срабатывает [для её участников] так же, как @ALLCALL. Каждый, кто добавил группу @ARESGA себе в настройки, увидит у себя на экране сообщение. Если бы вместо этого я набрал
KN4CRD: @ARESGA SNR?

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

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

• Группы по континентам DX
◦ @DX/NA
◦ @DX/SA
◦ @DX/EU
◦ @DX/AS
◦ @DX/AF
◦ @DX/OC
◦ @DX/AN
• Группы по регионам ITU
◦ @REGION/1
◦ @REGION/2
◦ @REGION/3
• Абстрактные группы
◦ @GROUP/0
◦ @GROUP/1

◦ @GROUP/9
• Группы радиосетей
◦ @COMMAND
◦ @CONTROL
◦ @NTS
◦ @NET
• Особые группы
◦ @JS8NET
◦ @APRSIS
◦ @RAGCHEW
◦ @JS8
◦ @EMCOMM
◦ @ARES
◦ @MARS
◦ @AMRRON
◦ @RACES
◦ @RAYNET
◦ @RADAR
◦ @SKYWARN
◦ @CQ
◦ @HB
◦ @QSO
◦ @QSOPARTY
◦ @CONTEST
◦ @FIELDDAY
◦ @SOTA
◦ @IOTA
◦ @POTA
◦ @QRP
◦ @QRO

Группы @JS8NET и @APRSIS
Присутствуют две “особые” группы для анонсирования. Когда наблюдающие станции получают сообщения для этих групп @JS8NET и @APRSIS, сообщения публикуются на сервере анонсирования JS8NET для обработки. Это позволяет использовать специализированные возможности для обращения с такими сообщениями. Эти группы не стандартные, так что вы не можете их добавить в свой список групп для обычной групповой обработки. Однако, вы можете отправлять сообщения этим группам напрямую (набирать их в ваших исходящих сообщениях, сохранять в сохранённых сообщениях и др.).

Группа @APRSIS представляет собой экспериментальную функцию, позволяющую сообщениям APRS появляться в шлюзе APRS-IS. Доступны две команды, GRID для привязки вашего позывного к определённому местоположению и CMD для отправки “сырой” APRS-посылки.

Например, любая станция, принявшая моё сообщение:
KN4CRD: @APRSIS GRID FN04TV53

отправит это в JS8NET и покажет мой позывной с этим местоположением в сети APRS. Вы сможете затем запросить эту отметку в APRS-клиенте, например, https://aprs.fi.

Чтобы отправить “сырой” код (скажем, прямое сообщение APRS для SMSGTE), мы наберём:

KN4CRD: @APRSIS CMD :SMSGTE :@5551212 TEST

Всё после команды CMD перенаправляется в посылку APRS, например:

KN4CRD>APZJS8,qAS,KN4CRD::SMSGTE :@5551212 TEST

Адресные команды

Существуют особые адресные сообщения, которые вы можете отправить станциям, чтобы они ответили вам автоматически, если у них включена настройка AUTO. Они сочетаются следующим образом – [позывной][команда].

SNR? – каков ваш рапорт мне?
GRID? – каков ваш qth-локатор?
INFO? – какова ваша информация о станции?
STATUS? – каково статус-сообщение вашей станции?
HEARING? – какие станции услышаны вами?
>[MESSAGE] – пожалуйста, перешлите это сообщение по его назначению
когда сообщение будет получено полностью, станция-получатель отправит подтверждающее сообщение ACK
допустимо, чтобы сообщение было передано конечному получателю через несколько станций-посредников, с помощью указания нескольких позывных в сообщении:
KN4CRD>HELLO! – отправит сообщение для KN4CRD
KN4CRD>DR4CNK>HELLO! – отправит сообщение для DR4CNK через посредничество KN4CRD
KN4CRD>DR4CNK>J0Y>HELLO! – отправить сообщение для J0Y через DR4CNK, предварительно через KN4CRD
Станции будут отвечать на команды, вложенные в пересланное сообщение (SNR, INFO, GRID, MSG, MSG TO: и др.) и будут отвечать, используя ту же самую цепочку посредников.
MSG [сообщение] – пожалуйста, сохраните и отобразите это сообщение у себя во входящих
Ваши входящие сообщения доступны по щелчку правой кнопкой мыши на позывном и выборе пункта меню “показать входящие”.
MSG TO: [позывной] [сообщение] – пожалуйста, сохраните это сообщение на своей станции для дальнейшей передачи на станцию [позывной].
Сохраняет сообщение для постоянного хранения (на диске) для дальнейшего просмотра командой ”QUERY MSG”.
[позывной] стоит первым словом после двоеточия и обозначает конечного получателя сообщения.
QUERY CALL [CALLSIGN]? – можете ли вы напрямую связаться с [позывной]?
Если станция может слышать станцию с указанным позывным, она ответит “YES” (“ДА”) и затем отправит ACK этому позывному с рапортом SNR.
QUERY MSG [ID] – пожалуйста, доставьте полное сообщение с идентификатором ID
QUERY MSGS – пожалуйста, доставьте все сообщения, которые вы сохранили для меня
Каждый ответ будет содержать ID самого старого сообщения, которое будет доставляться.
Чтобы получить текст сообщения, используйте команду QUERY MSG с идентификатором
AGN? – побудить станцию повторить последнее сообщение.
SNR – отправить рапорт
INFO – отправить информацию о станции
GRID – отправить qth-локатор (для анонсирования на карте с помощью PSKReporter и JS8NET)

Есть также ряд “коротких сообщений”, которые могут быть включены в адресное сообщение, передаваемое в цикле передачи с обычными (не циркулярными, не групповыми) позывными:
QSL? – приняли ли вы мою последнюю передачу?
QSL – я принял(-а) вашу последнюю передачу
YES – я подтверждаю ваш последний запрос
NO – я не подтверждаю ваш последний запрос
HW CPY? – как принимаете?
RR – понято, принято. Я принимаю.
FB – дела отличные
TU – спасибо
73 – посылаю вам наилучшие пожелания
SK – конец связи
DIT DIT – конец связи / два бита

Примеры сообщений

Если мы хотим узнать у DR4CNK информацию о его станции, мы напишем:
DR4CNK INFO?
И получим ответ адресным сообщением: “DR4CNK: KN4CRD INFO 50W VERT IN THE SOUTH OF FRANCE”, причём автоматически, если настройка AUTO была включена.

Если мы хотим передать сообщение “с посредником” для OH8STN через DR4CNK, мы используем команду для посредничества и напишем:
DR4CNK>OH8STN>HELLO JULIAN!
В ходе посредничества, на каждом шаге позывной изначального отправителя прикрепляется к сообщению
Когда вышеприведённая команда будет принята DR4CNK, он ответит отправкой ACK
Станция KN4 передаёт: KN4CRD: DR4CNK>OH8STN>HELLO JULIAN!
Станция DR4 посредничает: DR4CNK: OH8STN>HELLO JULIAN! DE KN4CRD

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

Входящие – хранение и получение сообщений

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

MSG TO:[CALLSIGN] [MESSAGE] – сохраните это сообщение на промежуточной станции для передачи указанному позывному
QUERY MSGS – запрос сообщений, сохранённых для передачи на ваш позывной
QUERY MSG [ID] – запрос конкретного сообщения, сохранённого для передачи на ваш позывной

Здесь будут примеры
предстоит сделать

AUTO – автоматические ответы

Когда настройка AUTO включена, программа будет автоматически отвечать на адресные запросы, такие, как “SNR?”, “INFO?”, and “GRID?”. Когда настройка AUTO отключена, программа будет подготавливать ответы на адресные запросы в поле ввода для последующей отправки их вами вручную.
Если вы пожелаете участвовать в автоматическом обмене сообщениями, но не желаете посредничать при передаче сообщений, вы можете отключить посредничество в настройках, оставив автоматические отклики включёнными.

LOG – журнал станции

В главном меню приложения присутствует пункт, касающийся журнала. Также вы можете нажать F5, чтобы начать ввод записи журнала. Программа будет очень стараться заранее заполнить как можно больше полей. Однако, вы, вероятно, захотите часть сведений внести вручную, поскольку двусторонние связи проводятся в свободной форме и не автоматизированы.
Журнал хранится в файлах JS8Call.log и JS8Call.adif в папке журнала (которую вы можете найти, щёлкнув в главном меню пункты “File -> Open log directory”).
В настоящее время в журнал программы JS8Call заносится каждый контакт, в соответствии с настройками ADIF, как режим MFSK и под-режим JS8. Также есть настройка, позволяющая вносить в журнал связи как цифровые (DATA) вместо MFSK/JS8.
Позывной однажды внесённой в журнал станции по умолчанию автоматически не будет выделяться, однако, это можно изменить в настройках.

SPOT – анонсирование позывного

Когда настройка SPOT включена, программа JS8Call будет сообщать об услышанных вами позывных (или ваш позывной, услышанный другими станциями) на сайт PSKReporter с примечанием, что это режим JS8Call.
JS8Call также будет анонсировать команды GRID из шести и блее знаков. Убедитесь, что указали свой локатор с точностью 6-12 знаков для более точного указания. Вы можете найти подробности своего местоположения, например на этой карте: http://k7fry.com/grid/ Если вам известны широта-долгота, вы также можете перевести их в квадраты локатора с помощью скрипта http://www.jidanni.org/geo/maidenhead/

Heartbeat (HB) – проверки связи

В программе присутствует механизм, который передаёт через регулярные интервалы сигналы-”пульсации”. Вы можете включить его в меню “Enable Heartbeat Networking”. Соответствующая кнопка появится после этого внизу слева основного окна. Эта автоматическая посылка будет передавать ваш локатор в сеть пульсаций (адресуя групповому позывному @HB):
KN4CRD: @HB HEARTBEAT EM73 ♢
Интервал, через который передаются пульсации, может быть изменён в меню настроек или правым щелчком по соответствующей кнопке. Все пульсации передаются в случайной (неиспользуемой) полосе в пределах 500-1000 Гц во избежание QRM. В настройках есть возможность разрешить пульсации где угодно… что особенно полезно на низкочастотных диапазонах, таких, как 160 и 630 метров.
Когда у вас включена настройка AUTO и вы выбрали “отсылать подверждения проверок связи”, ваша станция будет отправлять ответ ACK, чтобы дать знать другим операторам, что вы слышите их. Это в сущности “проверка связи на минималках”, при этом ваш период до следующей пульсации будет обнуляться.
Назначение проверок связи не в выяснении прохождения, а в том, чтобы увеличить активность по позывным (колонка услышанных станций в правой части окна программы), так вы знаете, кто вероятно доступен для контакта.Вы не можете сработать с ними, если вы не “слышите” их (или они не могут слышать вас).
Помните, однако, что проверки связи не созданы, чтобы завязать разговор. Когда вы включаете пульсации, вы “присоединяетесь” к сети проверок связи. Эта сеть позволяет спланировать посредничество и отправку сообщений для хранения на промежуточных станциях. Рассматривайте пульсации и ответы на них как способ построить топологию сети и посредников как способ послать по этой сети собщения, которые будут прочитаны позже (что-то вроде телефонных сообщений SMS).
В ходе проверок связи, если станция располагает сообщением к доставке для другой станции, которая проводит пульсацию, первая станция объявит об этом в сообщении HEARTBEAT SNR, например:
KN4CRD: KM4ACK HEARTBEAT SNR -12 MSG 32 ♢
Затем эти сообщения возможно получить через адресную команду “QUERY MSG”:
KM4ACK: KN4CRD QUERY MSG 32
В ходе проведения двусторонней связи (т.е. когда вы принимаете передачу, отображаемую в вашем окне входящих сообщений), период пульсаций будет обнуляться, чтобы ваша станция не вносила помех в вашу же связь.
Также учтите, что автоматические включения на передачу могут идти вразрез с вашим законодательством. Для наибольшего спокойствия лучше отправлять автоматические проверки связи только когда вы присутствуете у станции. В настройках мы можете выбрать таймер простоя, который отключит автоматические пульсации через определённое время после того, как вы оставите свою станцию без присмотра (нет обращений к клавиатуре и мыши).
Примечание: проверки связи намеренно ограничены медленной, обычной и быстрой скоростями для рационального использования полосы пропускания и улучшенной совместимости в сети проверок связи.

CQ – работа на общий вызов

Обычно общий вызов осуществляется с помощью сообщения “CQ CQ CQ”. Это настроено по умолчанию. Стоит отметить, однако, что вы можете изменить это сообщение в настройках. В одном окне передачи могут быть переданы сообщения:

• CQ CQ CQ
• CQ CQ
• CQ
• CQ CONTEST
• CQ FIELD
• CQ FD
• CQ QRP
• CQ DX

Используя один из этих форматов, мы можете добавить к нему четырёхзначный локатор, всё это будет отправлено в одном окне передачи, например:

• CQ CQ CQ EM73
• CQ CQ BB88
• CQ CC77
• CQ CONTEST FN04
• CQ FIELD AB01
• CQ FD CN01
• CQ QRP JO42
• CQ DX GC28

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

• CQ QRP 500MW CQ?

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

Ответ на общий вызов

Обычный способ ответа на общий вызов – сообщение “HW CPY?” Это позволяет вызывающему выбирать, с кем связываться и кому отправлять рапорт. Вы можете изменить это сообщение с ответом, однако учитывайте, что большинство станций будут отвечать сообщением, укладывающимся в одну 15-секундную передачу. Вот пример обмена:

◦ →KN4CRD: CQ QRP EM73 ♢
◦ ←DR4CNK: KN4CRD HW CPY? ♢
◦ →KN4CRD: DR4CNK SNR -12 TU 4 CALL QSL? ♢
◦ ←DR4CNK: KN4CRD RR -22 FB INTO GO28 GUD QRP DX! ♢

Настройки

Общие (станция и поведение)

предстоит сделать

Радиостанция (управление CAT и PTT)

В программе присутствуют развитые настройки управления радиостанцией, именуемые PTT Command. Это позволяет программе JS8Call выполнять внешний скрипт, управляющий включением радиостанции на передачу:

Эта настройка позволяет вам выполнять любой скрипт командной строки, управляющий кнопкой PTT вашей радиостанции.

В примере выше, скрипт toggle-ptt вызывается с параметрами -p 17 и -s на передачу. Элемент %1 в этой команде будет заменён на “on” или “off” в зависимости от состояния PTT. Если вы не добавите %1 в свою команду, то “on” и “off” будет добавлено в конце команды для вызова.

Пример: если вы назначите своё управление PTT на “/usr/bin/ptt %1”, то, когда программа начнёт передачу, будет выполнено “/usr/bin/ptt “on””, и когда ппограмма закончит передачу, будет выполнено “/usr/bin/ptt “off””.

Это особенно полезно при использовании Raspberry Pi / DRAWS, когда для управления PTT используются порты GPIO. Пример можно найти здесь: https://gist.github.com/jsherer/dd09895ab23bdf571e2117cdd814c198

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

Для наилучшего декодирования при настройке звуковых устройств необходимо правильно выбрать уровни ввода/вывода:

1) Убедитесь, что на выбранной для ввода звуковой карте не включено усиление по микрофону. Обычно это устанавливается на уровне операционной системы. Установите ввод на 100%.
2) Настройтесь на тихую часть диапазона, где нет сигналов.
3) Установите усиление по НЧ вашей радиостанции на максимум.
4) Начинайте подстраивать усиление по ВЧ вашей радиостанции до такой степени, чтобы S-метр только-только отклонялся от нуля.
5) Если регулировки усиления по ВЧ недостаточно для того, чтобы снизить показания S-метра, примените аттенюатор. Это обычно дело на шумном диапазоне или при наличии помех. Большинство аттенюаторов отнимают -10/-15 дБ сигнала, так что обычно вам потребуется только немного притронуться к усилению по ВЧ, чтобы настроиться.
6) Если этих подстроек всё ещё недостаточно, видимо, вы работаете в условиях действительно сильных помех. Вам потребуется удача, чтобы подстройкой усиления по НЧ снизить уровни по входу до 30-60 дБ по измерителю в программе.

1 – мало, 2 – в самый раз, 3 – много

Репортинг (анонсирование и API)

предстоит сделать

Частоты (вызывные частоты на диапазонах)

Большинство пользователей приложения можно встретить в пределах плюс-минус 4-8 кГц от обычных частот для связи режимом FT8. Важно избегать вставать точно на частоты FT8, т.к. это может запутать пользователей программы WSJT-X. Вот перечень предлагаемых частот:

  • 160 м – 1,842 МГц (2 кГц выше FT8)
  • 80 м – 3,578 МГц (5 кГц выше FT8)
  • 40 м – 7,078 МГц (4 кГц выше FT8)
  • 30 м – 10,130 МГц (6 кГц ниже FT8)
  • 20 м – 14,078 МГц (4 кГц выше FT8)
  • 17 м – 18,104 МГц (4 кГц выше FT8)
  • 15 м – 21,078 МГц (4 кГц выше FT8)
  • 12 м – 24,922 МГц (9 кГц выше FT8)
  • 10 м – 28,078 МГц (4 кГц выше FT8)
  • 6 м – 50,318 МГц (5 кГц выше FT8)
  • 2 м – 144,178 МГц (4 кГц выше FT8)

Можно заметить, что часть из них очень близко к частотам JT9. Не хватайтесь за вилы! Программа JS8Call не допускает передачи в нижних 500 кГц полосы пропускания. Места хватит для 25 одновременно передаваемых сигналов JT9.

Также можно заметить, что несколько диапазонов не упомянуты в этом списке. Для 2200 м, 630 м, 60 м и выше 2 м рекомендованных вызывных частот нет, поскольку нередко это особые случаи и по-разному регламентируются разными правовыми инстанциями. На усмотрение оператора остаётся наилучшая частота и режим работы на этих диапазонах.

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

Вы МОЖЕТЕ передавать на любой частоте. Программа JS8Call не ограничивает вас в том, куда вручную настроиться и включиться на передачу.

Вы можете использовать список рассылки groups.io, чтобы согласовать с операторами другие частоты для проб.

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

Если вы захотите добавить собственные частоты в JS8Call, это можно сделать в настройках.

Если вы захотите сбросить частоты на список по умолчанию, сделайте щелчок правой кнопкой мыши на окошке частот и выберите в выпадающем меню Reset.

Сохранённые сообщения (макросы)

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

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

• <MYCALL>   - мой позывной
• <MYGRID4>  - мой 4-значный локатор
• <MYGRID12>  - мой локатор до 12 знаков
• <MYINFO>    - сообщение с информацией о моей станции
• <MYCQ>      - мой общий вызов
• <MYHB>      - моё сообщение проверки связи
• <MYREPLY>   - мой сообщение-ответ
• <MYSTATUS>  - мой сообщение статуса станции
• <MYVERSION> - моя версия JS8Call 
• <MYIDLE>    - время простоя моей станции (бездействие клавиатуры/мыши)
• <CALL>      - выбранный позывной
• <SNR>       - рапорт для выбранного позывного
• <TDELTA>    - разница во времени с выбранным позывным

Эти макросы применяются к настроенным сообщениям, таким как общий вызов, ответ, INFO и др.

Уведомления (звуковые сигналы)

предстоит сделать

Интерфейс пользователя (изменение цветов и шрифтов)

предстоит сделать

Советы и хитрости

Будьте достойными людьми… если вы видите общий вызов, ответьте на него прежде, чем звать самому.
Если вы не слышите общего вызова, дайте общий вызов!

Пример двусторонней связи:

    ◦ →KN4CRD: CQCQCQ EM73 ♢
    ◦ ←DR4CNK: KN4CRD SNR +01 GOOD SIGNAL ♢
    ◦ →KN4CRD: DR4CNK SNR -12 TU 4 CALL RIG IS KX2 5W DIPOLE ♢
    ◦ ←DR4CNK: KN4CRD RR -22 FB KX3 100W VERT ♢
    ◦ →KN4CRD: DR4CNK RR FB REALLY ENJOYING THE CHAT MODE WITH LONG MESSAGES. BUT HEY LET’S TRY A RELAY ♢
    ◦ … (and on, and on, if you want)
    ◦ →KN4CRD: DR4CNK 73 ♢
    ◦ →KN4CRD: @ALLCALL QRZ? ♢

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

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

Адресные сообщения содержат столько же данных, сколько стандартные окна передачи режима FT8. Нижеследующие примеры все занимают один цикл передачи:

KN4CRD/P: CQCQCQ EM73 (1 окно передачи)
VE3/KN4CRD: CQ QRP EM73 (1 окно передачи)
KN4CRD: @ALLCALL? (1 окно передачи)
DR4CNK: KN4CRD SNR +15 (1 окно передачи)
DR4CNK: KN4CRD AGN? (1 окно передачи)

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

    ◦ DR4CNK: KN4CRD HW CPY?
    ◦ DR4CNK: KN4CRD SNR +12
    ◦ DR4CNK: KN4CRD YES
    ◦ DR4CNK: KN4CRD NO
    ◦ DR4CNK: KN4CRD RR
    ◦ DR4CNK: KN4CRD 73
    ◦ DR4CNK: KN4CRD HELLO MY FRIEND GREAT TO HEAR YOU!

Вы можете передавать свободный текст в любой момент! Этим и вдохновлялись создатели программы:
HI JIM TU 4 CALL UR -12 INTO ATLANTA BTU DE KN4CRD (4 окна передачи)

Может оказаться полезным изучить несколько сокращений, применяемых в телеграфе и PSK31:

https://en.wikipedia.org/wiki/Prosigns_for_Morse_code

http://www.hamblog.co.uk/common-psk31-abbreviations/

Примеры:
• K – приём
• BTU – вам слово
• FB – дела отличные
• HW? – как принимаете?

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

  • Скажем, мы передаём “поздравления и наилучшие пожелания дружище”. Это будет сжато до 67 (если писать на английском языке – прим. перев.) битов, на 20 слов в минуту и по 1,76 бита на знак в одном окне передачи.
  • Но, скажем, мы хотим намудрить и пытаемся сократить текст, чтоб передать его быстрее – “пздравля нлчш пжлня дружщ”. Это будет короче по знакам, но будет сжато до 122 (на английском языке) битов, на 10 слов в минуту и по 5,08 бита на знак. Это почти в два раза больше битов и, ясное дело, в два раза больше циклов передачи.

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

Часто задаваемые вопросы

Что считать двусторонней связью в режиме JS8?

  • Радиолюбительская связь – это двусторонний обмен информацией между двумя станциями
  • Однако, связь – это то, во что вы её сами превращаете. Это может быть минимальный обмен информацией, это может быть часовая беседа. Если связь устанавливается ради награды или в соревновании, есть правила, что считать действительной связью.
  • Ваш позывной, рапорт о сигнале, имя, местоположение, подробности о станции, погода и т.п. – подходящие предметы разговора.
  • Учитывайте, что свободная форма общения текстом в режиме JS8 собственно и представляет собой его ценность. Вы можете обмениваться любой информацией в ходе вашей связи. Если вы обмениваетесь только рапортом и локатором, наверное, FT8 вам подойдёт больше.

Что это за случайные три (или шесть) знаков в конце сообщения через посредника и подтверждения?

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

Вы говорите, что все печатаемые заглавные символы ASCII можно использовать. Занимает ли отправка одних больше времени, чем других?

  • Да. Знаки, отправляемые в сообщении, обработаны переменным кодированием от 3 до 19 битов в длину, опираясь на вероятность их упоминания в предложении. Более распространённые символы занимают меньше места, позволяя нам передавать в среднем более 13 знаков в одном цикле передачи.
  • Пример: пробел и буква E (латинская – прим. перев.), их можно отправить аж 22 раза в одной передаче. При этом символ фигурной скобки «{» займёт 14 битов, и в одной передаче их можно отправить только четыре. (Но в самом деле, как часто вы используете этот символ?)
  • Вот примеры фраз, которые могут быть переданы в одном 15-секундном цикле передачи:
    EEEEEEEEEEEEEEEEEEEEEE (22 знака)
    I HAVE EATEN A SHOE (20 слов в минуту)
    WHICH WAY TO OHIO (16 слов в минуту)
    NEVER HAVE I EVER (16 слов в минуту)
    TU UR 599 4A GA (20 слов в минуту)

Насколько быстро передаёт JS8Call?

  • JS8Call в обычном режиме использует такой же 15-секундный цикл передачи, как и FT8. Отличие в том, что в силу переменного кодирования символов JS8Call может передавать до 22 знаков в одном окне передачи. Для средних предложений, JS8Call упаковывает слова довольно плотно, около 15 слов в минуту.
  • Пример:
  • “WE HOLD THESE TRUTHS TO BE SELF-EVIDENT THAT ALL MEN ARE CREATED EQUAL THAT THEY ARE ENDOWED BY THEIR CREATOR WITH CERTAIN UNALIENABLE RIGHTS THAT AMONG THESE ARE LIFE LIBERTY AND THE PURSUIT OF HAPPINESS” – во фразе 35 слов, передача займёт 10 циклов (общей продолжительностью 2 минуты 30 секунд). Это примерно 14 слов в минуту.
  • “A SUCCESSFUL MAN IS ONE WHO CAN LAY A FIRM FOUNDATION WITH THE BRICKS OTHERS HAVE THROWN AT HIM” – во фразе 19 слов. Она займёт 5 циклов передачи (1 минута 15 секунд). Это более 15 слов в минуту.
  • “THIS IS A TEST OF JS8” – во фразе 6 слов и она будет передана за 1 цикл (15 секунд). Это 24 слова в минуту.
    Телеграфный код Морзе имеет приятный способ исчисления слов-в-минуту, замер количества переданных слов PARIS. В JS8Call слово PARIS кодируется в 17 битов (3,4 бита на знак). Какждый цикл передачи может вместить до 69 знаковых битов. Это равняется примрено 16 слов в минуту. (69/17=4.05 words / (15 seconds * 4))
    Программа отображает это на экране:

Не слишком ли медленная скорость для разговора 10-20 слов в минуту?

  • Если прохождение достаточно хорошее для более быстрого режима, используйте его! Но в неблагоприятных условиях, которые мы ощущаем на минимуме солнечной активности, JS8Call, пожалуй, наиболее подходящий.
  • Это может ощущаться довольно замедленным (да так и есть, если сравнивать с речью). Однако, модуляция FT8 способна (теоретически) декодировать до -24 Дб ниже уровня шума в полосе 2500 Гц. Немногие режимы могут таким похвастаться, особенно передающие на более высокой скорости. Что это означает? JS8Call может работать тогда, когда другие – нет.
  • Мы считаем, что лучше связываться медленно, чем вообще не иметь связи.

Что такое Соревнования Посредничества JS8Call?

  • Это дружеское состязание по наибольшему числу континентов, через которые участник может передать сообщение с использованием команды посредничества.
  • Мы награждаем первую команду операторов, которая сможет успешно передать с посредничеством сообщение с одного континента через три других континента и ответное подтверждение для исходной станции, используя JS8Call. Всё, что нужно – это прислать ваши журналы с каждой станции и по желанию фото/видео регистрацию ваших усилий.
  • Например, вот какими моугт быть исходящее и входящее сообщения:
    KN4CRD>LB9YH>VK1MIC QSL?
    VK1MIC>LB9YH>KN4CRD QSL

Не нарушает ли режим проверок связи правил FCC 97.221 об автоматических цифровых станциях в США?

  • Для операторов в США, вот ссылка на правила: http://www.arrl.org/part-97-text
  • Имейте в виду: управляющий оператор в ответе за работу станции. Программа прилагает возможные усилия к тому, чтобы при работе присутствовал оператор (пульсации по умолчанию отключены, встроена функция сторожевого таймера и т.д.) На усмотрение оператора оставлено слежение за соблюдением установленных правил.
  • Имейте в виду: ответы на адресные запросы от не-автоматических станций подпадают под исключение §97.221.C.1.
  • Операторам рекомендуется отключать пульсации проверок связи, когда они не находятся за управлением станцией. Но операторы могут спокойно оставлять включённой настройку AUTO, пока они не у станции, поскольку их станций будут только отвечать на запросы от не-автоматических станций.

Нарушают ли передачи через посредника правила FCC 97.113.d в США?

  • Для операторов в США, вот ссылка на правила: http://www.arrl.org/part-97-text
  • Дополнительная информация: ретрансляторы (определение 40) есть станции, которые переизлучают радиосигнал одновременно на другой частоте; системы пересылки сообщений (определение 32) разрешены в FCC 97.219.
  • Посреднические передачи JS8 не являются автоматическим переизлучением сигнала на той же либо иной частоте. Такие действия сделали бы её ретранслятором.
    Вместо этого JS8Call действует как система пересылки сообщений, создавая новое сообщение, которое будет передано посредством нового радиосигнала. Этот новый сигнал включает исходное сообщение, контрольную сумму сообщения, и путь посредничество до исходной станции.

Почему моя станция не отвечает на @ALLCALL?

  • Предыдущая версия JS8Call (FT8Call) включала адресное сообщение “@ALLCALL?”, на которую станции автоматически отвечали рапортом. Это было убрано, начиная с версии 0.7 JS8Call, пульсациями и подтверждениями. Станции больше не будут отвечать на запрос “@ALLCALL?”
  • Сходный запрос можно выполнить, передав: “@ALLCALL QUERY CALL [callsign]?”

Почему моя станция не отправляет подтверждений (ACK) на проверки связи (HB) других станций?

  • Вам нужно включить подтверждения пульсаций и включить настройку AUTO, чтобы подтверждать запросы других станций. Порядок действий таков: включить AUTO; щёлкнуть правой кнопкой на HB и выбрать в выпадающем меню “Send Heartbeat Acknowledgements”; теперь ваша станция будет подтверждать пульсации других станций.

Могу ли я запустить несколько копий программы JS8Call?

  • Да! С помощью флага -r/–rig-name в командной строке вы можете задать каждой копии отдельное имя. Это создаёт отдельный каталог для конфигурации и журналов, так вы можете использовать несколько радиостанций одновременно.
  • Вы можете это сделать, запустив js8call из командной строки с таким параметром, например, js8call –rig-name FT817.
  • Или же в Windows вы можете создать ярлык для каждого отдельного имени-конфигурации.
  • Создайте ярлык для JS8Call на рабочем столе, щёлкните на нём правой кнопкой мыши вы выберите “свойства”; на вкладке “общие” отредактируйте имя ярлыка, например, “JS8Call FT817”; на вкладке “ярлык” дополните команду, добавив после .exe пробел и –rig-name=FT817 (замените FT817 на уникальное имя вашей радиостанции); получится нечто вроде “C:\Program Files (x86)\js8call\bin\js8call.exe” –rig-name=FT817

Могу ли я с помощью групповых позывных вести радиосеть?

  • Да! Вы можете это сделать, объявив, какой групповой позывной будет использовать ваша радиосеть. Если вы не хотите использовать оригинальный позывной, @NET сгодится.
  • Все станции-участники сети должны будут добавить групповой позывной в настройки своих программ.
  • Чтобы обеспечить отмечание станций в сети, вы можете отправить в группу команду SNR? И записывать ответившие станции как отметившиеся.

Что на самом деле означает чувствительность декодера?

  • Отличный вопрос. Настройка чувствительности декодера определяет, сколько времени будет порачено на декодирование во время цикла декодирования. Каждый уровень чувствительности меняет поведение декодера.
  • (1х) один проход декодера – декодер делает один проход, используя предполагаемое прохождение и пытается декодировать сигналы, которые сможет детектировать.
  • (2х) два прохода декодера – декодер отделяет сигналы, которые были декодированы в первых проход, и делает новую попытку.
  • (3х) три прохода декодера – декодер проводит три прохода с вычитанием, используя предполагаемое прохождение и зарегистрированную статистику.
  • (4х) четыре прохода декодера – декодер проводит четыре прохода с вычитанием, используя предполагаемое прохождение и зарегистрированную статистику.
  • ПРИМЕЧАНИЕ: вам нужно использовать низкую чувствительность, если у вас маломощный компьютер.
  • ПРИМЕЧАНИЕ: более высокие уровни чувствительности, использующие зарегистрированную статистику, имеют более высокую вероятность “ложного декодирования” (т.е. отображения шума, который вписывается в рисунок синхронизации и прошёл проверку на контрольную сумму). Если вы предпочитаете избежать ложных декодов, можете понизить чувствительность до 1х или 2х.

Мне нравится, что вы делаете. Есть ли у вас пейпал или патреон, чтобы я мог внести пожертвование в благодарность?

  • Я оценил ваш порыв! Я продолжаю работать над этим проектом как моим вкладом в радиолюбительство. Я не ищу вознаграждения в каком бы то ни было виде. Если вы чувствуете себя настолько обязанными, я бы оценил, если бы вы сделали пожертвование местной благотворительной инициативе по вашему выбору. Будь то Красный Крест, Армия Спасения, или даже местный радиоклуб. Они найдут этим деньгам гораздо лучшее применение!

Что думает о JS8Call Джо Тейлор K1JT и команда разработчиков WSJT-X?

  • Мы ничего не услышали от него/них, если хотите, спросите сами.
  • Однако, как вы можете прочесть в разделе “Хронология” в начале данного документа, я получил от Джо Тейлора уведомление прежде, чем открыть проект JS8Call в феврале 2018го.

Источник: https://sourceforge.net/p/wsjt/mailman/message/36224507/

Устранение неполадок

Если у вас проблемы, обращайтесь в беседу по адресу https://groups.io/g/JS8Call/chat/1423 либо напишите напрямую Джордану: kn4crd{at}gmail.com

Частые проблемы и их решение

JS8Call не работает на моей системе
Проверьте, что вы используете поддерживаемую операционную систему, что вы отключили все программы, которые могут использовать ваше звуковое устройство или помешать JS8Call использовать звуковое устройство… как агрессивный антивирус. Если вы используете Windows, и Windows Defender, вам придётся внести JS8Call в белый список или отключить Defender.

Я вижу сигналы на водопаде, но не могу их декодировать
Проверьте, что сигналы, которые вы видите, действительно сигналы JS8Call, а не FT8 (они несовместимы), убедитесь, что вы находитесь на частоте JS8Call. Проверьте, что вы используете верхнюю боковую (USB). Проверьте, что вы синхронизировали часы до пределов 2х секунд с UTC. Убедитесь, что у вас одновременно не запущена WSJT-X.

Я не вижу сигналов на водопаде
Проверьте входящее аудио на своей радиостанции. Проверьте, что аудио в программе JS8Call настроено правильно. Проверьте, что вы на частоте JS8Call. Учитывайте, что JS8Call находится в разработке и представлена в эфире довольно небольшим количеством операторов. В вашей досягаемости действительно может не быть никого. Обратитесь к PSKReporter для проверки, есть ли кто-то на диапазоне. Если вы всё ещё не видите [действительно наличествующих] сигналов:
1) у вас проблема с приёмом на радиостанции;
2) никто из операторов не работает на диапазоне, который вы просматриваете;
3) прохождение неблагожелательно настроено по отношению к вам.

ПРИМЕЧАНИЕ: помните, что JS8Call – не волшебство… мы всё ещё в воле ионосферы.

Моя радиостанция не передаёт
Проверьте исходящее аудио на своей радиостанции. Проверьте, что аудио в программе JS8Call настроено правильно. Отключите радио от компьютера и подключите выход к наушникам или динамикам. Попробуйте включиться на передачу, как вариант, с помощью кнопки TUNE в программе. Можете ли вы слышать тона? Если нет, значит, у вас проблема с аудио, если да, значит, проблема с трансивером. Убедитесь, что правильно настроено использование PTT или VOX. Вы можете проверить это в настройках. Клавиша PTT будет зелёной, если программа может включать трансивер на передачу. Если у вас работает звук в трансивере, но исходящего сигнала всё ещё нет, проверьте настройки станции по уровням цифрового усиления, усиления на передачу и микрофона. После этого, проверьте, работает ли станция вообще… переключитесь на модуляцию FM или CW и дайте несущую, чтобы убедиться, что передача есть.

Сообщения об ошибках

Вы можете отправлять сообщения об ошибках Джордану Шереру (KN4CRD) на kn4crd{at}gmail.com или присылать их на трекер: https://bitbucket.org/widefido/js8call/issues?status=new&status=open

Определение API

JS8Call использует JSON API поверх UDP и TCP. Более подробная документация будет представлена позже.

Техническая реализация

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

Модуляция

JS8Call использует модуляцию JS8 как основной транспорт данных. Будучи производной от WSJT-X, JS8Call во многом опирается на работу коллектива разработчиков WSJT-X, отражённую в режиме FT8.

СкоростьДлительность передачиСкорость, бод
Медленная25.28 секунд3.125 бод
Обычная12.64 секунд6.25 бод
Быстрая7.9 секунд10 бод
Турбо3.95 секунд20 бод

Обычная скорость ближе всего к FT8. Используется 3 блока по 7 тонов и ячейка Костаса размером 7х7 для синхронизации с поддержкой обратной совместимости.

При Быстрой, Турбо и Медленной скоростях используются 3 блока по 7 тонов, каждый блок реализует уникальную ячейку Костаса размером 7х7. Это позволяет обеспечить более точную синхронизацию.

Опираясь на полосу пропускания модуляции и коррекцию ошибок, при прочих равных при воздействии аддитивного белого гауссова шума (АБГШ):

  • Медленный на 3дБ чувствительнее, чем Обычный (+3дБ);
  • Быстрый на 2дБ менее чувствителен, чем Обычный (-2дБ);
  • Турбо на 3дБ менее чувствителен, чем Быстрый и на 6дБ менее чувствителен, чем Обычный (-6дБ).

Протокол

Протокол JS8Call расположен уровнем выше, чем основной транспорт. По большей части реализация опирается на описание разработки по адресу https://github.com/jsherer/ft8call с некоторыми отклонениями от исходного.

Сообщения в JS8Call передаются по интервалам (окнам), какждое окно принадлежит к одному из видов:
1 – проверка связи (пульсация)
2 – отрывок циркулярного позывного
3 – адресная команда циркулярного позывного
4 – адресная команда
5 – данные Хаффмана
6 – словарные данные

Далее, каждое окно включает флаг передачи, обозначающий его как:
1 – окно по умолчанию (любое окно)
2 – первое окно (первое окно передачи)
3 – последнее окно (последнее окно передачи)
4 – флаг – зарезервирован на будущее

И, наконец, есть особое кодирование для:
1 – позывных
2 – префиксов/суффиксов позывных
3 – рапортов о сигналах
4 – локаторов

Проверка связи
Окна пульсаций состоят из:

  • типа проверки связи (пульсация или общий вызов)
  • циркулярного позывного
  • локатора

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

  • позывной
  • четырёхзначный префикс или суффикс (A-Z 0-9)
  • локатор или числовое значение (рапорт или мощность)

Адресная команда циркулярного позывного
Адресные команды циркулярного позывного представляют собой особый случай отрывка циркулярного позывного, где числовое значение кодирует адресную команду, которую следует использовать в циркулярном адресном сообщении. Это половина двухоконной циркулярной (составной?) передачи. Адресные команды циркулярного позывного всегда представляют собой второе окно в двухоконной передаче, кодируя отрывок “куда” адресной команды с циркулярными позывными.
Окно включает:

  • позывной
  • четырёхзначный префикс или суффикс (A-Z 0-9)
  • адресную команду

Адресная команда
Стандартные позывные могут отправлять адресную команду в одном окне.
Окно включает:

  • позывной “откуда”
  • позывной “куда”
  • адресную команду
  • числовое значение

Данные
Окна данных есть костяк длинных сообщений в JS8Call. Это 75-битовые окна, использующие переменное кодирование для упаковки символьных данных в наиболее короткую передачу.
Окна данных есть двух видов:

  • Несжатые. Все биты использованы для символьных данных с использованием кода Хаффмана.
  • Сжатые. Символьные данные сжаты на уровне слов с использованием (s,c)-Dense Code.

Окна данных могут поневоле использовать блокнотные биты из-за переменного кодирования, используемого для упаковки символьных данных. Используется переменное кодирование, по сути изменённый код Хаффмана, представляющего наиболее распространённые символы (исходя из частоты их появления в большинстве текстов) в меньшем количестве битов, нежели менее распространённые символы, с возможностью переключения на альтернативные алфавиты.
Полностью модифицированный код Хаффмана приведён в приложении А. Таблица (s,c)-Dense Code включает 260 килобайт сжимаемых записей.

Позывные
Позывные кодированы в 28-битах, как описано в EME 2000 – http://www.ka9q.net/papers/eme-2000.ps.gz
Циркулярные позывные представляют 50-битовое кодирование 11 символов в формате [@A-Z0-9/][A-Z0-9/][A-Z0-9/][/][A-Z0-9/][A-Z0-9/][A-Z0-9/][/][A-Z0-9/][A-Z0-9/][A-Z0-9/]
Поскольку обычные позывные имеют 28 битов в длину, и циркулярные позывные 50-битовые по длине, а размер нагрузки только 75 бит, нет возможности передавать оба в одном окне. Поэтому, адресуясь к станции с циркулярным позывным, передача делится на два окна, с адресной командой, включённой в свободное место во втором окне.

Префикс/суффикс позывного
Префиксы и суффиксы – 4-значные буквенно-цифровые сочетания, кодированные в 21 бит с 1-битным флагом для обозначения, префикс ли это, или суффикс. Буквенно-цифровые значения могут быть кодированы в 5,25 бита (есть только 1 874 161 комбинация четырёхзначных буквенно-цифровых префикса/суффикса, что меньше, чем может быть отображено 21-битным числом: 221 = 2 097 152).

Локатор
Локатор кодируется в 15 бита, как описано здесь: http://physics.princeton.edu/pulsar/k1jt/wsjtx-doc/wsjtx-main-1.7.0.html#PROTOCOL_OVERVIEW

Планы на будущее

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

Есть много возможностей исследовать надёжный обмен сообщениями в будущем, включая:

  • Избирательный повторяющийся автоматический запрос на подтверждение: улучшение автоматических повторов окон при потерях в ходе передачи; избирательные повторы допускают меньше передач, чем текущий порядок с ручной командой “AGN?”.
  • Направление сообщений с хранением-и-пересылкой: автоматическая пересылка сохранённых сообщений с тем, чтобы переместить сообщение “ближе” к месту назначения.
  • Стойкое к разрывам и задержкам сетеобразование: использование вирусного дублирования для автоматического приближения сообщения к месту назначения по крайне обрывочным и замедленным путям.
  • Автоматическое направление с посредничеством: использование графа сети для рационального направления к месту назначения.
  • Проверка позывного: использование контрольной суммы с публичным ключом для проверки подлинности передаваемых сообщений.
  • Синхронизация без необходимости точной установки времени: это также устанит необходимость паузы между окнами

И многое другое!

Приложение А

Код Хаффмана:
Character code weighted by frequency
” ” “01”
“E” “100”
“T” “1101”
“A” “0011”
“O” “11111”
“I” “11100”
“N” “10111”
“S” “10100”
“H” “00011”
“R” “00000”
“D” “111011”
“L” “110011”
“C” “110001”
“U” “101101”
“M” “101011”
“W” “001011”
“F” “001001”
“G” “000101”
“Y” “000011”
“P” “1111011”
“B” “1111001”
“.” “1110100”
“V” “1100101”
“K” “1100100”
“-” “1100001”
“+” “1100000”
“?” “1011001”
“!” “1011000”
“\”” “1010101”
“X” “1010100”
“0” “0010101”
“J” “0010100”
“1” “0010001”
“Q” “0010000”
“2” “0001001”
“Z” “0001000”
“3” “0000101”
“5” “0000100”
“4” “11110101”
“9” “11110100”
“8” “11110001”
“6” “11110000”
“7” “11101011”
“/” “11101010”