On Wednesday Nov 11 Noon Pacific time, Hackaday will hold a hack chat (group text chat session) with Marc Lictman, author of the free online book "PySDR: A Guide to SDR and DSP using Python". We posted about the release of this book last month, noting that it is probably one of the best books in terms of explaining DSP fundamental concepts in an easy to understand way. Hackaday write:
“Revolution” is a term thrown about with a lot less care than it probably should be, especially in fields like electronics. It’s understandable, though — the changes to society that have resulted from the “Transistor Revolution” or the “PC Revolution” or more recently, the “AI Revolution” have been transformative, often for good and sometimes for ill. The common thread, though, is that once these revolutions came about, nothing was ever the same afterward.
Such is the case with software-defined radio (SDR) and digital signal processing (DSP). These two related fields may not seem as transformative as some of the other electronic revolutions, but when you think about it, they really have transformed the world of radio communications. SDR means that complex radio transmitters and receivers, no longer have to be implemented strictly in hardware as a collection of filters, mixers, detectors, and amplifiers; instead, they can be reduced to a series of algorithms running on a computer.
Teamed with DSP, SDR has resulted in massive shifts in the RF field, with powerful, high-bandwidth radio links being built into devices almost as an afterthought. But the concepts can be difficult to wrap one’s head around, at least when digging beyond the basics and really trying to learn how SDR and DSP work. Thankfully, Dr. Marc Lichtman, an Adjunct Professor at the University of Maryland, literally wrote the book on the subject. “PySDR: A Guide to SDR and DSP using Python” is a fantastic introduction to SDR and DSP that’s geared toward those looking to learn how to put SDR and DSP to work in practical systems. Dr. Lichtman will stop by the Hack Chat to talk about his textbook, to answer your questions on how best to learn about SDR and DSP, and to discuss what the next steps are once you conquer the basics.
Dr. Marc Lichtman has recently released his free online PySDR guide to Digital Signal Processing (DSP) explained with the help of software defined radio and Python code. Over the years we've seen numerous SDR & DSP courses come out, some requiring payment and some free. We note that this guide is completely free, and appears to be one of the better if not the best guide in terms of explaining DSP fundamental concepts in an easy to understand way. A lot of visualizations and animations are used which really help anyone new to the subject.
While the explanations are very good, please note that this is still a technical University level guide intended for Computer Science or Engineering students, so prerequisite knowledge is required. Dr. Marc recommends it for someone who is:
Interested in using SDRs to do cool stuff
Good with Python
Relatively new to DSP, wireless communications, and SDR
A visual learner, preferring animations over equations
Better at understanding equations after learning the concepts
Looking for concise explanations, not a 1000 page textbook
The SDR hardware used in the book examples is the PlutoSDR which is a fairly low cost SDR intended for use by students. However, the PlutoSDR isn't required as most of the code examples use generated data.
Over on his YouTube channel Tech Minds has uploaded a video introducing and demonstrating the Langstone Project. Langstone is a standalone homebrew SDR transceiver project by Colin Durbridge (G4EML) which at its most basic implementation is based on an Adalm PlutoSDR, Raspberry Pi 4 and 7" LCD touchscreen.
In the video Tech Minds shows how to install the Langstone Pi4 software on the SD card, and then demonstrates it in action. He also notes that the output power of the PlutoSDR is too low for any real communications, however it is possible to add an amplifier and appropriate band filtering. To help with that, the software makes us of the GPIO pins on the Pi4 which can be used to switch in optional band filters.
Langstone Project - SDR Transceiver using an Adalm PlutoSDR
Over on his YouTube channel TechMinds has uploaded a new video showing how to use RF amplifiers to extend the transmit range of transmit capable SDRs like the LimeSDR, HackRF and PlutoSDR. Whilst they are transmit capable, most low cost SDRs like those mentioned above can only transmit at very low power levels typically much less than 30 mW. In the video TechMinds tests a wideband SPF5189Z and filtered 2.4 - 2.5 GHZ CN0417 based amplifier, and shows the output power obtained using an inline power meter.
He also notes that these wideband amplifier will also amplify harmonics so filtering is recommended. At the same time we note that you should only transmit if you are licenced to do so (for example with a ham radio licence), especially if you are amplifying the output.
Over on YouTube Andreas Speiss has uploaded a video that explains what the geostationary QO-100 satellite is, and explains about the parts needed to receive and transmit to it. In particular Andreas goes into depth explaining the low noise block (LNB), and the PLL inside it. A PLL or phase locked loop is a common design used in RF electronics as it allows us to increase the frequency of crystal oscillators.
This PLL explanation ties into the fact that most commercial LNBs available do not have a stable enough crystal oscillator to properly receive or transmit the narrowband amateur radio signals used on QO-100. A PLL can increase the frequency of a crystal, but it will also increase the frequency drift and jitter/phase noise of the crystal. He notes that in later videos he'll show how to modify the LNB to improve these factors. We note that a commercially available stable LNB is the Bullseye LNB which we have posted about previously.
#331 QO-100 Satellite Receiving Technology. And Explanation of a PLL
The PlutoSDR is a low cost RX/TX capable SDR with up to 56 MHz of bandwidth and 70 MHz to 6 GHz frequency range. It is typically priced at US$149. By default the PlutoSDR ships with a tuning range of 325 – 3800 MHz and bandwidth of 20 MHz. However a simple software hack allows you to expand this tuning range to 70 MHz to 6 GHz with a maximum bandwidth of 56 MHz.
The reason this is possible is possibly because the AD9363 SDR transceiver chip used in the PlutoSDR is nearly identical to more expensive AD9364 which has the higher specs. The software hack tricks the PlutoSDR firmware into believing that the AD9393 is a AD9364. Mileage may vary as we speculate that the AD9363 might be produced on lower grade silicon or could be failed AD9364 chips with lower performance at the edge frequencies. But so far most users have reported acceptable performance.
TechMinds' video shows how to apply the hack, which is a simple matter of opening a terminal connection to the SDR and running a few commands. He also shows how to enable an extra CPU core on the processor. Finally he demonstrates that it's possible to transmit in the extended tuning range via SDRangel.
ADALM PLUTO Frequency Expansion Modification Plus CPU Cores
Over on his YouTube channel Tech Minds has uploaded a video where he overviews and demonstrates the ADALM PLUTO (aka PlutoSDR). The PlutoSDR is a low cost RX/TX full duplex capable SDR with up to 56 MHz of bandwidth and 70 MHz to 6 GHz frequency range. It is typically priced anywhere between US$99 - US$149 depending on sales.
In the video Tech Minds explains the specs and features of the PlutoSDR, analyzes the included antennas, shows how to connect to the PlutoSDR via USB/Ethernet/WiFi and finally demonstrates the unit running on SDR-Console V3 receiving and transmitting signals.
He also notes how he modified his unit and installed a more stable TCXO. This is required as he intends to use the unit for QO-100 SSB satellite operation which requires a very stable signal. In addition to the TCXO mod he also performed a mod to improve the grounding on the unit which reportedly prevents the unit from locking up when using long long network cables and a USB to Ethernet adapter.
It's been a good time for ready to use SDR Linux OS images recently, as we've seen the release of two new images, DragonOS and gorizont-rtlsdr over this lock down period. And now the already popular and mature PiSDR image has also been updated.
PiSDR is a ready to use Raspbian based operating system for Raspberry Pi's which comes pre-loaded with many programs for software defined radios. It currently supports the RTL-SDR, LimeSDR, PlutoSDR, Airspy, and Airspy HF+ and has preinstalled software such as SDR Angel, Soapy Remote, GQRX, GNURadio, LimeUtil, and LimeVNA.
The latest update includes various bug fixes as well the following new features:
Three times smaller.
Verified Compilation on GitHub Actions.
New Software: Quisk, CygnusRFI, rpitx, rtl_433, acarsdec, gpredict, multimon-ng, and leansdr