Pred kratkim sem naletel na FreeDV, odprtokodni projekt za prenos digitalnega govora preko radioamaterskih KV zvez.
Za razliko od FT8 in podobnih digitalnih načinov tukaj ne gre za izmenjavo kratkih tekstovnih sporočil. FreeDV je namenjen normalnemu govornemu QSO-ju v realnem času. Govorimo v mikrofon, računalnik govor sproti digitalizira in modulira, na drugi strani pa ga FreeDV ponovno dekodira v govor.
Zadeva je zanimiva predvsem zato, ker ostaja precej blizu klasičnemu radioamaterstvu: radio, antena, propagacije in normalen pogovor. Spremeni se samo način, kako je govor prenesen preko radijske zveze.
Kaj je FreeDV?
FreeDV je odprtokodni sistem digitalnega govora za HF oziroma KV radioamaterske zveze.
Projekt obstaja že vrsto let, precej zanimivejši pa je postal z razvojem načina RADE – Radio Autoencoder.
RADE kombinira klasični DSP z metodami strojnega učenja. Govorni signal ima približno 8 kHz zvočne pasovne širine, po radijski zvezi pa RADE V1 za prenos potrebuje približno 1500 Hz RF pasovne širine.
To je kar impresivno.
RADE je namenjen predvsem temu, da obdrži razumljiv in relativno naraven govor tudi pri slabših HF pogojih. FreeDV se tako po občutku obnaša podobno kot SSB: pritisnemo PTT, govorimo in sogovornik nas posluša praktično v realnem času.
Prisotna je seveda manjša zakasnitev zaradi kodiranja in dekodiranja.
Kaj potrebujemo?
Za osnovno uporabo potrebujemo:
- KV postajo, ki podpira SSB,
- Linux računalnik,
- zvočno povezavo med postajo in računalnikom,
- FreeDV,
- mikrofon in zvočnike oziroma headset.
Če postaja že vsebuje USB sound card, je stvar precej enostavna.
Sam uporabljam Yaesu FT-991A, ki ima preko USB povezave na voljo tako CAT serijska porta kot USB Audio Codec. Za povezavo z računalnikom zato zadostuje praktično en USB kabel.
To je enak princip, kot ga uporabljamo pri WSJT-X, JS8Call, Fldigi in podobnih programih.
Namestitev FreeDV na Linux
Trenutna uradna različica FreeDV je ob pisanju tega članka 2.3.1.
Za Linux razvijalci ponujajo AppImage za Intel/AMD in ARM sisteme. Uradno sta trenutno podprta Ubuntu 22.04 ali novejši ter Fedora 42 ali novejša.
Sam bi na Linuxu uporabil AppImage. Je enostavno in predvsem ne smetimo sistema z različnimi knjižnicami in ročno prevedenimi paketi.
AppImage prenesemo z uradne FreeDV strani za download.
Po prenosu:
chmod +x FreeDV-*.AppImage
./FreeDV-*.AppImage
In to je v osnovi vse.
Če uporabljamo distribucijo, ki ni uradno podprta, obstaja tudi možnost prevajanja iz izvorne kode. FreeDV projekt za Linux priporoča namenski build script, vendar bi najprej poskusil AppImage.
Po starem UNIX načelu: če dela, ne kompliciraj.
Preverjanje naprav na Linuxu
Ko FT-991A povežemo preko USB, lahko najprej pogledamo, kaj je Linux zaznal:
lsusb
Za serijske porte:
ls -l /dev/ttyUSB*
Še boljša varianta je:
ls -l /dev/serial/by-id/
FT-991A praviloma ustvari dva virtualna serijska porta. Za CAT uporabljamo Enhanced port.
Audio naprave lahko preverimo z:
arecord -l
in:
aplay -l
Videti bi morali USB audio napravo radijske postaje.
Če uporabnik nima pravic za dostop do serijskega porta, preverimo:
groups
in ga po potrebi dodamo v skupino dialout:
sudo usermod -aG dialout $USER
Po tem se ponovno prijavimo v sistem.
FreeDV in FT-991A
Tu postane zadeva zanimiva.
FT-991A ima vse, kar potrebujemo, že vgrajeno. USB nam zagotavlja audio in CAT komunikacijo.
FreeDV dokumentacija za FT-991A priporoča naslednje nastavitve:
029 232C RATE 38400
030 232C TOT 10 ms
031 CAT RATE 38400
062 DATA MODE OTHERS
064 OTHER DISP (SSB) 1500 Hz
065 OTHER SHIFT (SSB) 1500 Hz
066 DATA LCUT FREQ OFF
068 DATA HCUT FREQ OFF
070 DATA IN SELECT REAR
071 DATA PTT SELECT DAKY
072 DATA PORT SELECT USB
Priporočena je tudi nastavitev:
059 CW FREQ DISPLAY DIRECT FREQ
V FreeDV pri CAT konfiguraciji izberemo:
- radio: Yaesu FT-991A
- CAT hitrost: 38400
- serijski port: Enhanced USB port
- audio naprava: USB Audio CODEC
Pomembno je tudi, da FreeDV uporablja DIGU/DIGL in ne klasičnega USB/LSB načina, če je postaja tako konfigurirana.
Audio
Pri digitalnih načinih velja nekaj, kar pozna vsak, ki je že nastavljal FT8:
več ni nujno bolje.
Ne potrebujemo kompresorja, procesorja in vseh mogočih izboljšav zvoka.
Ravno nasprotno.
Za FreeDV želimo čim bolj čist signal.
Speech processor oziroma compressor naj bo izključen. Enako velja za nepotrebno obdelavo signala.
Pri oddaji je potrebno paziti tudi na ALC. Signala ne želimo prekrmiliti.
Jaz bi za prve poskuse začel z nižjo močjo ter nato preveril signal in poročila druge postaje.
Lovljenje zadnjih nekaj wattov nima smisla, če s tem pokvarimo signal.
RADE
V novejšem FreeDV je najbolj zanimiv način RADE V1.
Gre za precej drugačen pristop od starejših digitalnih voice kodekov.
RADE uporablja machine learning skupaj s klasičnim DSP in je izdelan posebej za razmere, ki jih srečujemo na HF.
Po podatkih razvijalcev lahko deluje pri signalih okoli -2 dB SNR, pri tem pa za RF signal potrebuje samo približno 1500 Hz pasovne širine.
To pomeni, da preko relativno ozkega HF kanala prenašamo precej bolj kakovosten govor.
RADE sicer zahteva bistveno več procesorske moči kot starejši FreeDV načini, vendar današnji računalniki s tem nimajo posebnih težav. Deluje tudi na Raspberry Pi 4 in novejših.
Prvi QSO
Ko je sistem nastavljen, se FreeDV uporablja zelo podobno kot običajen SSB.
Pritisnemo PTT in govorimo.
Na drugi strani mora biti seveda radioamater, ki prav tako uporablja kompatibilen FreeDV način.
Tu nam pomaga FreeDV Reporter, kjer lahko spremljamo trenutno aktivne FreeDV postaje, frekvence in uporabljene načine.
Namesto naključnega klicanja CQ lahko tako najprej preverimo, ali je na katerem od bandov sploh kdo aktiven.
Slika: FreeDV GUI
Za članek bi tukaj uporabil screenshot trenutnega FreeDV GUI-ja z izbranim načinom RADE.
Vir slike oziroma dodatne informacije: uradna spletna stran projekta FreeDV.
Primer podpisa pod sliko: FreeDV GUI omogoča spremljanje spektra, SNR, sinhronizacije digitalnega signala ter upravljanje RX/TX.
Slika: Yaesu FT-991A in FreeDV
[SLIKA 2 – FT-991A oziroma FreeDV nastavitve za Yaesu]
Sem bi dal fotografijo FT-991A ali screenshot CAT/PTT nastavitev FreeDV.
Primer podpisa: Yaesu FT-991A je zaradi vgrajenega USB Audio Codec in CAT vmesnika zelo primeren za FreeDV. Za povezavo z Linux računalnikom zadostuje en USB kabel.
Zaključek
FreeDV se mi zdi zanimiv predvsem zato, ker združuje dve stvari, ki sta mi blizu: Linux in radioamaterstvo.
Digitalni načini na KV niso nič novega, je pa ideja normalnega govornega QSO-ja preko popolnoma odprtega digitalnega sistema precej zanimiva.
Še posebej RADE kaže, da digitalni govor ni nujno robotsko zveneča zveza, kot smo jo poznali pri nekaterih starejših digitalnih sistemih.
Za FT-991A dodatnega hardwarea praktično ne potrebujem. Radio priključim preko USB na Linux računalnik, nastavim audio in CAT ter lahko začnem eksperimentirati.
Naslednji korak bo seveda pravi QSO.
Če me kdo najde na FreeDV:
73 de S51DG
Povezave
FreeDV – uradna stran projekta
FreeDV Download – aktualne verzije za Linux, Windows in macOS
FreeDV Reporter – aktivne postaje in FreeDV zveze
Moji HAM, Linux in ostali projekti – index.d-mashina.net
Na index.d-mashina.net imam zbrano kazalo svojih strani, radioamaterskih, Linux in drugih projektov.