Home » Radio » Software Defined Radio » SDR Spatial Filtering Demo – Watch It Work

SDR Spatial Filtering Demo – Watch It Work

sdr spatial filtering demo

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.


  1. David Rowe says:

    Hi John,

    Very nice work in a major problem for urban HF radio today. I’ve played with some maths for these systems and one sticking point is multiple noise sources at the same time. A second noise source being emitted from a 2nd location may require a different complex coefficient to cancel it. Perhaps this has been address in the beam forming world, e.g with additional receivers.

    Also it may be possible to implement these systems with multiple incoherent receivers. I do a lot of work with modems, and a common task is to resolve the frequency, phase, sample clock and and timing offset between a tx and rx.

    – David

    • John VE6EY says:

      Thanks David. Thus far, I switch between two or three different noise probes but this only tackles one source at a time! 🙂 I would think though that if you had say four channels, you could come up with a composite pattern with a few nulls in the right directions for multiple sources. But that is beyond most of us “amateurs”.

Leave a Reply