This GNURadio SDR spatial filtering demo shows how you can eliminate local RF interference using coherent sampling on two radio channels with different antennas.
Here is a demonstration of “noise cancellation” using digital data in a software defined radio. Actual implementation requires a dual channel SDR with one antenna for the main reception, and the second antenna focused on receiving noise or interference. This demo uses GNURadio to simulate how two IQ data channels can be used to subtract interference.
You can see the impact of spatial filtering in the above graphic. The green line is before filtering, and the blue line is after interference reduction.
Everything is explained in this video. If you want to try this for yourself, here is the GNURadio flow diagram.
Now, let’s step back. So called “noise cancellers” like the ANC4 and MFJ1026 work by adjusting the phase of received interference so that it cancels this interference before the main receiver. A phase reversal of 180° does the trick. You can accomplish this effect within your SDR as long as it has sufficient dynamic range. And the math to do it is simple. Just multiply the I/Q data on the noise channel by -1!
This simulation accomplishes interference elimination by starting with two audio recordings. The first recording is the main channel that you hear on your receiver – the desired signal being plundered with interference. The second recording is the interference only. You play these files back and mix them together at baseband, doing a phase reversal on the noise data before the mixing.
SDR Spatial Filtering Demo – The Devil is in the Synchronization
This SDR spatial filtering demo only works properly when the baseband data on the two channels is synchronized. In a real radio, this would mean identical frequency and phase coherence between two channels. If there is a timing difference of even a few samples between the main and noise channels, all bets are off.
This is why I am advocating a switch to dual channel coherent SDR receivers. You can’t do much spatial filtering if you are using two different receivers without coordinated sampling.
I recently ordered the Afedri SDR-Net Dual Channel receiver. It provides coherent data from two receivers sampled by a 2 channel ADC. When it arrives, I will do some experiments rather than simulations and report back.