I wonder if this could be used to df?
Probably. However, it might not be straight forward. Off the cuff here, and just throwing out things as they pop in my head. Also keep in mind I have not tried this software yet, so some of this is guess work on how it might all function.
The best situation would be two small horizontal footprint identical antennas. Call it two multiband verticals, or maybe two mag loops. For argument and ease of example lets say this is two antennas spaced 50 meters apart and on a North / South line with antenna A (channel A in the software) at the North end and antenna B (channel B in the software) at the south end
The beam from an array of two such antennas is going to be pretty broad, with a not very well defined peak. However the null should be much more sharply defined. This means to me that DFing using the null instead of the peak would yield better results, assuming you have enough signal strength to do this.
If the feedlines are matched phased lengths (regardless of physical length, but with matched phase delay through the pair of feedlines) then a bearing perpendicular to the plane of the two antennas would yield 0 degrees of phase difference, with the antenna configuration I stated above and since this is only two antennas this would be bidirectional, meaning it could be either 090 or 270 degrees, with no way to be sure which. But remember what I said about the null being sharper.
I think that means that if you put in 180 degrees of phase difference between the two channels of the SDR then you would generate a null that was perpendicular to the N/S line defined by the antennas, or now “point” the two main nulls on 090 or 270 degrees bearing.
The perpendicular case is easy, because that is always a 0 degree phase difference signal on arrival. Anything off perpendicular is more complex. If the two antennas are spaced exactly ½ wavelength apart then the parallel, or end fire situation, is also pretty easy to define. A signal arriving from a bearing in line with the two antennas will be 180 degrees delta between the two channels. So 0 degrees of phase shift between the two SDR channels would place the null on the 000 / 180 line, and as shown above 180 degrees of phase shift would place the null along the 090 / 270 line. So now, for this specific physical setup you can calculate any point around the circle. For example with a phase shift in software of antenna A leading antenna B by 90 degrees in phase the nulls would be shifted to the 045 / 225 bearing lines.
But that easy math only applies if the two antennas are physically ½ wavelength apart and if the two feedlines are phase matched. And of course wavelength and phase length depend on frequency. So the electrical delay relationship between the two antennas and the relative phase length of the feedlines will change as you change frequency.
It should be relatively simple (a small matter of software, says the hardware oriented guy) to do automatic calculations based on known values. For example assume that the feedlines are the same physical length and type of coax, in fact make that a requirement. That removes that feedline variable from the equation. Then if the spacing of the antennas is known and the orientation of the antennas is known, the phase relationship for any given bearing on any frequency can be calculated. That could be used to “steer” the null to any given bearing pair.
Now, the next step in thought. Once you can control the null (or peak, if you want) to a known point what else can you do? If you now cycle the phase relationship from zero to max +phase, back to zero, to max –phase, and back to zero, you have just “scanned” the beam (or null) in a full circle. If you plot the amplitude of a given signal (and if there is only one signal on frequency) while scanning this circle you could plot what is basically the beam pattern of your two element array, and the peak of the pattern would point towards (and away) the signal source. If you offset phases so that you are plotting the null then the null will point towards (and away) the signal source.
Next step in thought. Once you can control the beam in this way and plot the results, electronically spin the array quickly and plot the results on a circular PPI like display. Presto, you have a real time PPI or compass rose that can indicate direction of arrival.
Just some quick thoughts.
T!