summaryrefslogblamecommitdiffstats
path: root/08.-Passive-Radar.md
blob: 8490c46da9fa0896511873af70817c55c7960039 (plain) (tree)
1
2
3
4
5


                                                                                                                                                                                                                                                                                                                                                                  

                                                                                                                                                                                                                                                                                                            





































                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
                                                                                                               


                                                                                                                                                                                                   

                                                                                      






















                                                                                                                                                                                                                                                                                                                                                                        
                                                                                                                                                                                                                                                      
 
                                                                                                                                                                          
 






                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

                                                                                                                                                                                     
 
                                                              
 
                                                                                                                                                                                                                                                                                                                       
 
                                                                                                                                                                                                                                  
 
                                                                
 
                                                         
 
                                                                                                                                                              
 
                                                                                                                                                                                                                                      
 
                                                        
 
                                                                                                  
 
                                                                                                                                                                                                                                                            


                                               
                                                                                                                                                    
 


                                                                                                                                                                                                                                                                        
 






                                                                                                                                                                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                         
 

                                                                                    
                  
                                                                                                                                                                                                                                                                                                
 


                                                                                                                                                                                                                
# Activating Passive Radar Code
The ready to use Pi 4 image comes with the Passive Radar code preinstalled. But by default the DOA software is the one that will run on boot. To change to the passive radar code, connect a monitor and keyboard (or SSH in), and edit `start.sh` in the home folder. You will need to comment out the DOA code run lines, and uncomment the passive radar lines.

The passive radar code works on both Kraken and Kerberos devices. Make sure that you set a preconfig file that is prefixed with "pr_" for either device. On the Pi 4 image, a "pr_" fixed preconfig is already set by default. (See further below for an explanation on the different "pr_" preconfig files)

# Passive Radar
Active radar systems emit a radio pulse towards a target such as an aircraft and wait for the reflection of that pulse to return. In contrast, a passive radar system emits no signals. Instead, it makes use of already existing powerful transmitters, such as broadcast FM, TV and mobile phone towers.

In a basic two channel passive radar system, you have one ‘reference’ antenna pointing towards an ‘illuminator’, aka a powerful radio transmitter. This reference antenna is used to receive a clean copy of the reference signal. 

The second ‘surveillance’ antenna points towards the targets of interest, such as aircraft, cars or marine vessels. The illuminating signal is reflected off the body of these targets, and the reflections are received by the surveillance antenna. 

The reflections are then processed and correlated against the clean reference signal. The result is a ‘bistatic range-doppler’ display that shows detected targets as dots. The position of the dot on the display measures the velocity of the object, and the bistatic distance.

## Passive Radar Geometry
In a passive radar system, the geometry of the receiver, transmitter and targets of interest are very important for optimizing performance.

The targets and illuminator cannot be both in the same direction. The reason is that we want the reference antenna to receive only the direct reference signal, and most importantly we want the surveillance antenna to only receive the reflected signal. If the surveillance antenna is drowned out by the direct reference signal, it will be difficult to determine the reflections only.

![image](https://user-images.githubusercontent.com/78108016/170861588-485fb2a3-6e31-4e7f-827d-4361d07f7a55.png)

## Passive Radar Illuminator Choices
In the modern world there are several possible choices for illuminators. The best characteristics are:

* **Wideband:** The wider the bandwidth, the greater our radar resolution (up to our maximum 2.56 MHz bandwidth limit)
* **Stable and ‘noise-like’:** HDTV digital signals such as ATSC/DVB-T as well as DAB stations appear noise like in the analogue domain and are desirable. Analogue signals with high variability content like broadcast FM are less desirable. If you must use broadcast FM, a trick is to use heavy metal stations, since heavy metal is closer to white noise.
* **High power:** The higher the transmit power of the illuminating RF source, generally the stronger reflections and more distant reflections will be observed.

With these characteristics in mind, we recommend using HDTV signals (DVB-T or ATSC), or secondly DAB signals if they exist in your area. Mobile phone 3G/4G/5G signals can also work, but their transmit power is much lower, so they will work only over a smaller area. Broadcast FM is the least desirable due to its small bandwidth and its least noise-like characteristics.

## Passive Radar Antennas
As per the chapter on passive radar geometry, it is desirable that the reference and surveillance signals are isolated from each other’s antenna. To help with this requirement we can use directional antennas. Directional antennas are antennas that receive with high gain in one direction, and by design attenuate signals in all other directions.

For basic passive radar you will need two directional antennas, such as Yagi’s. As HDTV signals are perfect for passive radar, it is possible and recommended to use cheap TV Yagi antennas from the local electronics store.

### Antenna Isolation Tips
As mentioned previously, the reference signal should not be received directly by the surveillance antenna as much as possible. We can achieve that using directional Yagi antennas, but there are some other tricks to improve isolation that can be experimented with.

The first trick is to use walls, buildings, and other objects to block the reference signal from directly reaching the surveillance antenna. For example, you might have the reference antenna on one side of a building or car, and the surveillance antenna on the other side.

The second trick is to use polarization to our advantage. A HDTV station may be either horizontally or vertically polarized. The reference Yagi should be oriented with a matching polarization for best reception. However, the surveillance antenna could be oriented in the opposite polarization. The reasoning behind this is that any reflected signals are probably somewhat randomly scattered in terms of polarization, so any antenna orientation should work for the surveillance antenna. And by orienting it in the opposite polarization we get a natural 20dB attenuation of the reference signal.

# Passive Radar Software
At the time of writing this manual, we have created software that can implement basic 2-channel passive radar. 

Like the direction finding-software, the passive radar software has a configuration and spectrum display screen. The difference is the last page, which is the Passive Radar range-doppler display.

Note that Receiver 1 is the reference channel. Receiver 2 is the surveillance channel.

## Passive Radar Configuration Settings

**Enable Passive Radar:** Enable the passive radar computations to be performed.

**Clutter Cancellation:** In most scenarios an algorithm to cancel out stationary ‘clutter’ will need to be used, otherwise stationary clutter returns will dominate, hiding the fainter returns from moving objects. At the time of writing this manual there is one clutter cancellation algorithm called “Wiener MRE” implemented.

**Max Bistatic Range:** How many kilometres of bi-static range to plot on the bi-static range-doppler graph. The choice is dependent on your setup.

**Max Doppler:** What is the max doppler (speed) reading that should be plotted on the range-doppler graph.

**PR Persist:** If enabled, the range doppler display will maintain a history of previous plots with some decay value.

**Persist Decay:** The amount to decay older plot data at each cycle.

**Dynamic Range:** Choose the plot thresholds for dynamic range. Adjust with trial and error depending on your specific setup until you get a good looking range-doppler graph that shows the moving objects clearly.

## Passive Radar DAQ Data Block Length / CPI Size Settings Guide
The data block length (aka CPI Size) specifies the length of time radio data is collected. This block of data is then forwarded onwards for DSP processing.

For passive radar the data block length is an important parameter. Longer data block lengths result in more processing gain (weaker signal detections), and better range-resolution. This comes at the expense of a slower update rate and more CPU processing time. If you run the code on a fast machine, the update rate will be equal to the data block length time.

Another expense is that fast moving objects could spread their energy out over multiple range-doppler cells if the data block length is too long.

We have included three preconfigured DAQ files that can be used which set optimized data block lengths. They are `pr_2ch_2pow20`, `pr_2ch_2pow21` and `pr_2ch_2pow22`. The latter files have longer data block lengths, but update the display slower.

The optimal preconfig file will depend on the specific passive radar implementation and target type. So we recommend experimenting with each of the three preconfig files.

## Passive Radar Bandwidth Settings Guide
The larger the signal bandwidth the more resolution we can obtain from passive radar. The maximum sample rate/bandwidth that the KrakenSDR is capable of operating stably at is 2.4 MHz.

If you are using wideband illuminators such as HDTV or 4/5G signals, you want to keep the bandwidth at the maximum of 2.4 MHz. This is the default as set in the pr_ preconfig files. 

If you are using DAB (or other more narrow illuminators), note that this only has a bandwidth of about 1.5 MHz. Therefore you will obtain better results if you adjust your bandwidth to match as you don't want to receive the noise floor along the sides of the illuminator. From a base of any pr_ preconfiguration, under the DAQ reconfiguration settings, change the sample rate to 1.4 MHz. And then hit the "Reconfigure & Restart DAQ chain" button. This may take 1-2 minutes before the software has restarted.

# Range-Doppler Units
The range-doppler graph displays bistatic range and bistatic speed. The axes are currently described in CELLS. In order to convert cells to meters or m/s use the following formulas:

$\mathrm{Bistatic Range (meters)} = R_b = cell * \frac{c}{fs}$

Where $c$ is the speed of light, and $fs$ is the sample rate (aka bandwidth), and $cell$ is the x-axis cell. The sample rate by default is set to 2.4 MHz. If you have an illumination signal that is smaller, you should set your sample rate to the closest possible bandwidth that matches that illumination signal.

So for example if we see an object at cell 50 on the x-axis, and we have a sample rate of 2.4 MHz we can calculate $\mathrm{Bistatic Range (meters)} = R_b = 50 * \frac{299792458}{2400000} = 15614 \mathrm{m} = 15.6 \mathrm{km}$

For converting doppler cells to Hertz the formula is as follows:

$\mathrm{Bistatic Frequency (Hz)} = cell * \frac{fs}{2N}$

Where $fs$ is the sampling frequency as before, $N$ is the sample size of the coherent processing interval (CPI), and $cell$ is the y-axis cell on the graph. 

In the passive radar software we provide three configuration files `pr_2ch_2pow20`, `pr_2ch_2pow21`, `pr_2ch_2pow22`. In these files the difference is in the CPI value, which is set to $2^{20}$, $2^{21}$ and $2^{22}$ respectively.

Example cell 500, sampling rate 2.4 MHz and $N = 2^{22}$

$\mathrm{Bistatic Frequency (Hz)} = f_b = 500 * \frac{2400000}{2 \times 2^{22}} = 143 \mathrm{Hz}$

Then to get to speed in $m.s^{-1}$ we simply multiple the Bistatic Frequency $f_b$ with the wavelength of the illuminator, and multiply by -1. (Positive Doppler decreases the range between you and the target so it has negative speed, it is approaching)

So if we were using 560 MHz as our illuminator:

$\mathrm{Bistatic Speed (m.s^{-1})} = -f_b \frac{c}{f}  = \frac{299792458}{560000000} \times -143 = 76.5 \mathrm{m.s^{-1}} = 275 \mathrm{km.h^{-1}}$

Note that objects moving along the line connecting the transmitter and receiver will always have 0 Hz Doppler shift, as will objects moving around an ellipse of constant bistatic range.

It is also noted what with increased CPI you receive the benefit of greater bistatic doppler resolution, however range resolution is not increased. Increase CPI does still have the advantages of more processing gain, resulting in weaker reflections being detected.

# Bistatic Range
The graph provided is a bi-static range doppler graph. Bi-static means that the measurement consists of a transmitter and receiver separated by some distance. This can get complicated, as instead of getting a simple range distance value from the receiver, we end up with an ‘constant range ellipse’ of possible range solutions that depend on some calculations based on the transmitter and receiver positions.

In the future we aim to have software enhancements that make understanding and visualizing the bistatic range on a map much easier. For now, please keep in mind that the range displayed on the range-doppler graph is not simply just the range from the receiver.

![image](https://user-images.githubusercontent.com/78108016/170861790-531a46a8-87f3-442a-941a-89ae110142f3.png)

The bistatic range displayed on the KrakenSDR range-doppler graph is described by the formula $\mathrm{Bistatic Range (meters)} = R_b = R_{tx} + R_{rx} - L$. So you can see that a single reading on the range-doppler graph describes an ellipse of possible locations.

For drawing an ellipse we can then use the equation $2a = R_b + L = R_{tx} + R_{rx}$

# Range Resolution
Range resolution depends on the sampling bandwidth, which for the KrakenSDR and RTL-SDR tuners inside is 2.4 MHz. Therefore we achieve $\frac{c}{fs} = \frac{299792458}{2400000} = ~125m$ resolution per range cell on the graph (assuming the illuminating signal is at least 2.4 MHz as well).

This means that we can differentiate between two different objects that are 125m apart. Or in other words, two objects closer than 125m apart will be combined into a single range cell.

Another example, if we are using a DAB transmitter as the illuminator, then we only have 1.5 MHz of bandwidth. Therefore we achieve $\frac{c}{fs} = \frac{299792458}{1500000} = ~200m$ resolution per range cell.