Kui toon on või saab teha DTMF-tooni või mõne muu lihtsa toonikoodiprotokolli, siis võite selle tuvastamiseks kasutada multimon-ng. multimon-ng väljastab tuvastatud toonidele teksti. See tähendab ka seda, et te ei pea amplituudikriteeriumi programmeerima. Midagi sellist:
rtl_fm -f <freq> -s 22050 -M wbfm | multimon-ng -a DTMF -t toores - | <your program>
kus “ <your program>
” on programm, mis ootab stdini sisendit ja kutsub vajaliku funktsiooni. Valikute selgitus:
-
rtl_fm ... -s 22050
määrab multimon-ng jaoks sobivaks helikiiruse, mis nõuab sisendi proovisagedust 22050 Hz. -
rtl_fm… autostereoga. Broadcast FM on lairiba FM, mitte kitsariba FM, mida amatöör- / kahesuunalised raadiod kasutavad. Kui kasutaksite ühte neist, oleks see -M fm
(või jätaks see on vaikimisi).
-
multimon-ng ... -a DTMF
käsib multimon-ng dekodeerida ainult DTMF ja mitte midagi muud proovida. -
multimon-ng ... -t raw -
käsib multimon-ng-l heliseadme avamise asemel lugeda stdinilt.
Võite kasutada ka sagedust parandus PPM-i, võimenduse, filtreerimise jms valikud rtl_fm
-le; see oleks hoopis teine artikkel ja seega tahan lihtsalt märkida, et need on olemas.
Väljund väärtusest multimon-ng on üks rida tuvastatud koodi kohta eesliitega DTMF:
, selline:
DTMF: 1DTMF: 2DTMF: 3
eel>
Multimon-ng tuge, mida saaksite kasutada, on veel mitu - soovitan uurida multimon-ng readme'is nimetatud koode. Võite kasutada isegi MORSE_CW
(morsekood), millel pole kindlat helikõrgust, kuid millel on kindlad toonide kestused (üksik 50 ms toon dekodeeritakse alati tähega „E”).
Samuti oleks mõistlik see üles ehitada GNU raadiosse, mis võimaldaks integreerida kogu signaalitöötluse ühte programmi ja rohkem valikuid RF-riistvarast. Kõigi seadistamiseks on vaja siiski oluliselt rohkem koodi.