Küsimus:
Kuidas tuvastada FM-sagedusel tooni RTL SDR-vastuvõtja abil?
Ash
2015-06-24 03:19:19 UTC
view on stackexchange narkive permalink

Ma edastan FM-saatja abil lihtsat tooni, mis kestab 50 ms. Spektrigraafikut vaadates (kasutades GQRX-i) näen selgelt seda tooni minu RTL-SDR-seadmes vastu võtmas.

Pean kohe pärast tooni saamist kutsuma Linuxi kerneli funktsiooni, nii et Ma tahan reaalajas lahendust, mis töötleb signaali. Ma arvan, et parim viis oleks lasta väljundvool terminali kaudu minu kestaprogrammi viia, kuid mul oleks vaja, et see voog oleks lihtsalt signaali demoduleeritud amplituud. Helistaksin siis oma funktsiooniks, kui amplituud on piisavalt palju suurenenud.

Kas on võimalik seda saavutada?

üks vastus:
Kevin Reid AG6YO
2015-06-24 03:30:55 UTC
view on stackexchange narkive permalink

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.

Selle saavutamiseks peaksin tooma DTMF-tooni teises Linuxi masinas. Kas teil on ideid, kuidas sellega edasi minna? Edastan tooni helikaardi kaudu tavalise FM-autoraadio abil.
DTMF on vaid kahe siinuslaine summa - [Vikipeedial on kõik sagedused] (https://et.wikipedia.org/wiki/Dual-tone_multi-frequency_signaling). Hea heliredaktor või lihtne programm saab sellega hakkama (veenduge, et te ei klippiks!)
@Ash Sain selle valmis ja katsetatud, üksikasjadega redigeeritud. Samuti on oluline, et kasutate lairiba (ringhäälingu) FM-saatjat (eeldan, et põhineb "autoraadios"), seega muutke see teave oma küsimuseks.
Nii et ma ei saa seda ikkagi tööle panna. Käivitan selle käsu kõigepealt: `rtl_fm -f 88.6M -s 22050 -M wbfm | multimon-ng -a DTMF -t raw - kasutan siis online-DTMF toonigeneraatorit [link] (http://onlinetonegenerator.com/dtmf.html), et edastada FM-saatja kaudu paar erinevat tooni. Saatja seadeks on 88,6 MHz. GQRXi esiletõstmisel näen tooni mõju sellel sagedusel hõlpsasti. Kuid toonide edastamisel ei näe multimon-ng väljundit. Üks kummaline on see, et rtl_fm väljund sisaldab seda rida: ** Häälestatud 88853575 Hz. ** Milline on vale sagedus ... Kas teil on ideid?
[Minu saatja] (http://www.amazon.ca/gp/product/B00IRSYCY2?psc=1&redirect=true&ref_=oh_aui_detailpage_o00_s00)
@Ash Palun muutke oma saatja teavet oma küsimuseks. Mis puutub valesse sagedusse, siis see on normaalne - rtl_fm kasutab alalisvoolu nihke korral nihke häälestamist. Pole häid veaotsingu ideid, vabandust.


See küsimus ja vastus tõlgiti automaatselt inglise keelest.Algne sisu on saadaval stackexchange-is, mida täname cc by-sa 3.0-litsentsi eest, mille all seda levitatakse.
Loading...