Возможности SVXLINK

май 2020

[ установка из репозитория | установка из исходников | настройка | возможности ]

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

Модули работающие автономно:
Help — интерактивная голосовая помощь
Parrot — эхо-репитер (репитер с отложенной передачей)
SelCall — селективный вызов, в разных стандартах
DtmfRepeater — ретранслятор DTMF сигналов (удалённое управление)
TclVoiceMail — голосовая почта (для пользователей из эфира)
TxFan — управление вентилятором обдува передатчика
RemoteRelay — управление реле (максимум 8)

Модули работающие через сеть:
EchoLink — подключение к сети EchoLink
FRN — подключение к сети Free Radio Network
PropagationMonitor — информация о прохождении из dxmaps.com
MetarInformation — метеосводки аэропортов
remoteTRX — удалённый приёмник/передатчик
svxReflector — сервер с разговорными группами
rtl_sdr — дополнительный rtl-sdr приёмник
aprs — aprs маяк (показывает комнату и кол-во соединений)

Встроенные возможности:
announce file — голосовые объявления в эфире
short_ident — короткий идентификатор (маяк)
long_ident — длинный идентификатор (маяк)
Macros — макросы для dtmf команд
QsoRecorder — запись эфира в файл
Voter — объединение приёмников
MultiTx — объединение передатчиков

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

С точки зрения SvxLink, нет разницы как подключен радиоканал, локально (через звуковую карту) или удалённо (через TCP/IP сеть). Работает он с ними одинаково.


Управление DTMF-командами
Команды передаваемые через эфир имеют чёткую структуру. Для каждого модуля они однотипны. Например, команды модуля Parrot и логика работы:

1# - активация первого модуля (попугай)
 # - деактивация модуля
0# - помощь по модулю
*# - информация о текущих настройках

У каждого модуля могут быть дополнительные команды, которые нужны для его работы. Администратор svxlink-а решает, какие модули будут доступны пользователям его сервера.

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

Передавать DTMF команды (для управления линком) могут не только аналоговые радиостанции, но и цифровые, например Yaesu стандарта C4FM.

Каждый подключаемый модуль, должен быть явно указан в строке файла /etc/svxlink/svxlink.conf:

[SimplexLogic]
MODULES=ModuleHelp,ModuleParrot,ModuleDtmfRepeater,ModuleSelCallEnc,ModuleFrn

В названии модулей имеют значение большие и маленькие буквы! Внимательно пишите (а лучше копируйте) названия. После любого редактирования конфига, требуется перезагрузка svxlink.

Исходя из вышеперечисленных команд мы видим что svxlink может быть подключен к трём разным сетям, это echolink, frn и svxreflector. Назначение их тоже разное и администратор линка может выбрать то что нужно или разрешить выбор любому пользователю из эфира. Одновременно svxlink может находится в одной из перечисленных сетей.


Сеть на основе SvxLink
В svxlink, можно не только подключаться к другим сетям (frn, echolink, svxreflector), но и создавать свои сети из нескольких линков, на основе удалённых TRX. Один svxlink, позволяет развернуть голосовую сеть состоящую из локальных и удалённых терминалов, приёмников, передатчиков, репитеров. Это принципиальные отличия от других программ.

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

Вариант использования удалённого передатчика и нескольких пользовательских терминалов, вы видите на картинке:

Пользователи Echolink и FRN сетей, могут быть полностью изолированны друг от друга, в одном сервере. Разным группам пользователей, могут быть доступны разные сервисы.

Например (если посмотреть на схему), Радиолюбители на 145МГц могут работать только в сети Echolink, а пользователи на 438МГц могут работать только в FRN и пользоваться попугаем. Удаленный пользователь, подключающийся через компьютер работает только с голосовой почтой, а пользователь в локальной сети, может слушать все каналы.


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


Разнесённый приём
Svxlink может использовать разнесённый приём (с дополнительным приёмником), что увеличивает покрытие на 20% и улучшает приём слабых сигналов, не увеличивая мощность передатчика и чувствительность приёмника.

Для реализации разнесённого приёма, потребуется отдельный приёмник (можно rtl-sdr) и отдельная антенна, находящаяся на расстоянии не менее 3λ от основной. Частоты отдельного приёмника и приёмника радиостанции, должны совпадать. Конфигурацию смотрите ниже.


Удалённый TRX
Идея удалённого TRX, заключается в том что svxlink установленный в другом месте, подключается к вашему svxlink как дополнительная радиостанция. Вы на своем линке назначаете доступные сервисы и режим работы удалённого TRX.

Этот режим удобен для покрытия большой территории одним svxlink, с несколькими установленными в разных местах TRX-ами. В отличии от отдельных линков работающих самостоятельно, svxlink с удалёнными trx работает согласованно!

Там где нет интернета, удаленный TRX (например ретранслятор) может быть подключен к svxlink по радиоканалу.


Цифровые радиостанции
К Svxlink можно подключать цифровые УКВ радиостанции и ретрансляторы. Тестирование проводилось с протоколами YSF(C4FM), D-Star, DMR, Tetra. Настройка 'цифры' не отличается от настроек аналоговой радиостанции, описанной ранее.

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

При использовании стандарта YSF(C4FM), сохраняется возможность управлять сервисами по эфиру. Не во всех цифровых модах, это возможно. К svxlink легко подключать радиостанции разных цифровых стандартов и объединять их между собой.


LinkToR4
Svxlink позволяет объединить два логических ядра, для получения пользователями доступа к другому сервису или частоте (когда используется несколько радиостанций). Делается это в разделе [LinkToR4]. Можно управлять сервисом через dtmf-команды.

Например:

CONNECT_LOGICS=SimplexLogic:9:RO7T,ReflectorLogic::
Эта строка позволяет пользователям из радиоканала подключаться к svxlreflector и менять разговорные группы, внутри него. Для этого используется команда 912501# и тд.


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

Управление gpio будет осуществляться следующим:

GPIO_9  - ptt радиостанции линка
GPIO_18 - cos радиостанции линка
GPIO_10 - ptt дополнительного передатчика

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


SVXReflector
Это сервер, с помощью которого можно обьединить несколько svxlink в одну сеть. SVXReflector позволяет организовать большое количество разговорных групп (TG), в которые пользователи могут переходить и общаться, не мешая друг другу.

Один svxlink может прослушивать несколько разговорных групп, есть функции статической и динамической подписки на TG.

Переход между TG осуществляется DTMF-командами от радиостанции пользователя в эфире. Различные варианты подключения svxlink к svxreflector, вы видите на картинке.

К svxlink можно подключить не только радиостанцию, но и компьютерную гарнитуру (без радиостанции). Также, полезная возможность svxlink заключается в подключении к сетям FRN и EchoLink. Это позволяет обьединять нужные разговорные группы в сети svxreflector с другими радиолюбительскими радиосетями.

Пользователю svxlink, из эфира доступен весь сервис описанный выше (Help, Parrot, SelCall, DtmfRepeater, TclVoiceMail), svxreflector лишь дополняет его.


Подключение к svxreflector
Svxlink-и могут объединяться между собой в общую сеть с разговорными группами (TG), по типу BrandMeister. Например, svxreflector kavkaz доступен всем обладателям svxlink.

• Со стороны пользователя:
Пользователь из эфира, подключается к svxreflector, командой 91# и попадает в TG установленную по умолчанию администратором линка. Если там идёт общение, он слышит говорящих и может сам принять участие в разговоре.

Чтобы перейти в другую TG, пользователь из эфира набирает 91<номер_TG># (912501#), переходит в TG 2501 и может общаться там.

Чтобы узнать, какая TG сейчас активна, пользователь передаёт 9*# и получает в ответ голосовое сообщение.

Чтобы разорвать соединение с svxreflector, пользователь набирает команду 9# и может активировать другой модуль, чтобы перейти в Echolink, Frn и т.д.

• Для подключения вашего svxlink к svxreflector, нужно:
1. Передать (администратору сервера) позывной линка и получить (от него) пароль
2. Сделать настройки в файле /etc/svxlink/svxlink.conf вашего линка

[GLOBAL]
............
LOGICS=SimplexLogic,ReflectorLogic
............
LINKS=LinkToR4

[ReflectorLogic]
TYPE=Reflector
HOST=kavkaz.qrz.ru
CALLSIGN="RZ6HDH-1"
AUTH_KEY="86W34FGH3106K5629615407DCLAOTY34"
............
DEFAULT_TG=2501
MONITOR_TGS=250+,250617
............

[LinkToR4]
CONNECT_LOGICS=SimplexLogic:9:RO7T,ReflectorLogic::
DEFAULT_ACTIVE=1
TIMEOUT=300

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

Администратор сервера, добавляет ваш позывной и пароль (в файл конфигурации) и перезагружает svxreflector, для обновления данных.

Svxreflector задумывался для обьединения небольшого количества svxlink-ов на определённой территории (край, область, регион).

Обьединить (между собой) несколько svxlink-ов (кроме svxreflector), можно через сети Echolink или Frn. Это позволит подключать в вашу сеть пользователей не только из эфира, но и через смартфон/компьютер.


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

CTCSS нужен для фильтрации индустриальных помех из эфира и для управления TG. Для включения CTCSS на приём и передачу, в файле /etc/svxlink/svxlink.conf нужно установить стандартную частоту тона и активировать несколько параметров:

[Rx1]				[Tx1]
....				....
SQL_DET=CTCSS			CTCSS_FQ=136.5
....			
CTCSS_MODE=2
CTCSS_FQ=136.5
CTCSS_EMIT_TONE_DETECTED=1

Возможно, потребуется настроить и другие строки начинающиеся с CTCSS_.... в разделах Rx1/Tx1, многое будет зависеть от конкретной радиостанции. Важно, правильно настроить девиацию передатчика!

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

Чтобы включить программный CTCSS, ваша радиостанция должна пропускать звуковой спект в диапазоне 67-250Гц! Без этого условия программный CTCSS работать не будет.
Смотрите на картинку ниже.

Например, любая носимая радиостанция (если подключиться к разьёму для гарнитуры) не сможет работать с программным CTCSS. Дело в том, что после фильтрации, остаётся звуковой спектр 300-3700Гц.

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

Управление TG через CTCSS
Если вы подключены к svxreflector, для удобства пользователей, можно сделать выбор TG (разговорной группы) через CTCSS. Это удобно тем что пользователь установив (в своей радиостанции) CTCSS код, сразу попадает в нужную ему TG. Можно назвать это аналогом DG-ID кодов в C4FM.

Для включения этой возможности, установите нужные тоны и номера TG в файле /etc/svxlink/svxlink.conf:

CTCSS_TO_TG=77.0:25,123.0:999,100.0:112
CTCSS_TO_TG_DELAY=1000

На примере видно, что пользователь установивший в своей радиостанции CTCSS код 123.0, попадёт в TG 2501 и тд. Важно, отключить CTCSS в радиостанции! Он должен быть программным (включить в svxlink).

После этого сообщите пользователям вашего svx-линка, номера тонов.


USRP, SIP, IAX
В оригинальном коде, SvxLink не поддерживает соединения по протоколам USRP, SIP, IAX (в отличии от AllStarLink). Радиолюбители сами модифицируют исходный код и добавляют (нужный им) функционал.

Радиолюбитель dl1hrc, добавил поддержку протокола USRP. Можно найти и другие модификации, пример с поддержкой SIP телефонии.


LADSPA
В каналах TX/RX, можно дополнительно обработать звук с помощью Linux Audio Developer's Simple Plugin API (LADSPA). Это позволяет провести дополнительную фильтрацию сигнала из эфира (скорректировать АЧХ, убрать шумы и тд).

Для работы с SvxLink подходят, только моно плагины и те у которых есть вход и выход. Плагины создают дополнительную нагрузку на процессор. Важно это помнить!

Например:

LADSPA_PLUGINS=hpf:1000,@Rx1_Compressor
Плагин компрессора, позволяет сжать динамический диапазон речи, что очень полезно для улучшения разбираемости слабого сигнала.


Конфигурации
Примеры конфигураций SvxLink (картинки кликабельны):

1 2 3 4
5 6 7 8


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

В составе SvxLink имеется графический клиент Qtel (для Echolink сети), но в этой статье он не рассматривается.

Если вы устанавливаете SvxLink на платы отличные от Raspberry_Pi, важно учитывать особенности этих плат (например gpio и тд).


Статьи
Домашний сайт SvxLink
Установка SvxLink из репозитория
Установка SvxLink из исходников
Настройка SvxLink
SvxLink рефлектор с разговорными группами

UA6HJQ