This book published in free access in Education Library on Analog Devices, Inc. web site.[0]
Software-Defined Radio for Engineers, by Travis F. Collins,
Robin Getz, Di Pu, and Alexander M. Wyglinski, 2018,
ISBN-13: 978-1-63081-457-1.
The web site sdrforengineers[1] provides supplementary materials for the text, hands on content, labs, assignments, end of chapter questions, that anyone can use or contribute to.
Slides and other materials for lectures related to SDR for Engineer textbook released on GitHub.[2]
This is awesome, thank you for making this available. Having had to piece this together from multiple books, blog posts, tutorials, GNU Radio, etc. having a single reference is really helpful
I really wish that I could do some basic sdr with android.
People talk about decentralization and privacy and net neutrality, but sdr on handheld would sound very exciting. I'm sure ISPs would argue against it, but communicating small segments of data wirelessly between terminals would open a lot of gates for new kinds of software.
Dht is already at the core of Bitcoin, yet it's not talked a lot about. Dht, to me, is the most important networked algorithm. Implementing the concepts of dht over sdr sounds new and unexplored, but it should be the internet of the future...
The problem is that interactions between radio systems can be highly unpredictable. LTE-U, for example, was specifically designed to co-exist with coexist with Wi-Fi, but doesn't do it very well: https://pdfs.semanticscholar.org/presentation/a4ac/9af05963e.... When designing wireless protocols, there are real benefits to homogeneity.
No need to dip down to DSP. You can do this with Android over AP-less ("peer-to-peer") Wi-Fi, so you're coding against a nicer API and Android will speak the protocol for you [1][2].
> communicating small segments of data wirelessly between terminals
Packet radio? Or, if you're content with short range, what do you need that isn't provided by wifi?
It's not the ISPs you have to worry about, it's the FCC or other local radio authorities. Because radio is a locally-shared medium, bad implementations can jam it very easily.
Allows you to use I/Q packet source in your Android applications.
All you need is to launch an intent in the form "iqsrc://rtl_tcp_arguments" where you replace rtl_tcp_arguments with the arguments that you want your application to run rtl_tcp with and the magic will be done behind the scenes.
This driver could be used by third party applications to implement Software Defined Radio.
It does not require root for Android 3.1 and above.
Certainly this is possible with a raspberry pi and a handheld radio.
At my last company I had a friend and coworker who used a pi to communicate with his Android phone for GPS data to then broadcast APRS packets to track his morning bikeride in to the office.
Not exactly handheld but there is room for miniaturization.
The hard part, and cool thing, about SDR is that it covers so many disciplines. It's the proverbial rabbit hole, with multiple layers of abstraction.
I'm very good at RF hardware and antenna design; grok that as I do it for a living.
I have dabbled in DSP and FPGAs, hacking some Verilog together with Xilinx blocks to do RF in to USB out. Not a DSP comms guru, but know my way around the theory.
Then got into GNU Radio, so had to learn Python. Got the basics down on that and wrote a GNU radio based app, putting it on Github.
Though then came C++, and the whole Linux development environment. Totally new stuff to delve into. Still trying to wrap my head around that.
Not really related to the book, but it's only yesterday that I've found out about AirplaneJS [0]. It picks up ADS-B radio signals from airplanes and display them over maps on browser like a local Flightradar. It's nice that you can interact with SDR in Node.js
About this book, it's interesting to see that there are more advanced applications of SDR on Chapter 13.
Do you, HN-friends, know any other toy/simple or advanced applications of SDR?
I'm by no means an expert - just a hobbyist tinkering with some RF magic, but I made a simple POC of using SDR to reverse engineer and perform jam and replay attacks on cars - essentially giving you permanent access (for cars with button keyfobs). I have a short write up here: https://github.com/trishmapow/rf-jam-replay
The Stratux project (http://stratux.me) does very similar work, pushing the aircraft positions to most popular electronic flight bag apps. It’s quite common among small aircraft pilots such as myself.
If you don't want to set up everything yourself and just want to tune in to some numbers stations, there is an online SDR interface hosted from the Netherlands.
Arguably also the more boring use of SDR; at least for me the interesting bits come from the ability to (de)modulate, filter, process and otherwise mangle signals in a way that would not be feasible with traditional radios. Using SDR to "just" listen in on old modes and bands seems like a waste in comparison.
A similar book, used in a few grad-level courses on software defined radio. It includes a good amount of MATLAB snippets and exercises to highlight the math.
Software Receiver Design: Build your Own Digital Communication System in Five Easy Steps
[+] [-] app4soft|7 years ago|reply
Slides and other materials for lectures related to SDR for Engineer textbook released on GitHub.[2]
[0] http://www.analog.com/en/education/education-library/softwar...
[1] http://sdrforengineers.github.io
[2] https://github.com/sdrforengineers/LectureMaterials/releases...
[+] [-] ChuckMcM|7 years ago|reply
[+] [-] mmanulis|7 years ago|reply
[+] [-] Gracana|7 years ago|reply
I was excited about the book, but I couldn't even get the first MATLab example (gibbs.m) to work. What is scope()?
[+] [-] jokoon|7 years ago|reply
People talk about decentralization and privacy and net neutrality, but sdr on handheld would sound very exciting. I'm sure ISPs would argue against it, but communicating small segments of data wirelessly between terminals would open a lot of gates for new kinds of software.
Dht is already at the core of Bitcoin, yet it's not talked a lot about. Dht, to me, is the most important networked algorithm. Implementing the concepts of dht over sdr sounds new and unexplored, but it should be the internet of the future...
[+] [-] rayiner|7 years ago|reply
[+] [-] niftich|7 years ago|reply
[1] https://developer.android.com/guide/topics/connectivity/wifi... [2] https://developer.android.com/guide/topics/connectivity/wifi...
[+] [-] pjc50|7 years ago|reply
Packet radio? Or, if you're content with short range, what do you need that isn't provided by wifi?
It's not the ISPs you have to worry about, it's the FCC or other local radio authorities. Because radio is a locally-shared medium, bad implementations can jam it very easily.
> Dht is already at the core of Bitcoin
No, it's bittorrent that uses DHT.
[+] [-] mmanulis|7 years ago|reply
You could take something like a NooElec (http://www.nooelec.com/) and connect it to your phone. Though you'll need a rooted device.
I tried it and it wasn't the fastest thing out there but let me do some basic scanning.
[+] [-] app4soft|7 years ago|reply
Allows you to use I/Q packet source in your Android applications.
All you need is to launch an intent in the form "iqsrc://rtl_tcp_arguments" where you replace rtl_tcp_arguments with the arguments that you want your application to run rtl_tcp with and the magic will be done behind the scenes.
This driver could be used by third party applications to implement Software Defined Radio.
It does not require root for Android 3.1 and above.
[0] https://f-droid.org/en/packages/marto.rtl_tcp_andro/
[+] [-] RpFLCL|7 years ago|reply
At my last company I had a friend and coworker who used a pi to communicate with his Android phone for GPS data to then broadcast APRS packets to track his morning bikeride in to the office.
Not exactly handheld but there is room for miniaturization.
[+] [-] madengr|7 years ago|reply
[+] [-] eeZah7Ux|7 years ago|reply
"but"?
[+] [-] madengr|7 years ago|reply
I'm very good at RF hardware and antenna design; grok that as I do it for a living.
I have dabbled in DSP and FPGAs, hacking some Verilog together with Xilinx blocks to do RF in to USB out. Not a DSP comms guru, but know my way around the theory.
Then got into GNU Radio, so had to learn Python. Got the basics down on that and wrote a GNU radio based app, putting it on Github.
Though then came C++, and the whole Linux development environment. Totally new stuff to delve into. Still trying to wrap my head around that.
[+] [-] rilut|7 years ago|reply
About this book, it's interesting to see that there are more advanced applications of SDR on Chapter 13.
Do you, HN-friends, know any other toy/simple or advanced applications of SDR?
[0] https://github.com/watson/airplanejs
[+] [-] trishmapow2|7 years ago|reply
[+] [-] app4soft|7 years ago|reply
Also, look on csete's repos[4] from.
[0] https://github.com/cjcliffe/CubicSDR
[1] https://github.com/csete/gqrx
[2] https://github.com/JvanKatwijk/swradio-8
[3] https://github.com/PTDreamer/qSdrSwr
[4] https://github.com/csete?tab=repositories
[+] [-] btgeekboy|7 years ago|reply
[+] [-] anfractuosity|7 years ago|reply
[+] [-] mavidser|7 years ago|reply
[+] [-] bambamboom|7 years ago|reply
[deleted]
[+] [-] swebs|7 years ago|reply
http://websdr.ewi.utwente.nl:8901/
[+] [-] zokier|7 years ago|reply
[+] [-] madengr|7 years ago|reply
I have a KiwiSDR here:
http://64.136.200.36:8073
[+] [-] e_tm_|7 years ago|reply
Software Receiver Design: Build your Own Digital Communication System in Five Easy Steps
[0] https://books.google.com/books/about/Software_Receiver_Desig...
[+] [-] signa11|7 years ago|reply
turn the whole thing clock-wise, and you have the fourier signals, and counter-clock-wise to get to the time-domain signal.
just beautiful :)
[+] [-] mgrennan|7 years ago|reply
[+] [-] hatsunearu|7 years ago|reply
[+] [-] unknown|7 years ago|reply
[deleted]
[+] [-] JKCalhoun|7 years ago|reply
You can get your feet wet at a small expense. Open source software is available that talks to it on various platforms.
[+] [-] DINKDINK|7 years ago|reply
[+] [-] hardmath123|7 years ago|reply
[+] [-] olfactory|7 years ago|reply
- in amateur radio, SDR is starting to dominate new commercial designs, but has not yet overtaken the superhet.
- you can buy a low end SDR (rtlsdr) for $20 or a better one for $120 (sdrplay) or a high end one that transmits for $2K (flexradio)
- Ettus hardware is great if you have the dollars and only care about VHF/UHF
- if you want to play with the concepts without buying hardware, just learn DSP.
- there are many interesting applications that are now fairly affordable to build that used to require massive budgets (due to cheaper FPGAs)