Ha valaki Pluto+-t vagy olyan hackelt
PlutoSDR-t használ amelyik ki van bővítve egy második RX bemenettel,
azoknak ajánlom a következő módosított mrc100_pluto_rx programot. Ez
kihasználja a Pluto+ mindkét bemenetét és külön *.cf32 filet készít a
két vevő bemenetén lévő jelekről. Egy kis bónusz, hogy ebben a
programban már működik a pályaadatok lekérése, mert már az új
játékszabályok szerint kéri le a celestrack.com-ról. Készült hozzá egy
(vagyis inkább három) python script, amivel valós időben követhető a
bemeneten lévő jel.

A használható kapcsolók és azok jelentése:
HUNITY recorder for the PlutoSDR (Pluto+ single-buffer dual RX)
Usage: hunity_pluto_rx [-options]
-u URI context, such as "ip:pluto.local"
-F forced continuous recording, no Doppler correction
-i track the given satellite ID (default: 56957)
-f downlink frequency for sat (default: 437390000 Hz)
-8 output sample rate 200 ksps (default: 50 ksps)
-J output sample rate 100 ksps (default: 50 ksps)
-M output sample rate in ksps (default: 50 ksps)
-k download TLE data for default (or selected with -i) satellite from celestrak.com
-n download new satellites from celestrak.com
-a download actives from celestrak.com
-c download cubesats from celestrak.com
-K download TLE from this url
-s enable printing sat and signal statistics
-e elevation limit (default: 0 deg)
-g disable AGC, set manual gain to <value>
-A fast-attack AGC
-2 dump downconverted samples from RX2
-O dump downconverted samples to stdout
-Z dump downconverted samples to ZMQ PUB tcp://0.0.0.0:7207
-P real time samples to stdout
-D enable doppler correction for real time samples
-S enable printing initialization messages
-L enable turning antenna with ROTCTLD protocoll (default: false)
-o disable antenna overturn +-25 deg (default: enabled)
-N antenna zero point: North (default: South)
-R IP address of rotator for ROTCTLD
-r port number for ROTCTLD (default: 4533)
-d disable RX2
-h prints this help message
A legtöbb kapcsoló jelentése megegyezik az eredetivel, a változások ezeknél vannak:
-f - vételi frekvencia,
-F - akkor is készít felvételt, ha a kiválasztott
műhold éppen nincs a látóhatár fölött (nincs doppler korrekció)
-k - az -i kapcsolóval (vagy default) megadott műhold pályaadatait kéri le (egyetlen műhold)
-K url - a műhold pályaadatainak kérérése egy adott címről (pl. https://gnd.bme.hu/tles/hunity.tle)
-n - a legújabb műholdak pályaadatai (az utolsó 30 nap alatt indított műholdak pályaadatai)
-a - aktív műholdak pályaadatai (az aktív műholdak pályaadatai - jó sok nem ajánlott)
-c - cubesat kategóriájú műholdak pályaadatai
-s - megváltozott az alapállapota - alaphelyzetben kikapcsolt, a -s bekapcsolja
-2 - ez a kapcsoló határozza meg, hogy az stdout-ra
vagy a zmq-re melyik vevő jele jusson - nincs kapcsoló: RX1, van -2: RX2
-O és -Z jelentése valtozatlan, a forrás a -2 -től függ
-P - a bejövő jel mintáit közvetlenül küldi az stdout-ra nem a bufferen keresztül - valós idejű megjelenítés
-L - az antenna forgatásának engedélyezése
-o - van túlfordulás
-N - az antenna ütközési pontja. Alapértelmezett a dél, ezzel lehet átkapcsolni északira
-R - a számítógép IP száma, amin a rotctld szerver fut
-r - a rotctld portjának a száma. Alapértelmezett a 4533
-d - a második vevő letiltása (csak az RX1 lesz aktív)
A P működéséhez az O és Z kapcsoló inaktív állapota szükséges, vagyis
azokat ne használd a P-vel együtt, mert prioritást élveznek a P-vel
szemben.
A k, n, a, c kapcsoló egymástól független, csak az egyiket kell
használni. Az aktív műholdak listája eléggé hosszú, ezért a lekérése is
sokáig tart. Ezt a kapcsolót csak akkor használd, ha feltétlenül
szükséges, de akkor se túl gyakran.
A kimenő mintavetelezési frekvenciát a -8 -J kapcsolókkal tudjuk
megadni, de megadhatjuk az -M kapcsoloval is amikor az utána lévő
paraméter határozza meg a frekvenciát. Ez lehet a 100 ksps esetén 1,
100, 100000 vagy 200 ksps esetén 2, 200 esetleg 200000.
Telepítés:
Kövesd az itt található leirást: https://gitlab.com/phorvath/smogcli2
Telepíts föl minden könyvtárat és eszközt. Ha
biztosra akarsz menni, akkor a honlapon leírt módon telepítsd föl az
egész csomagot. Ha a telepítés hiba nélkül lefutott, akkor az src
mappában lévő 4 állományt: ad936x_device.cpp, ad936x_device.hpp,
hunity_pluto_rx.cpp és tle.cpp-t cseréld le a zip-ben találtakra. Mivel
ezeknek az állományoknak a dátuma régebbi mint a most telepítetteké,
ezert minden most lecserélt állományt meg kell nyitni, beleírni egy
valamilyen karaktert, kitörölni és elmenteni. Ettől frissül
a dátuma, ezért már a make parancs újrafordítja. Ha bátrabb vagy, akkor
már fordítás előtt le lehet cserelni az említett 3 filet, akkor rögtön
azok fordulnak le, és nem kell bíbelődni velük. Lehet hogy fordításkor
hibát dob. Ez azt jelenti, hogy a gépedről hiányzik valamilyen
komponens, azt telepítsd föl. Ha a smogcli2 csomag már a gépeden van,
akkor természetesen elég csak lecserélni az emlitett 4 filet, és
újrafordítani a programot. Előfordulhat, hogy az fmt-t hiányolni fogja,
ilyenkor a megoldás: sudo apt install libfmt-dev. Ajánlom, hogy eleinte
használd az -s kapcsolót, hogy lásd az inicializáció folyamatát.
Ha a telepítés sikeres ugyanúgy lehet használni mint
az eredeti 1 vevős változatot. Ha látni szeretnéd, hogy mi történik a
bemeneten, akkor igy indítsd el:
./hunity_pluto_rx -u ip:pluto.local -f 433920000 -i 35935 -g 71 -P | ./qtplot.py
vagy ........... | ./liveplot.py (1-2 mp késés)
a frekvencia csak azért 433920000, mert ezen a frekvencián mindig van
valamilyen jel, amivel tesztelni lehet (ha nincs, nagyon nagy mázlid
van). A programban a default frekvencia 437390000 Hz, ezért ezt nem
kell majd beállítani. Ha nem a default frekvenciát használod (más
műholdat követsz) akkor a qtplot paramétereként megadhatod a
frekvenciát így: qtplot.py -f 433920000. Ha a hunity_pluto_rx-ben
használod a -8 kapcsolót, akkor itt is meg kell adni a mintavételi
frekvenciát így: qtplot.py
-f 433920000 -s 200000. Paraméterek nélkül a frekvencia 437390000 a
mintavételi frekvencia 50000. Alaphelyzetben a qtplot-ban szándékosan
nincs doppler korrekció,
hogy
pontosabb információt kapj a bejövő jel frekvenciájáról. Ha ez zavar,
akkor indítsd a hunity_pluto_rx-et egy -D kapcsolóval. Ekkor a P
kapcsolóval jövő minták is dopplerkorrigáltak lesznek, de azzal
számolj, hogy a spektrum-analizátoron lévő frekvenciaskála mindig a
névleges frekvenciát mutatja és nem a pillanatnyit.
Természetesen a sat_id-t majd a Hunity id-je
alapján kell megadni.
Ahhoz hogy ez így működjön először futtathatóvá kell tenni a qtplot.py és a liveplot.py scriptet:
chmod +x qtplot.py
chmod +x liveplot.py
Természetesen a python script-ben is előfordulhat olyan komponens, ami
nálad nincs föltelepítve, ezért azokat telepítsd a megfelelő módon
(segít az internet és a chatGPT). Alapvető feltétel, hogy a Qt6
telepítve legyen. Valószínüleg keresni fogja a pyqtgraph könyvtárat.
Telepítsd föl így: sudo apt install python3-pyqtgraph
A P kapcsolónak és a qtplot-nak az előnye hogy valós időben jeleníti
meg a mintákat. Ha az O kapcsolót használod, ugyanúgy működni fog, de
számolni kell azzal, hogy abban az esetben a minták a meglehetősen
méretes bufferon keresztül jönnek ezért a késleltetés 65 - 90 másodperc!
A zmqplot.py használata annyiból előnyös, hogy megfelelően beállítva
egy másik gépen is futtatható. Persze a nagy késéssel ott is számolni
kell. A zmqplot-nál is vannak kapcsolók: -f frekvencia, -s
mintavételi frekvencia, -p port, -a IP cím ahol a smogcli2
fut. Paraméterek nélkül inditva a frekvencia: 437390000, mintavételi
frekvencia: 50000, port: 7207 és az IP: 127.0.0.1.
Előfordulhat, hogy a vevő alapzajának függvényében módosítani kell a
liveplot-ban a MAXDB és MINDB változók értékét, hogy a
görbék megfelelően jelenjenek meg. A zmqplot és a qtplot induláskor
megpróbálja a MAXDB és MINDB értékét a bejövő jelhez optimalizálni.
Ha indítás után ilyen hibaüzenetet kapsz: QStandardPaths: wrong
permissions on runtime directory /run/user/1000, 0770 instead of 0700
akkor ezt a parancsot kell kiadnod: sudo chmod 700 /run/user/1000
A program el tudja látni az antenna forgatását is, a rotctld
protokollon keresztül. Ehhez be kell állítani annak a gépnek az IP
számát, amelyiken a rotctld program fut. Szükség esetén a port számát
is be lehet állítani, ha valamilyen okból nem felel meg a default
4533-as portszám. A forgatást az -L kapcsolóval kell engedélyezni.
pluto_2rx
A fejlesztés Raspberry Pi5-ön történt. Kipróbáltam RPi4-en, azon is muködött. Öregebb vason nem próbáltam.