img

JS8Call от KN4CRD
Руководство по эксплуатации.

2020-06-25 - v2.2


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

JS8Call стоит на плечах гигантов... там угол взлета лучше.


Источник: JS8Call Guide

Подробнее об оригинальном дизайне читайте здесь.

Для анонсов выпусков и обсуждения присоединитесь к списку рассылки JS8Call здесь: https://groups.io/g/js8Call .


img

История

  • 6 июля 2017  г. — Первоначальная идея использования модификации протокола FT8 для поддержки длинных QSO была разработана Джорданом, KN4CRD, и отправлена в список рассылки WSJT-X: https://sourceforge.net/p/wsjt . /почтальон/сообщение/35931540/
  • 31 августа 2017 г.  - Джордан, KN4CRD, немного доработал и модифицировал WSJT-X для поддержки длинных QSO с использованием существующего протокола FT8: https://sourceforge.net/p/wsjt/mailman/message/36020051/   Он отправил пример видео для группы WSJT-X: https://widefido.wistia.com/medias/7bb1uq62ga
  • 8 января 2018 г.  — Джордан, KN4CRD, начал работу над дизайном приложения для длинных QSO, построенного поверх FT8 с переработанным интерфейсом.
  • 9 февраля 2018 г. — Джордан, KN4CRD, отправил вопрос группе WSJT-X, чтобы узнать, есть ли интерес к реализации этой идеи: https://sourceforge.net/p/wsjt/mailman/message/36221549/
  • 10 февраля 2018 г.  — Джордан KN4CRD, Джулиан OH8STN, Джон N0JDS и группа Portable Digital QRP провели эксперимент с использованием FSQ. Так родилась идея FT8Call, объединяющего FT8, длинные QSO и функции, подобные FSQCall.
  • 11 февраля 2018 г.  — Джордан, KN4CRD, поинтересовался идеей интеграции длинных сообщений в WSJT-X: https://sourceforge.net/p/wsjt/mailman/message/36223372/
  • 12 февраля 2018 г. — Джо Тейлор, K1JT, написал в ответ: https://sourceforge.net/p/wsjt/mailman/message/36224507/  , сказав «нет» и «Пожалуйста, не позволяйте моему комментарию отбить у вас желание действовать так, как вы хотите, к чему-то новому».
  • 4 марта 2018 г.  — Джордан, KN4CRD, опубликовал дизайн-документ для FT8Call: https://github.com/jsherer/ft8call .
  • 6 июля 2018 г.  — Версия 0.0.1 FT8Call выпущена для группы разработчиков.
  • 15.07.2018  - Выпущена версия 0.1 - десяток тестировщиков
  • 21 июля 2018 г.  — выпущена версия 0.2 — 75 тестировщиков
  • 27 июля 2018 г.  - Выпущена версия 0.3 - 150 тестировщиков
  • 12 августа 2018 г.  — Выпущена версия 0.4 — ( «утекло» на QRZ ) — 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 — Представлены скорости Fast и Turbo!
  • 22 декабря 2019 г.  — Общедоступная версия 2.1.0 — Представлена ??медленная скорость!
  • 30 июня 2020 г.  — общедоступная версия 2.2.0

Уведомление

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

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

Вы можете спросить... почему это называется JS8Call ? Почему он был переименован из FT8Call? Почему бы не что-то другое, например, BACON или HF Messenger? Хороший вопрос! Он назван так как дань уважения своему наследию:

  • JS8Call ранее назывался FT8Call.
  • JS8Call использует специальную модуляцию FT8 под названием JS8 (Джордан Шерер разработал модуляцию 8-FSK). Это базовый транспорт РФ.
  • JS8Call имеет протокол «направленного вызова», наложенный поверх базового RF-транспорта для поддержки произвольной и направленной передачи сообщений.

Следовательно, JS8 + направленный вызов = JS8Call. И если вы этого не поняли:

  • Приложение: JS8Call
  • Режим: JS8

Скачать и установить

В настоящее время JS8Call  поставляется в различных сборках.

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

Двоичные загрузки доступны здесь: http://files.js8call.com/latest.html

Конечно, вы всегда можете посмотреть исходный код  !

Введение

Синхронизация часов / время

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

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

ПРИМЕЧАНИЕ. На самом деле вам не обязательно синхронизировать точное время... просто синхронизируйте его с началом окна передачи (15, 10 или 6 секунд), +/- 2 секунды. Многие операторы могут вручную синхронизировать свои системные часы на основе сигналов в водопаде и смещения времени, сообщаемого для каждой станции.

USB — только верхняя боковая полоса

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

Рабочий цикл

Модулятор 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), .

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

Уровни звука

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

Выход и ALC

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

Вход и АРУ

Для лучшего декодирования лучше всего отключить АРУ (или установить ее на быструю) и установить входной звук достаточно высоким, чтобы на индикаторе сигнала в приложении отображалось где-то около 30-40 дБ. Возможно, вам придется поэкспериментировать с настройками, которые лучше всего подходят для вашей станции, и вам также может потребоваться включить аттенюатор для сильных сигналов.


Ваше первое QSO

TODO: Со временем мы добавим сюда пример :)

Эксплуатация JS8Call

Если вы раньше использовали FSQ, Fldigi или WSJT-X, вы будете чувствовать себя как дома с JS8Call. Предпосылка заключается в том, что JS8Call использует модулированные сообщения JS8, разбивая длинные сообщения с произвольным текстом на несколько циклов прямой передачи с несколькими секундами тишины между «кадрами».

Режим Скорость

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

  • Медленно — 30-секундные кадры — полоса пропускания 25 Гц — и около 8 слов в минуту при декодировании до -28 дБ
  • Нормальный — 15-секундные кадры — полоса пропускания 50 Гц — и около 16 слов в минуту при декодировании до -24 дБ
  • Быстрый - 10-секундные кадры - полоса пропускания 80 Гц - и около 24 слов в минуту при декодировании до -20 дБ
  • Турбо - 6-секундные кадры - полоса пропускания 160 Гц - и декодирование около 40 слов в минуту до -18 дБ.

Назначение более высоких скоростей состоит в том, чтобы начать ваше QSO в обычном режиме и "перейти" на более высокие скорости, если это позволяют условия. Если у вас современный ПК с производительным процессором, вы можете дополнительно включить MULTI в меню режимов, что позволит декодеру декодировать все скорости режима одновременно.

Активность группы

Активность группы отображается слева. Активность вызовов (позывные, которые вы слышали) указаны справа. Щелчок правой кнопкой мыши покажет меню с возможностью переместить смещение RX / TX на эту звуковую частоту и отправить определенные сообщения.

Активность вызывов

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

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

Если станция оставила вам сообщение, рядом с ее позывным будет отображаться индикатор ⚑. Вы можете прочитать это сообщение, щелкнув правой кнопкой мыши на станции и выбрав «Показать входящие сообщения».

Расстояние до станции и азимут вычисляются из первых 6 цифр локаторов grid сетки. Это приближение, описывающее «область» на карте, а не точную точку. JS8Call поддерживает до 12-значных локаторов для большей точности, но даже в этом случае расчет всегда будет оставаться приблизительным.

Водопад

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

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

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

Сообщения

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

Вы вводите текст в белое поле внизу, чтобы подготовить сообщение к передаче.

Обычные ограничения символов FT8 не  применяются! Расширенный набор символов включает в себя все печатные прописные буквы ASCII (AZ 0-9 Space ./?+-`~!@#$%^&*()_=[]\{}|;':”,<>) и латиницу 1. Структура сообщения имеет переменную кодировку, поэтому наиболее распространенные символы занимают наименьшее количество места, а для отправки специальных символов требуется больше времени.

По мере ввода сообщения вы увидите, что кнопка отправки отображает время передачи, которое потребуется для отправки полного сообщения. Все, что вам нужно сделать, это нажать «Отправить» (или нажать Enter), чтобы начать передачу в следующем интервале. Поскольку каждый кадр передается один за другим, кнопка будет обновляться с указанием времени, оставшегося для передачи сообщения. JS8Call 2.0 поддерживает ввод с опережением, поэтому вы можете начать передачу и продолжать вводить свое сообщение по мере передачи каждого кадра. Сообщения с контрольной суммой, такие как MSG или Relays, не могут использовать ввод с опережением.

Из-за этой специальной переменной кодировки сообщения в JS8Call не могут быть декодированы WSJT-X. То же самое верно и в том, что сообщения WSJT-X не будут отображаться в JS8Call.

Типы сообщений

Сообщения бывают трех видов:

  1. стандартные бесплатные текстовые сообщения JS8Call
  2. ненаправленные сообщения JS8Call
  3. направленные сообщения JS8Call

Стандартные сообщения

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

Направленные сообщения

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

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

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

Направленные сообщения вам (и @ALLCALL) отображаются в верхнем окне RX.

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

Групповые сообщения

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

@ALLCALL Позывной

Существует специальный групповой позывной «@ALLCALL», который вы можете использовать для отправки сообщения любому, кто может принять ваше сообщение. Некоторые примеры:

  • @ALLCALL ПРИВЕТ NET PSE QSY 14300
  • Будет отправлено как:   KN4CRD: @ALLCALL HELLO NET PSE QSY 14300 ♢

Групповые позывные

Групповые позывные — это специальная форма составных позывных, которые начинаются с символа «@» и могут иметь длину до 8 буквенно-цифровых (AZ 0–9) символов. Если вы смоделировали это в регулярном выражении, это будет :

[@][A-Z0-9\/]{0,3}[\/]?[A-Z0-9\/]{0,3}[\/]?[A-Z0-9\/] {0,3}

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

Скажем, например, я был частью группы ARES в Джорджии, и я хотел отправить другим людям в группе сообщение, я бы отправил:

        KN4CRD: @ARESGA QSL?

Этот групповой позывной будет вести себя аналогично @ALLCALL. Каждый, кто добавил группу @ARESGA в конфигурацию своей станции, увидит сообщение на экране. Если бы вместо этого я передал:

        KN4CRD: @АРЕСГА SNR?

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

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

  • Continental DX Groups
    • @DX/NA
    • @DX/SA
    • @DX/EU
    • @DX/AS
    • @DX/AF
    • @DX/OC
    • @DX/AN
  • ITU Regions
    • @REGION/1
    • @REGION/2
    • @REGION/3
  • Generic Groups
    • @GROUP/0
    • @GROUP/1
    • @GROUP/2
    • @GROUP/3
    • @GROUP/4
    • @GROUP/5
    • @GROUP/6
    • @GROUP/7
    • @GROUP/8
    • @GROUP/9
  • Operator Groups
    • @COMMAND
    • @CONTROL
    • @NTS
    • @NET
  • Special Groups
    • @JS8NET
    • @APRSIS
    • @RAGCHEW
    • @JS8
    • @EMCOMM
    • @ARES
    • @MARS
    • @AMRRON
    • @RACES
    • @RAYNET
    • @RADAR
    • @SKYWARN
    • @CQ
    • @HB
    • @QSO
    • @QSOPARTY
    • @CONTEST
    • @FIELDDAY
    • @SOTA
    • @IOTA
    • @POTA
    • @QRP
    • @QRO
      <h4>@JS8NET и @APRSIS

      Доступны две «специальные» группы для споттинга. Когда станции слежения получают сообщения в эти группы @JS8NET и @APRSIS, сообщения отправляются на сервер споттинга JS8NET для обработки. Это позволяет создавать специализированные функции для обработки этих сообщений. Эти группы не являются стандартными, поэтому вы не можете добавить их в свой список групп для стандартной групповой обработки. Однако вы можете отправлять сообщения этим группам напрямую (введите его в поле сообщения TX, сохраните его в сохраненных сообщениях и т. д.).

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

      Например, любая станция, принимающая мое сообщение:

      KN4CRD: @APRSIS GRID FN04TV53

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

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

      KN4CRD: @APRSIS CMD :SMSGTE :@5551212 ТЕСТ

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

      KN4CRD >APZJS8,qAS,KN4CRD::SMSGTE :@5551212 ТЕСТ

      Направленные команды :

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

      • SNR? - Каков мой SNR?
      • GRID? - Какой у вас сетевой локатор?
      • 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 [MESSAGE] - Пожалуйста, сохраните и отобразите это сообщение в папке "Входящие"
      • Доступ к вашим входящим сообщениям можно получить, щелкнув правой кнопкой мыши позывной и выбрав «Просмотреть входящие сообщения…».
      • MSG TO:[CALLSIGN] [MESSAGE] - Пожалуйста, сохраните это сообщение на своей станции для последующего получения по [CALLSIGN]
      • Сохраняет сообщение в постоянном хранилище (на диске) для последующего извлечения с помощью команды «QUERY MSGS».
      • [CALLSIGN] — это первое слово после : и конечный получатель сообщения.
      • QUERY CALL [CALLSIGN]? - Вы можете общаться напрямую с CALLSIGN?
      • Если станция может слышать позывной, она отправит ответ «YES», а затем ACK на этот позывной с отчетом SNR.
      • QUERY MSG [ID] - Пожалуйста, доставьте полное сообщение, указанное ID
      • QUERY MSGS - Пожалуйста, доставьте все сообщения, которые вы сохранили для меня.
      • Каждый ответ будет содержать идентификатор самого старого сообщения, которое еще не было доставлено.
      • Чтобы получить текст сообщения, введите команду QUERY MSG с идентификатором
      • AGN? - Станция автоматически ретранслирует свое последнее сообщение
      • ---
      • SNR - Отправить отчет о сигнале
      • INFO - Отправить информацию о станции
      • GRID — отправить подробный локатор сетки (чтобы его можно было увидеть на карте через PSKReporter и JS8NET)

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

      • QSL? - Вы получили мою последнюю передачу?
      • QSL - я получил вашу последнюю передачу
      • YES - я подтверждаю ваш последний запрос
      • NO - я отрицательно подтверждаю ваш последний запрос
      • HW CPY? - Как вы копируете?
      • RR - Roger. Получили. Я копирую.
      • FB - Прекрасный бизнес
      • TU - спасибо
      • 73 - С наилучшими пожеланиями
      • SK - Конец контакта
      • DIT DIT — конец связи / два бита

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

      Если бы мы хотели узнать у DR4CNK информацию об их станции, мы бы отправили:

      • DR4CNK INFO?
      • И они ответят нам направленным сообщением: «DR4CNK: KN4CRD INFO 50W VERT IN THE SOUTH OF FRANCE», автоматически, если включен АВТООТВЕТ.

      Если бы мы хотели передать «ретрансляционное» сообщение на OH8STN через DR4CNK, мы могли бы использовать команду relay и отправить:

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

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

      Входящие — хранение и извлечение сообщений

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

      • MSG TO:[CALLSIGN] [MESSAGE] - Сохраните это СООБЩЕНИЕ на промежуточной станции для CALLSIGN.
      • QUERY MSGS - Запрос адресата для сообщений, сохраненных для позывного вашей станции
      • QUERY MSG [ID] - Запрос определенного сообщения, сохраненного для позывного вашей станции.

      TODO: Со временем мы добавим сюда пример :)

      <

      АВТО – автоматические ответы

      Пока включен режим AUTO, программное обеспечение будет автоматически отвечать на направленные запросы, такие как «SNR?», «INFO?» и «GRID?». Если параметр AUTO отключен, JS8Call будет буферизовать ответы на направленные запросы в текстовом поле отправки сообщения до тех пор, пока вы не будете готовы отправить ответы вручную.

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

      ЖУРНАЛ - Журнал станции

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

      Журнал хранится в JS8Call.log и JS8Call.adif в каталоге журнала (который можно найти, нажав «Файл -> Открыть каталог журнала» в главном меню).

      В настоящее время функция ведения журнала в JS8Call будет регистрировать каждый контакт в соответствии со спецификацией ADIF в режиме MFSK и подрежиме JS8. В настройках ведения журнала также есть возможность регистрировать режим как DATA вместо MFSK и JS8.

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

      SPOT – обнаружение позывного

      Когда SPOT включен, JS8Call будет сообщать позывные, которые вы слышите (или ваш позывной, если его слышат другие станции) в PSKReporter в режиме «JS8Call».

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

      HB — передача сердцебиения

      Существует автоматический механизм сердцебиения, который передает информацию с интервалом. Вы можете включить кнопку HB, выбрав «Enable Heartbeat Networking» в меню режимов. Кнопка HB появится внизу слева. Эта автоматическая передача передаст вашу сетку в сеть Heartbeat (направленную на групповой позывной @HB:

      KN4CRD: @HB HEARTBEAT EM73 ♢

      Этот интервал передачи сердцебиения можно изменить в меню управления или щелкнув правой кнопкой мыши кнопку HB. Все такты передаются со случайным (неиспользуемым) смещением частоты между 500 Гц и 1000 Гц, чтобы предотвратить QRM. В настройках есть возможность разрешить пульсацию в любом месте... что особенно полезно на более низких диапазонах, таких как 160 м и 630 м.

      Если у вас включены автоответы и вы выбрали отправку подтверждений пульса, ваша станция отправит ответ ACK, чтобы сообщить другому оператору, что вы их слышите. По сути, это «облегченные пульсации» с вашей станции, которые сбрасывают ваш таймер сердцебиения.

      Назначение Heartbeat не в том, чтобы сообщать о распространении. Вместо этого это поможет заполнить вашу  активность звонков (список прослушанных справа), чтобы вы знали, кто, вероятно, будет доступен для установления контакта. Вы не можете работать с ними, если вы их не «слышите» (или если они не слышат вас).

      Имейте в виду, однако, что HB не предназначены для начала разговора. Когда вы включаете HB, вы «присоединяетесь» к сети Heartbeat. Эта сеть позволяет планировать ретрансляции и отправлять сообщения, которые будут храниться на этих принимающих станциях. Думайте о HB и ACK как о способе построения топологии сети, а реле («>») — как о способе отправки сообщений, которые будут прочитаны позже (вроде текстового SMS-сообщения) через эту сеть.

      Во время пульсации, если у станции есть сообщение для доставки на другую станцию, она слышит пульсацию, она объявит об этом в HEARTBEAT SNR, например:

      KN4CRD: KM4ACK HEARTBEAT SNR -12 MSG 32 ♢

      Затем вы можете получить это сообщение с помощью направленной команды «QUERY MSG»:

      KM4ACK: KN4CRD QUERY MSG 32

      Во время QSO (т. е. когда вы получаете передачу, которая отображается в окне входящих сообщений) таймер HB будет сброшен, чтобы ваша станция не могла QRM провести ваше QSO.

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

      Примечание. HB намеренно ограничены медленными, нормальными и высокими скоростями для повышения эффективности использования полосы пропускания и улучшения совместимости в сети HB.

      CQ - Вызов CQ

      По умолчанию вызов cq осуществляется с помощью сообщения «CQ CQ CQ». Это настроено по умолчанию. Что примечательно, так это то, что вы можете настроить это сообщение в настройках. Эти сообщения поддерживаются для отправки в одной передаче кадра:

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

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

      • 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-сообщение с одного из этих форматов, и оно будет направлено, то есть ваш позывной будет автоматически включен. Вы также можете добавить к сообщениям без проблем:

      • CQ QRP 500 MW CQ?

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

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

      ОТВЕТ - Ответ на 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! ♢

      Конфигурация

      General (станция и поведение)

      (в работе...)

      Radio (управление CAT и PTT)

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

      img

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

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

      Пример:

      Если вы определяете свою команду PTT как:   /usr/bin/ptt %1

      Когда JS8Call начнет передачу, он выполнит:   /usr/bin/ptt «on»

      И когда JS8Call закончит передачу, он выполнит:   /usr/bin/ptt «off»

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

      Audio (звуковая карта)

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

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

      1. Убедитесь, что на звуковой карте, которую вы выбрали для входа, не включено усиление микрофона. Обычно вы устанавливаете это на уровне операционной системы. Установите вход на 100%.
      2. Переместите ваш VFO в тихую часть диапазона, где нет сигналов.
      3. Установите усиление AF вашей установки на максимальное значение.
      4. Начните регулировать усиление RF вашей установки до точки, где s-метр только начинает показывать 0
      5. Если усиления RF недостаточно, чтобы снизить s-метку установки, примените аттенюатор установки. Обычно это происходит в условиях зашумленного диапазона или локально при радиопомехах. Большинство аттенюаторов применяют затухание сигнала от -10 дБ до -15 дБ, поэтому обычно вы можете увеличить усиление RF одним прикосновением, чтобы соответствовать.
      6. Если этих настроек все еще недостаточно, вы, вероятно, работаете в очень шумных условиях. Возможно, вам посчастливилось начать играть с усилением AF, чтобы еще больше снизить входные уровни до этого наилучшего уровня 30-60 дБ, как показано на измерителе в приложении.

      img

      img

      img

      Аудиовход слишком низкий!

      Аудиовход в самый раз!

      Аудиовход слишком высокий!

      Reporting - Отчетность (Споттинг и API)

      (В работе...)

      Frequencies (частоты вызова и переключение диапазонов)

      У большинства операторов, тестирующих приложение, можно найти +/- 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.

       

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

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

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

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

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

      img img

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

      img

      Если вы хотите восстановить предлагаемые частоты, щелкните правой кнопкой мыши поле частот и выберите «Сброс».

      img

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

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

      Сохраненные сообщения имеют функциональность, подобную макросам. Это переменные-макросы (слова, окруженные символами <>), которые можно использовать в сохраненных сообщениях, которые будут заменены при отправке сообщения:

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

      • Эти макросы также применяются к настроенным сообщениям, таким как CQ, Reply, INFO и т. д.

Notifications (звуковые оповещения)

(в работе...)

UI - Пользовательский интерфейс (настройка цветов и шрифта)

(в работе...)

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

  • Будьте хорошим гражданином ... если вы видите CQ, вы должны попробовать ответить на него, прежде чем передавать CQ самостоятельно.
  • Если вы не слышите CQ, вызывайте CQ!
    • Пример QSO:
      • >KN4CRD: CQCQCQ EM73 ♢
      • >KN4CRD: DR4CNK SNR -12 TU 4 CALL RIG IS KX2 5W DIPOLE ♢
      • >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. Все следующие примеры имеют длину 1 цикл передачи.
    • Пример:
      • KN4CRD/P: CQCQCQ EM73 (1 кадр передачи)
      • VE3/KN4CRD: CQ QRP EM73 (1 кадр передачи)
      • KN4CRD: @ALLCALL? (1 кадр передачи)
      • DR4CNK: KN4CRD SNR +15 (1 кадр передачи)
      • DR4CNK: KN4CRD AGN? (1 кадр передачи)
  • Чтобы ответить на CQ станции, дважды щелкните ее вызов в окне активности вызовов, затем либо выберите направленную команду, либо введите для нее сообщение:
    • 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!
  • Вы можете отправить свободный текст в любое время! Вот чем был вдохновлен JS8Call:
    • H I JIM TU 4 CA LL UR -12 I NT O ATLANTA BTU  DE KN4CRD (4 кадра передачи)
    • Может быть полезно изучить некоторые аббревиатуры азбуки Морзе, и аббревиатуры psk31:
  • Но, как правило, вы можете просто набирать слова и предложения и позволить коду эффективно их сжимать.
  • Теперь у вас есть функция подсказки слов ,  которая помечает ваш текст передачи, пока вы печатаете свое сообщение (например, проверка орфографии). Он будет помечать слова, которых нет в словаре кодов (часто странные аббревиатуры), потому что вопреки интуиции использование большого количества аббревиатур часто приводит к МЕНЕЕ эффективной передаче.
    • Пример:
      • Допустим, мы передаем «CONGRATULATIONS AND WELL WISHES FRIEND». Это сжимает до 67 бит для 20 слов в минуту и 1,76 бит на символ (34 символа) за один цикл передачи.
      • Но, скажем, вы хотите быть умнее и использовать какие-то странные аббревиатуры, чтобы ускорить передачу... «CNGRATS ES WL WISHS FRND» содержит на 10 символов меньше. но сжимается до 122 бит, 10 слов в минуту и 5,08 бит на символ. Это почти в 2 раза больше битов (и явно в 2 раза больше количества циклов передачи)

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

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

    • Что считается контактом JS8?
    • Радиолюбительский контакт представляет собой двусторонний обмен информацией между двумя станциями.
    • Однако на самом деле контакт — это то, что вы из него делаете. Это может быть минимум информации, это может быть 60-минутная болтовня. Если контакт предназначен для награды или конкурса, то существуют правила, определяющие действительный контакт.
    • Ваш позывной, отчет о сигнале, ваше имя, ваше местоположение, данные о вашей буровой установке, погода и т. д. - все это хорошо для общения.
    • Имейте в виду, что свободный текст JS8 делает его ценным. Вы можете обмениваться _любой_ информацией в своем контакте. Если все, что вы обмениваете, это ваша сетка и отчет о сигналах, то FT8, вероятно, является лучшим вариантом для вас.
    • Что такое случайные три (или шесть) символов в конце команд ретрансляции и подтвержденного сообщения?
    • Это контрольная сумма для сообщения, добавленного для обеспечения правильной доставки всех кадров сообщения перед повторной передачей/предупреждением. Если принимающая станция полностью принимает эти контрольные суммы, они не будут отображаться для них.
    • Вы сказали, что можно использовать все печатные символы ASCII в верхнем регистре. Некоторым требуется больше времени для отправки, чем другим?
    • Да. Символы, отправляемые в сообщениях, кодируются с переменной длиной от 3 до 19 бит в зависимости от вероятности их использования в предложении. Наиболее распространенные символы занимают наименьшее количество места, что позволяет нам отправлять в среднем более 13 символов за цикл передачи.
    • Пример: Пробел и E имеют длину всего 2,5 бита. Вы можете отправить около 22 (!!) из них за одну передачу. В то время как длина символа { больше похожа на 14 бит, вы можете отправить только 4 из них. (Но на самом деле, как часто вы используете этот символ?)
    • Вот несколько примеров фраз, которые могут быть отправлены за один 15-секундный цикл передачи:
    • ЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕ (22 символа)
    • Я съел ботинок (20 слов в минуту)
    • КАКОЙ ПУТЬ В Огайо (16 слов в минуту)
    • Я НИКОГДА (16 слов в минуту)
    • TU UR 599 4A GA  (20 слов в минуту)
    • И т.д
  • Как быстро JS8Call передает?
    • В нормальном режиме JS8Call используется тот же 15-секундный цикл передачи, что и в FT8. Отличие заключается в том, что из-за переменного кодирования символов JS8Call может передавать до 22 символов за кадр передачи. Для средних предложений JS8Call может очень плотно упаковывать слова со скоростью около 15 слов в минуту.
      • Пример:
        • «МЫ СЧИТАЕМ САМООБЪЕКТИВНЫМИ ИСТИНЫ, ЧТО ВСЕ ЛЮДИ СОЗДАНЫ РАВНЫМИ, ЧТО ИХ НАДЕЛИЛИ ИХ СОЗДАТЕЛИ НЕОТЪЕМЛЕМЫМИ ПРАВАМИ, КОТОРЫЕ СРЕДИ ЭТИХ ПРАВ НА ЖИЗНЬ СВОБОДУ И ПОИСК СЧАСТЬЯ»
        • Эта фраза состоит из 35 слов. Для отправки потребуется 10 циклов передачи (2 минуты 30 секунд). Это около 14 слов в минуту.
        • «УСПЕШНЫЙ ЧЕЛОВЕК — ТОТ, КТО МОЖЕТ ЗАЛОЖИТЬ ПРОЧНЫЙ ФУНДАМЕНТ ИЗ КИРПИЧЕЙ, КОТОРЫЕ В НЕГО БРОСАЛИ ДРУГИЕ»
        • Эта фраза состоит из 19 слов. Для отправки потребуется 5 циклов передачи (1 минута 15 секунд). Это чуть более 15 слов в минуту.

        • «THIS IS A TEST OF JS8»
          • Эта фраза состоит из 6 слов и занимает 1 цикл передачи (15 секунд). Это 24 слова в минуту
      • Азбука Морзе имеет удобный способ расчета WPM, определяя время, необходимое для передачи слова PARIS. В JS8Call PARIS кодируется 17 битами (3,4 бита на символ). Каждый цикл передачи может содержать до 69 бит символов. Это соответствует примерно 16 слов в минуту. (69/17 = 4,05 слова / (15 секунд * 4))
      • Приложение показывает это в строке состояния:

        img

      • Разве 10-20 слов в минуту не слишком медленны для разговора?
      • Если распространение достаточно хорошо для более быстрого режима, вы должны использовать его вместо этого! Но в плохих условиях, которые мы испытали при солнечном минимуме, JS8Call может быть просто лучшим балансом.
      • Это может показаться очень медленным (и это, условно говоря). Однако модуляция FT8 способна декодировать (теоретически) до -24 дБ ниже уровня шума 2500 Гц. Не многие режимы могут сказать это, особенно те, которые передают на более высоких скоростях. Что это значит? JS8Call может работать, когда другие режимы не работают.
      • Мы считаем, что медленное общение лучше, чем полное отсутствие.
      • Что такое JS8Call Relay Challenge?
      • Это дружеское соревнование, направленное на максимальное количество континентов, на которые можно передать сообщение туда и обратно с помощью команды relay.
      • Мы вручим награду (и приз) первой команде операторов, которая успешно передаст сообщение с одного континента на три других континента (Северная Америка, Южная Америка, ЕС, AF, AS, OC, AN) и ретранслирует обратно ACK. на исходную станцию с помощью JS8Call. Все, что вам нужно сделать, это представить свои журналы с каждой станции и, при желании, фото/видео документацию ваших усилий.
      • Например, вот какими могут быть исходящие и входящие сообщения:
      • KN4CRD>LB9YH>VK1MIC QSL?
      • VK1MIC>LB9YH>KN4CRD QSL
      • Нарушает ли режим Heartbeat (HB) правила FCC 97.221 для автоматически управляемых цифровых станций в США?
        1. Оператор управления несет ответственность за работу станции. Программное обеспечение делает все возможное, чтобы во время работы требовалось присутствие человека (HB отключен по умолчанию, встроена функция сторожевого таймера и т. д.). Оператор должен убедиться, что они соблюдают правила своей юрисдикции.
        2. Ответы на направленные запросы неавтоматическими станциями подпадают под исключение §97.221.C.1.
      • Операторам рекомендуется отключать повторение HB, когда они не находятся на контрольной точке станции, но они должны чувствовать себя комфортно, оставляя AUTO включенным, когда они отсутствуют, поскольку их станция будет отвечать только на запросы, инициированные неавтоматической станцией.
      • Нарушают ли ретрансляторы сообщений (>) правила FCC 97.113.d в США?
      • Ретрансляционные станции (определение 40) — это станции, которые одновременно ретранслируют радиосигналы на другой частоте.
      • Системы пересылки сообщений (определение 32) явно разрешены в FCC 97.219.
      • Ретрансляторы сообщений JS8 не ретранслируют автоматически радиосигналы на той же или другой частоте. Это сделало бы функцию повторителем. Вместо этого программное обеспечение JS8Call взаимодействует с системой пересылки сообщений, создавая новое сообщение для пересылки с помощью новых радиосигналов. Эти новые сигналы включают в себя исходное сообщение, контрольную сумму сообщения и путь ретрансляции обратно к исходной станции.  
      • Почему моя станция не отвечает на @ALLCALL?
      • Предыдущие версии JS8Call (FT8Call) имели направленное сообщение «@ALLCALL?» станции автоматически возвращали отчеты об SNR. Это было заменено, начиная с версии 0.7 JS8Call, на HB и ACK. Станции больше не будут отвечать на сообщение «@ALLCALL?» запрос.
      • Аналогичный запрос можно получить, введя: «@ALLCALL QUERY CALL [позывной]?»
      • Почему моя станция не подтверждает (ACK) другие тактовые импульсы (HB)?
      • Вы должны включить подтверждения 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? группе и зарегистрируйте отвечающие станции как зарегистрированные.
        • На что на самом деле влияет чувствительность декодера?
        • Отличный вопрос. Настройка чувствительности декодера определяет, сколько времени будет потрачено на декодирование в течение цикла декодирования. Каждый уровень чувствительности несколько меняет поведение декодера:
          • (1x) Один проход декодирования — декодер выполнит один проход, используя распространение убеждений, и попытается декодировать любые обнаруженные им сигналы.
          • (2x) Два прохода декодирования — декодер вычитает все сигналы, декодированные на первом проходе, и повторяет попытку.
          • (3x) Три прохода декодирования — декодер выполнит три прохода вычитания, используя распространение убеждений с упорядоченной статистикой.
          • (4x) Четыре прохода декодирования — декодер выполнит четыре прохода вычитания, используя распространение убеждений с упорядоченной статистикой.
          • ПРИМЕЧАНИЕ . Возможно, вам придется работать с более низкой чувствительностью, если у вас маломощная машина или если ваш ЦП не справляется с декодером.
          • ПРИМЕЧАНИЕ . Более высокие уровни чувствительности, использующие упорядоченную статистику, имеют более высокую вероятность создания «ложного декодирования» (т. е. шума, который соответствует шаблону синхронизации и проходит процесс проверки контрольной суммы). Этот компромисс является преднамеренным. Если вы хотите избежать ложных декодирований, вы можете уменьшить чувствительность до 1x или 2x.
          • Я люблю то, что ты делаешь. У вас есть PayPal или Patreon, куда я могу отправить вам пожертвование в качестве «Спасибо?»
          • Я ценю этот жест! Я продолжаю работать над этим проектом, жертвуя  свое время экосистеме радиолюбителей. Я не ищу никакой оплаты. Однако, если вы чувствуете себя настолько обязанным, я был бы признателен, если бы вы вместо этого отправили любое пожертвование, которое вы хотели бы сделать, в местную благотворительную организацию по вашему выбору. Что-то вроде американского Красного Креста, Армии Спасения или даже местного радиолюбительского клуба. Они бы использовали эти деньги с гораздо большей пользой!
          • Что Джо Тейлор, K1JT (или команда разработчиков WSJT-X) думает о JS8Call?
          • Мы ничего не слышали от него/них, так что вам придется протянуть руку и спросить!
          • Однако, как вы можете видеть в разделе «История» в начале документа, я получил подтверждение от Джо, прежде чем продолжить проект JS8Call еще в феврале 2018 года:
          img

          через https://sourceforge.net/p/wsjt/mailman/message/36224507/

          Устранение проблем

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

          Общие проблемы и решения

          JS8Call не будет работать в моей системе.
          Убедитесь, что вы используете поддерживаемую операционную систему, отключили все программы, которые могут использовать ваше аудиоустройство, или запретили JS8Call использовать аудиоустройство... например, агрессивный антивирус. Если вы используете Windows и у вас запущен Защитник Windows, вам нужно либо внести JS8Call в белый список, либо отключить защитник.

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

          Я не вижу никаких сигналов на водопаде

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

           

          Убедитесь, что вы находитесь на одной из частот JS8Call. Имейте в виду, что JS8Call все еще находится в разработке и имеет более чем на порядок меньше операторов  в эфире. На самом деле в зоне вашего приема может никого не быть. Проверьте PSKReporter, чтобы узнать, есть ли другие участники группы. Если вы по-прежнему не видите никаких сигналов:

          1. У вас проблема с приемом на вашей станции
          2. Ни один из операторов не работает на вашем диапазоне.
          3. Или распространение не дружелюбно к вам

          ПРИМЕЧАНИЕ. Имейте в виду, что JS8Call — это не волшебство... мы все еще находимся во власти ионосферы.

          Мой трансивер не передает

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

          Отчеты об ошибках

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


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

          JS8Call использует API JSON, предлагаемый через UDP и TCP. Более подробная документация будет доступна в будущем.


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

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

          Модуляция

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

          Скорость

          Продолжительность передачи

          Тоны/символы

          Скорость передачи данных

          Расстояние между тонами / полоса пропускания

          МЕДЛЕННЫЙ

          25,28 секунды

          8 / 79

          3,125 бод

          3,125 Гц / 25 Гц

          НОРМАЛЬНЫЙ

          12,64 секунды

          8 / 79

          6,25 бод

          6,25 Гц / 50 Гц

          БЫСТРЫЙ

          7,9 секунды

          8 / 79

          10 бод

          10 Гц / 80 Гц

          ТУРБО

          3,95 секунды

          8 / 79

          20 бод

          20 Гц / 160 Гц

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

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

          Основываясь на полосе пропускания модуляции и коррекции ошибок, при AWGN при прочих равных условиях:

          • Slow на 3 дБ более чувствителен, чем Normal (+3 дБ).
          • Быстрый на 2 дБ менее чувствителен, чем нормальный (-2 дБ)
          • Turbo на 3 дБ менее чувствителен, чем Fast, и на 6 дБ менее чувствителен, чем Normal (-6 дБ).
          Протокол

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

          Сообщения в JS8Call передаются интервалами (фреймами), при этом каждый фрейм классифицируется как один из 6 типов фреймов:

          1. Стук сердца
          2. Составной позывной Частичный
          3. Управляемая команда составного позывного
          4. Направленная команда
          5. Дата Хаффман
          6. Словарь данных

          Кроме того, каждый кадр включает в себя флаг передачи, идентифицирующий его как:

          1. Рамка по умолчанию (любая рамка)
          2. First Frame (первый кадр передачи)
          3. Last Frame (последний кадр передачи)
          4. Флаг - зарезервировано (для использования в будущем)

          И, наконец, существуют специальные кодировки для:

          1. Позывные
          2. Префикс/суффикс позывного
          3. Отчеты о сигналах
          4. Сетки

          Стук сердца

          Кадры сердцебиения состоят из:

          • Тип сердцебиения (Heartbeat или CQ)
          • Составной позывной
          • Сетка

          Составной позывной Частичный

          Составные части позывного используются как половина составной передачи из 2 кадров, когда одна из станций включает составной позывной. Частицы составного позывного всегда являются 1-м кадром в двухкадровой составной передаче, кодируя часть «от» направленной команды с составными позывными.

          Каркас включает в себя:

          • Позывной
          • 4-значный буквенно-цифровой префикс или суффикс (AZ 0-9)
          • Сетка или числовое значение (SNR или PWR)

          Управляемая команда составного позывного

          Команды, направленные составным позывным, представляют собой особый случай составных частей позывного, где числовое значение кодирует направленную команду, которая будет использоваться с составным направленным сообщением. Это половина двухкадровой составной передачи. Команды, направленные составным позывным, всегда являются 2-м кадром в составной передаче из 2 кадров, кодируя часть «кому» направленной команды с составными позывными.

          Каркас включает в себя:

          • Позывной
          • 4-значный буквенно-цифровой префикс или суффикс (AZ 0-9)
          • Направленная команда

          Направленная команда

          Стандартные позывные могут отправить направленную команду в одном кадре.

          Каркас включает в себя:

          • От позывного
          • Позывной
          • Направленная команда
          • Числовое значение

          Данные

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

          Фреймы данных бывают двух видов:

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

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

          Полный модифицированный код Хаффмана находится в Приложении A. Таблицы (s,c)-плотного кода включают 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 комбинация 4-символьного буквенно-цифрового префикса/суффикса, что меньше, чем может быть представлено в 21-битном числе 2 21  = 2 097 152)

          Сетки

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


          Будущая работа

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

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

          • SRARQ  — выборочные автоматические повторные запросы на повторение
          • Использование автоматических повторов кадра при его потере во время передачи
          • Выборочные повторы позволили бы осуществлять меньше передач, чем текущее ручное «AGN?» команда.
          • Автоматическая пересылка сохраненных сообщений, чтобы сообщение было «ближе» к месту назначения
          • Использование эпидемической репликации для автоматической конвергенции сообщения к месту назначения по чрезвычайно задержке и отключенным маршрутам.
          • Автоматическая маршрутизация реле
          • Использование графа сети для интеллектуальной маршрутизации в реальном времени к намеченному месту назначения.
          • Проверка позывного
          • Используйте контрольную сумму открытого ключа для проверки подлинности переданных сообщений.

          • Синхронизация без требования точного времени
          • Это также устранит необходимость в паузах между кадрами.
          • И более!

          Приложение A: Кодовая таблица

          Код Хаффмана:

          Код символа, взвешенный по частоте

          " " "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"

          (s,c)-плотный код:

          На эту тему пишется техническая статья. А пока см. jsc.h, jsc.cpp и jsc_map.cpp в исходном репозитории для получения полной таблицы плотного кода.


          Перевод с английского Николая Большакова (RA3TOX) для сайта "Радиофанат"
          Январь 2023