Tarkvara
Kõik, millega ma eetrit kuulan, on siin. Võta, muuda, kasuta. Windows + PowerShell 5.1 + Python 3.12 (numpy). Ühtegi pakett-installi peale numpy pole vaja.
Mida on vaja
- SDR++ nightly (portable), Rigctl Server moodul sisse (
autoStart: true), Recorder baseband-režiimis, center tuning sees - Python 3.12 +
pip install numpy - Skriptid ühte kausta, SDR++ selle kõrvale kausta
sdrpp_windows_x64(win.ps1leiab ta sealt)
Töövoog
.\start.ps1 # SDR++ üles + Play
.\rig.ps1 "F 104100000" # tuuni
.\shot.ps1 -Spectrum # pilt spektrist
.\capture.ps1 -MHz 104.1 -Seconds 10 # 10 s toorest IQ-d
python iq.py <fail.wav> # spekter + RDS igal jaamal
python iq.py <fail.wav> --freq 104.1 # üks jaam: RDS + heli WAV
.\rds.ps1 # kogu FM-ala loendus (9 x 10 s, ~8 min)
.\airscan.ps1 -From 118 -To 137 -Seconds 30 # lennuside läbikäik
python iq.py <fail.wav> --am 127.900 --clip-active # AM-demod, ainult pursked
.\music.ps1 start # Raadio 2 lood eraldi failideks (IQ Exporter peab olema sees)
iq.py lühidalt
Ainult numpy. Kanali eraldus on sagedusruumi dekimeerimine (FFT → bin'ide lõik → IFFT), FM-demod on faasivahe, RDS läheb 19 kHz piloodi kolmanda harmoonikuga nulli, sobitatud filter + sümbolikella otsing + diferentsiaaldekood + CRC-sündroomiga plokisünkro + hääletus. Täpsemalt siin.
Kui sul on scipy, mis töötab (minul blokeerib Windows Smart App Control selle DLL-id), saab resample_poly ja hilbert asemel kasutada, aga ei pea.
Litsents
Tee, mida tahad. Kui kirjutad paremaks, ütle – tahan näha.
Failid
| Fail | Mida teeb |
|---|---|
| airscan.ps1 | lennuside/AM läbikäik: purskelised kanalid |
| capture.ps1 | salvestab N sekundit toorest IQ-d |
| click.ps1 | hiireklõps SDR++ aknas |
| fix_wav.py | parandab WAV päise, kui salvesti tapeti keset lugu |
| iq.py | IQ-analüüs: spekter, FM-demod, RDS-dekooder (ainult numpy) |
| listen.py | heli analüüs: kahin / muusika / kõne |
| music.ps1 | muusikasalvesti start / stop / status / log |
| music_recorder.py | IQ Exporter → stereo FM + RDS → lood eraldi failideks |
| probe.ps1 | üks jaam: IQ → heli + RDS + analüüs |
| rds.ps1 | RDS-loendus üle terve ala |
| rig.ps1 | sagedus / režiim / salvestus rigctl kaudu (TCP 4532) |
| shot.ps1 | ekraanipilt SDR++ aknast |
| specgram.py | heli-WAV spektrogramm PNG-ks |
| start.ps1 | käivitab SDR++, ootab rigctl serveri ja vajutab Play |
| sweep.ps1 | sagedusala läbikäik piltidena |
| win.ps1 | ühised abifunktsioonid (aken, pildistamine) |