6 ms·
Show HN: Record and share police/fire radio systems
- robotastic 9y agoIf you are interested in trying to listen your local radio system, try out Trunk Recorder: https://github.com/robotastic/trunk-recorder https://github.com/robotastic/trunk-recorder It works with the cheap $20 RTL-SDR dongles.
- madengr 9y agoCool! I last played with it a couple of years ago. Will have to mess with it again. Great work! Do you know if the newer versions of RPi or other small boards have enough power to run this (i.e. dedicated RX feed nodes sort of like the ADSB RX nodes)? I know DSD is pretty processor intensive.
- robotastic 9y agoThanks! So I have been playing with it on a RPi3. There are instructions here on how to build for the RPi: https://blog.hypriot.com/post/building-a-64bit-docker-os-for-rpi3/ https://blog.hypriot.com/post/building-a-64bit-docker-os-for... It has about enough CPU to handle recording about 2 streams at the same time. I think part of the problem is that Raspbian does not have the GCC flags optimized for the processor in the RPi3 and doesn't have 64bit enabled. I played a little with this image: https://blog.hypriot.com/post/building-a-64bit-docker-os-for-rpi3/ https://blog.hypriot.com/post/building-a-64bit-docker-os-for... and it seemed to help a bit, but I didn't see huge gains. People are using it with the ODroid, and I think they are able to do about 4 simultaneous recordings at the same time.
- madengr 9y agoAre you using polyphase channelizer now, as opposed to individual XFIR tuners? If so, does that still provide better performance given sparsely occupied channels?
- robotastic 9y agoUnfortunately, I wasn't able to find a nice generic way to make it easy to configure the PFBs. There is a good thread on it here, with some sample code: https://github.com/robotastic/trunk-recorder/issues/76 https://github.com/robotastic/trunk-recorder/issues/76 If I can get a block of free time I am going to try and take another tilt at it. I did switch to FFT based filters and that helped a lot. CPU requirements are a lot less. Using RTLs with 2M sample size, instead of SDR more bandwidth also helps. It is a poor mans version of HW-based channelization.
- robotastic 9y agoThere is also this Rust based P25 decoder that I have been wanting to give a try: https://github.com/kchmck/p25rx https://github.com/kchmck/p25rx It is a ground up re-write that doesn't need Gnuradio, so it could be pretty efficient.
- SpikedCola 9y agoI've used Raspberry Pis for this, but they tended to be bulky and overkill - the "Banana Pi Zero" is what I've been using lately. Combined with a PoE splitter (some have micro-usb, you can plug directly into the board), this works great - no more coax losses! I use one for SDR playing, and one for receiving OTA ATSC and streaming to Kodi. I suppose I could have also installed a USB hub and run them both (or more) from one board.
- matheweis 9y agoBanana Pi Zero? What board is that? (I've been experimenting with various board for a project, so genuinely interested if this isn't a typo)
- enzanki_ars 9y agohttp://www.banana-pi.org/product.html http://www.banana-pi.org/product.html
- matheweis 9y agoThanks - but which one is the zero?
- SpikedCola 9y agoI'm sorry, it's an "Orange Pi Zero"[1] that I'm using, not a "Banana Pi Zero". I've gone through so many of these dev boards that it's hard to keep them all straight! [1] http://www.orangepi.org/orangepizero/ http://www.orangepi.org/orangepizero/
- matheweis 9y agoAh ha, thanks - I actually own two of those! They are awesome little boards, except for the wifi which is borderline unusable.
- jeffdubin 9y agoWould love to know more about OTA ATSC on Raspberry/Banana Pi -- everything I read tends to say that these ARM-based boards are good for playback only.
- diggan 9y agoYou have any specific RTL-SDR dongles to recommend for beginners?
- robotastic 9y agoAnything with a TXCO is pretty good. I like these: http://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/ http://www.rtl-sdr.com/buy-rtl-sdr-dvb-t-dongles/ And these: https://www.amazon.com/NooElec-NESDR-SMArt-Enclosure-R820T2-Based/dp/B01GDN1T4S https://www.amazon.com/NooElec-NESDR-SMArt-Enclosure-R820T2-...
- diggan 9y agoThanks a lot for the recommendation! I got the NooElec NESDR SMArt and it's working perfectly! Now to build my own antenna.
- codecamper 9y agoCool. Can I use a raspberry pi & one of those RTL-SDRs to replace the functionality of a typical hardware police scanner? Has anyone created images with all the software set up or is it easy-ish to get it set up. I have unix experience. Aha! Now that I look at github, it's all pretty clear. Great work!
- robotastic 9y agoIt would probably work pretty good for that. If you were just trying to listen to one talkgroup at a time, the raspberry pi should have enough CPU. Let me know how it goes! I happy to help patch things up to get this working.
- codecamper 9y agoOK. I'll get in touch via email. Thanks for the offer!
- madengr 9y agoThis is a really awesome application of SDR. It has really grown since being presented at the GNU Radio conference a few years ago.
- mmastrac 9y agoI've been dabbling in this area with a friend and this+trunk-recorder looks amazing. The other solutions we ran across (Unitrunker, DSDPlus) are all built on rickety virtual audio cables running in Windows. They _work_, but just barely and are very brittle.
- madengr 9y agoThis works well; at least version 2 when I last tried it in the fall: https://github.com/DSheirer/sdrtrunk/blob/master/CHANGELOG https://github.com/DSheirer/sdrtrunk/blob/master/CHANGELOG
- finnn 9y agoSomething trunk-recorder does that sdrtrunk doesn't (appear) to do is work with multiple radios simultaneously. Each cheap SDR is only capable of receiving like 2MHz at a time, but if I combine like 6 of em I can cover most of the local trunked emergency radio system
- madengr 9y agoActually sdrtrunk does claim to support multiple dongles, though I have not verified the functionality. I tried it with an Airspy (10 MHz BW) so I did not need the multiple SDR support.
- codecamper 9y agoAre you saying 6 is all you need for most locales? Or that is the case in your area?
- finnn 9y agosorry, should have been more clear. 6 was what I need for my area.
- mschuster91 9y agoInteresting. I thought that Germany was the last holdout of analog unencrypted cop radio - we switched to TETRA (digital and especially encrypted) some years ago. Brings back some fun memories...
- CamperBob2 9y agoWe have unencrypted police radio around here, but the most common thing you hear the cops say to each other is "Call me on my cell." Yay, transparency.
- movedx 9y agoCertainly anti-transparency, but I'd say it's probably just easier for them. With a mobile (cell) phone call they can go hands free and talk in real-time in full duplex. That sounds better than waiting for the other party to finish and then pressing a button to talk to them... and using radio lingo.
- beezle 9y agoSomewhat tangential, really glad people do this type of thing. I have an app (Scanner Radio) and I have it set to trigger an alert when a channel hits a predefined number of listeners, aka something bad going down.
- ChuckMcM 9y agoThis is the amazing power of software defined radio. My favorite is to pick your 4 or 5 favorite FM radio stations and then have your 'radio' automatically play only ones that are not playing commercials. :-)
- codecamper 9y agoHow would you know when it is playing a commercial? Commercials are at predefined times? There is a DB of the times? Or the software just figures out its a commercial (higher volume?)
- ChuckMcM 9y agofor 70's/80's rock its fairly melodic and the spectrogram for music is pretty distinct from commercials. But when I get some time I think I'll hook it up to some RNN code and 'train' it using a button.
- jsmthrowaway 9y agoDuring network programming, act on subaudible cue tones. Sometimes the affiliate relays will let a little bit of a tone leak before acting, and you can use the same cue. If someone's driving the bus by hand, you'll definitely hear them. This will serve you well during football games to remove local commercials, at least, though increasingly local breaks come with a 120+ network avail before the tones fire and the affiliate takes over, so your training would still be useful. When you hear "after these words from your local station," watch for < 100 Hz tones. They're high amplitude and you won't be able to miss them; VU meters will often peg hard right during a tone, depending on the network. Should be a tone out and a tone in, and it is modulated so it'll be quite apparent. Another helpful avenue to explore would be in-stream RDS metadata, if you're working with typical FM. It lags a bit, but if you buffer a minute back or so you can look for transitions when the RDS data changes. Then you can use the same trick a delay uses to backfill its own buffer, and pad silences to restore your buffer. You don't care about dead air in your application, so you can be more aggressive than broadcast equipment can. (Talk radio runs >30sec behind, usually, and the "dump" button on a delay flushes the entire buffer, synchronizing air and program. It'll then slightly extend silences to get air "behind" program again. It has a little screen on it indicating how far back it is, and it's cool to watch it zoom back when people stop talking. If you hear a station dump delay, you'll notice they won't take callers for a couple minutes; this is why.[0]) Teach your setup to listen for EAS tones and you're well on the way to a startup of some kind. I think this was attempted in the past, actually... [0]: https://en.wikipedia.org/wiki/Broadcast_delay#Computerized_delay https://en.wikipedia.org/wiki/Broadcast_delay#Computerized_d...
- hoodoof 9y agoDoes HAM radio still exist? Would this capture it?
- robotastic 9y agoIt would depend on what type of modulation they are using. If it is narrow band FM, it should work fine. There are probably lighter weight solutions though. If you wanted to use a RTL dongle, you would also need an upconverter, since the dongles can't capture frequency that low: http://www.nooelec.com/store/ham-it-up.html http://www.nooelec.com/store/ham-it-up.html