Kraken SDR - Software Defined Radio
KrakenSDR including Antenna Pack!
KrakenSDR is a Software-Defined, Coherently Operated, Five-RX-Channel Radio Based on RTL-SDR A coherent radio allows for very interesting applications, such as radio direction finding, passive radar, and beamforming. Some use cases include:
Physically locating an unknown transmitter of interest (e.g. illegal or interfering broadcasts, noise transmissions, or just as a curiosity)
HAM radio experiments such as radio fox hunts or monitoring repeater abuse
- Tracking assets, wildlife, or domestic animals outside of network coverage through the use of low power beacons
- Locating emergency beacons for search-and-rescue teams
- Locating lost ships via VHF radio Passive radar detection of aircraft, boats, and drones
- Traffic-density monitoring via passive radar
- Interferometry for radio astronomy
KrakenSDR is KerberosSDR++
The previous version of KrakenSDR was known as KerberosSDR for direction finding and passive radar. KrakenSDR improves upon KerberosSDR in several important respects:
Automatic calibration hardware. It is no longer necessary to manually disconnect antennas during calibration. It all happens automatically when you change frequency. This will allow for KrakenSDR stations to be remotely operated.
Five channels. KrakenSDR has five channels instead of four, which greatly improves-direction finding accuracy.
Low-noise design. KrakenSDR has a cleaner spectrum with much less internal noise than KerberosSDR.
USB Type-C ports and rugged, CNC-milled enclosure. KrakenSDR is built for high reliability in the field.
Interface with external devices. Bias tees on all ports allow for LNAs and other devices to be powered easily.
Improved DAQ, DSP, and GUI software. Built on the foundation of the KerberosSDR software, the KrakenSDR software adds auto-calibration, tracking of intermittent signals, greater stability, arbitrary processing-block sizes, and a new web-based GUI.
Software upgrades. Improvements to existing companion software and plans for new companion software. Custom Android app Custom Android app that can automatically determine the location of a transmitter and provide automatic turn-by-turn navigation to the transmitter location.
Kraken SDR Features & Specifications
- Five-channel, coherent-capable RTL-SDR, all clocked to a single local oscillator
- Built-in automatic coherence synchronization hardware
- Automatic coherence synchronization and management via provided Linux software
- 24 MHz to 1766 MHz tuning Range (standard R820T2 RTL-SDR range, and possibly higher with hacked drivers)
- 4.5 V bias tee on each port
- Core DAQ and DSP software is open source and designed to run on a Raspberry Pi 4 (see links below)
- Direction-finding software for Android (free for non-commercial use)
- Custom antenna set available
What Do You Need to Get Started?
You will need KrakenSDR, a USB Type-C cable, a 5 V / 2.4 A+ USB Type-C power supply, and antennas—such as our magnetic whip antenna set—that are appropriate for your application.
For computing we recommend a Raspberry Pi 4, for which we will be providing ready-to-use SD card images. Optionally, for direction finding, you will want an Android phone or tablet with mobile-hotspot capabilities, GPS, and a compass, ideally produced within the last three to four years.
How KrakenSDR Works
KrakenSDR makes use of five custom RTL-SDR circuits consisting of R820T2 and RTL2832U chips. The RTL-SDR is a well-known, low-cost software-defined radio (SDR), but throw five units together and using them on the same PC will not make them "phase coherent;" each one will receive signals at a slightly different phase offset from the others. This makes it difficult or impossible to achieve a high degree of precision when measuring relationships between signals that arrive at different antennas.
To achieve phase coherence, KrakenSDR drives all five RTL-SDR radios with a single clock source, and contains internal calibration hardware to allow the phase relationship between channels to be measured precisely and corrected for. Additionally, the overall design of KrakenSDR works to ensure phase stability, with care taken in the areas of heat management, driver configuration, power supply, and external-interference mitigation.
Our coherent SDR software is based on three important factors:
Open source We provide open source code for the Data Acquisition (DAQ) software used to ingest RF data from all five antenna inputs, automatically calibrate and achieve phase coherence via the switches and noise source, and provide coherent samples for the next layer. This DAQ code typically runs on a Pi 4, or similar single board computer (SBC), but could also run on a PC.
DSP code for specific use cases Our open source DSP code supports direction finding and passive radar. That code implements direction-finding algorithms such as MUSIC, which can also run on the same Pi 4 or PC as the DAQ code. We also provide open source DSP code for our passive radar. (As passive radar is more computationally intensive, this particular DSP code may run best on a more powerful machine.)
Application layer We make use of the data coming out of the DSP layer by plotting and logging it.
Generally, programs in this layer run on a separate machine. For direction finding, we are providing a free license to an Android app for mapping, logging data, and automatically estimating the transmitter location.
KrakenSDR Web Interface
The new KrakenSDR software comes with an easy-to-use web interface for setting up a direction finding system. With this interface it is possible to set the frequency, gains, and other advanced settings related to the DAQ code. You can also monitor the live-spectrum view and graphs of output from the direction-finding algorithm.
Custom KrakenSDR Android App
In addition to the web interface, we have developed a companion radio-direction finding Android app that can automatically determine the location of a transmitter. Since a typical Android phone has capabilities that include necessary sensors and software like GPS, compass, mobile data, and mapping, we have made use of those features to create an affordable radio direction finding system.
An example scenario might see the antenna array mounted on the roof of a car, with KrakenSDR, a Raspberry Pi 4, and an Android phone inside the vehicle cabin. As the operator drives, the KrakenSDR software will constantly provide bearings relative to the antenna array. The Android app receives these bearings via Wi-Fi and adjusts them for the direction of movement determined via the Android phone’s GPS sensor, resulting in an automatic and accurate calculation of the map bearing towards the transmitter for that particular location. The app then logs this data and plots it on a map grid, which is used to automatically determine where the bearings intersect. Generally it will only take a few minutes of driving to accurately locate a transmitter with a strong continuous signal.
The app then goes a step further and provides automatic turn-by-turn navigation that will lead you to the transmitter without needing to take your eyes off the road! These are features that we’ve only seen before in high end direction finders that most potential users would find prohibitively expensive. We will be releasing our new app as a paid app on the Google Play store, but all KrakenSDR backers will receive a license for free!
Radio Direction Finding (RDF) refers to any technique used to determine the directional bearing toward an RF transmitter.
The simplest method is to use an antenna that only receives signals from the direction in which it is pointed, then manually sweeping through 360 degrees to identify the bearing angle that receives the strongest signal. You could then do this from multiple locations and make note of where your bearings intersect. Unfortunately, this "simple" method requires a tuned directional antenna and a manual, error-prone process.
There are other techniques as well, such as pseudo-Doppler and Watson-Watt. However, as KrakenSDR is a coherent SDR, we are able to use one of the more advanced techniques known as correlative interferometry, which makes use of phase information found in an antenna array spaced out in some known pattern.
Running that information through an algorithm like MUSIC produces a bearing toward the transmitter direction. KrakenSDR also receives signal data from the full 360-degrees around its antenna array, which gives it a better "picture" of multi-path environments that occur when a radio signal bounces off objects like buildings and hills. Multi-path environments can make it seem like a signal originated from an object that merely reflected it. By taking readings from multiple locations, we can mitigate the multi-path problem.
Passive Radar makes use of existing FM, TV, mobile phone, and other strong broadcast transmitters. The signal from these transmitters reflects off objects such as road vehicles, ships, and aircraft. By using two antennas on two receive channels and an algorithm to compare the reflected signal against a clean reference copy of the actual signal, we can achieve a radar-like display of bi-static range vs Doppler speed.
For passive radar you will need to determine the location of a useful broadcast tower in your vicinity and an appropriate direction toward your targets of interest. The geometry cannot be such that the broadcast tower and targets are in the same direction. The further apart they are in terms of angles, the better. Then you point one directional Yagi antenna toward the broadcast tower and the other toward the targets of interest. The diagram, photograph, and plot below illustrate this configuration:
We are working toward a release of software that will actually be able to plot the location of a detected object on a map. It will leverage all five channels on KrakenSDR, using several of them for direction finding with an array of directional Yagi antennas. By obtaining the bearing and range, we will be able to plot the object on a map.
Kraken SDR Antennas
To work as a radio direction finder, KrakenSDR needs five antennas. In order to detect signals from 360 degrees, you will need a circular array of omnidirectional antennas such as whips or dipoles. So, to go along with the release of KrakenSDR, we are offering an optional set of five magnetic whip antennas that you can mount, for example, on the roof of your car.
We have also been working with the US-based company, Arrow Antennas, who are producing a five-element dipole array for KrakenSDR that is great for use in fixed sites (on the roof of a house, for example). That antenna will be sold by Arrow antennas, and we will be issuing an update when they are available for sale. This antenna has been used in all of our fixed-site experiments, and you can see it in some of our YouTube videos. It works extremely well! (The image below shows a prototype. We’re told the final version may look slightly different.)
Standard Five-Channel Receiver
If you are not interested in coherent applications, it is also possible to use KrakenSDR as five separate RTL-SDR receivers. An example use-case might be setting up a multi-purpose airband monitor. One channel monitors the VHF airband, one monitors ACARS/VDL2, one monitors ADS-B, and another monitors satellite AERO by powering an active L-Band patch antenna via the bias tee. (And that still leaves one receiver left over for some other application!) As KrakenSDR is based on RTL-SDR, the installation procedure for non-coherent use cases is exactly the same as for RTL-SDR, and it can be used with the standard RTL-SDR drivers.
KrakenSDR vs DIY KrakenSDR integrates the equivalent of five RTL-SDRs plus a range of supporting hardware.
KrakenSDR is enabling high-end radio direction finding features such as automatic mapping and localization of the transmitter. When KrakenSDR is used together with the Android app there is no need to stop and manually take readings, and the system will automatically calculate the most likely transmitter location based on the data received. As far as we’re aware, such functionality was previously available only in professional military, government, and commercial gear price in the hundreds-of-thousands-of-dollars range. Compare this video of the $150k+ Rhode & Schwarz solution with this video of our Android-based solution to see how similar they are.
Various DIY and amateur radio focused pseudo-Doppler systems, such as the PA8W, have existed for many years now. In order to generate a pseudo-Doppler signal, these systems require special antenna arrays with built-in rapid-switching hardware. Unfortunately, this rapid switching can introduce distortion, generate interference, and limit the receiver’s ability to locate noisy, intermittent, and wideband signals. In addition to rapid-switching antennas and pseudo-Doppler-processing hardware, these solutions also require that you provide your own radio hardware at additional cost.
There are also various lab-grade multi-channel coherent SDR receivers on the market, but most of them cost at least $10k. An example is the Epiq Sidekiq x4. These high-end coherent SDRs have the advantage that they are naturally coherent, meaning that software re-calibration of the phase is not required after every change in frequency. They can also transmit. The disadvantages—apart from cost—are that they rarely provide a ready-to-use coherent setup or software out of the box. That, or they require a costly API subscription to use. These high-end products are great for high-level research, but they certainly are not affordable for most of us.
Finally, because KrakenSDR is based on RTL-SDR, it is possible to build your own coherent system, just like KrakenSDR, using five RTL-SDRs and various other hardware. In fact, seeing others do this in the past was exactly what inspired us to design and build KrakenSDR! By the time you obtained all of the necessary components, however, we think you’d find that you’d come pretty close to, or even exceeded, the price of KrakenSDR. And that doesn’t include the research, assembly, and testing time necessary to build a system like this from scratch. Having said all that, we are nonetheless publishing our DAQ + DSP code as open source software for KrakenSDR and DIY users alike. We make a point of reinvesting in this community by continually improving our open source software and by building new tools that lower the barrier for novel use cases. However, due to ongoing costs related to MapBox usage fees and possible server costs for future multi-KrakenSDR networking enhancements, we do need to charge non-KrakenSDR customers for use of our Android app and possible future software.
DAQ & direction of arrival (DOA / radio direction finding)
Work on the DAQ and DSP software is coming along well. It is stable on a Raspberry Pi 4 and is nearly complete. We are continuously adding minor features and looking for bugs to fix. Handling of intermittent, bursty signals is already working, and we are well on our way to improving KrakenSDR’s sensitivity to weak, bursty, narrowband CW signals, which can still be problematic to detect. The Android app is currently being field tested as well.
Work on new passive-radar software is also ongoing, and we expect to have a quick-start guide and examples ready for experimentation before we begin shipping. As of now, it remains possible to use the older KerberosSDR software for passive radar, as well, but we believe the new DAQ core software will run things much more smoothly. The goal for our new software is not only to plot a range-Doppler map, but to combine it with direction-finding and to plot radar detection on a map. To do so, it might need to run on something faster than a Raspberry Pi 4, such as a GPU-based device like the NVIDIA Jetson.
Beamforming & interferometry
One application at which we think KrakenSDR will excel is amateur-radio astronomy via interferometry. The ability to combine multiple small hydrogen line dishes, spread out over several meters of area, should result in a much greater radio imaging resolution without the need to deal with a single huge dish. It may also allow for a beam to be electrically steered, which would obviate the need to rotate the dishes.
Advanced direction finding & advanced log management
At the moment, networked direction finding (direction finding via multiple fixed or mobile sites spread out around a city or area) is possible via the third party RDF Mapper software, but we aim to create our own advanced platform in the near future. Our goal is to have software that will automatically log the event, notify users when a signal of interest appears, and automatically determine the location of the transmitter. The list of use cases for this might include:
Helping coast guards locate distressed marine pleasure-crafts, which typically do not have AIS, via their VHF radios
Locating beacons for animal, wildlife, or asset tracking
Monitoring for illegal or interfering transmissions
We will also add scanning and beacon-ID detection features to our core DAQ + DSP software, as well as the ability to monitor multiple simultaneous channels within the available 2.56 MHz bandwidth.
Research into field applications
One example we hope to test is the operation of KrakenSDR on a drone. With a line of sight from up in the sky, it should take very little time to locate a transmitter. Another interesting application might be the combination of KrakenSDR, a patch-antenna array, and augmented reality to give users the super-power of being able to "see" RF.
Support & Documentation
Our DAQ firmware + direction-finding DSP code is available in our GitHub repository. Please be aware that, prior to its official release, everything is kept in the development branches while we work to add new features and fix bugs. Upon shipping, we will have a ready-to-use .IMG file that can be burned onto an SD card for the Raspberry Pi 4. That will be the fastest way to get up and running with the KrakenSDR software.
We will also be releasing a series of tutorials that will walk you through the process of using KrakenSDR for direction finding and passive-radar applications.
Information for Picture Nr.5:
1. SMA Antenna inputs
2. Bias Tee
3. ESD protection
4. Noise calibration switches
5. R820T2 tuner
6. RTL2832U ADC
7. Noise source
8. USB Hub
9. Individual tuner on/off DIP switched
10. USB Type-C DATA
11. USB Type-C PWR