[Elecraft] Computer-Assisted Diversity Reception
David Gilbert
ab7echo at gmail.com
Sat May 23 15:33:35 EDT 2026
Hi, Dave. Nice to meet you!
There are lots of caveats to what I'm going to say next about antennas,
so sorry if that turns into a treatise all of its own.
1.a. The two antennas do not need to be identical and they can be
almost anything that is capable of providing some minimal signal
strength. However, they do need to be far enough apart relative to a
wavelength that they result in a distinguishable phase difference. I
was able to get some separation in the app with signals having only 15
degrees phase separation, but that was with voice signals ... I suspect
that pure tones like CW could live with even less phase difference.
1.b. Phase separation is a function of the spacing between the two
antennas, but it varies significantly depending upon where the signals
are coming from. It's a sinusoidal relationship. Two signals that are
20 degrees apart in azimuth will have less phase difference if they are
in line with the two antennas than if they are broadside to the two
antennas.
1.c. The ONLY thing the app cares about is that there is a phase
difference between arriving signals and it doesn't care how that phase
difference occurs. That means that you don't have to worry about
matching the type or lengths of coax. It also means that you don't need
to worry about the fact that the phase locked receivers boot up to a
different phase separation each time you turn the rig on or change
certain settings ... like switching to a different crystal filter.
1.d. The antennas don't have to have the same phase response. When I
was working on my earlier attempt to actually measure vertical arrival
angles of signals (there is a separate YouTube video on that) I
discovered both experimentally and with modeling that parasitic antennas
distort the phase of incoming signals ... which isn't surprising since
parasitic antennas create their pattern by manipulating phase. So it is
possible that two different parasitic antennas in relatively close
proximity might generate enough phase difference to be usable with the
app even though their spacing would otherwise be too close. I believe I
experienced that a few times on 40m with my two yagis (shorty 40 above a
tribander) with only ten feet separation between them.
1.e. That same attempt to measure arrival angles showed that multipath
effects, either from propagation (which happens sometimes) or from
ground reflections (which happen all of the time), create a three
dimensional diffraction pattern around our antennas. As propagation
changes, or as arrival angle changes, that diffraction pattern changes
and what the two antennas actually measure is the gradient of that
diffraction pattern. That pattern can change VERY quickly, and
therefore so can the phase difference the app tries to utilize. Here is
a link to a visualization I made to try to illustrate that.
https://www.ab7e.com/InterferencePattern.html The light and dark
patterns represent peaks and nulls, both for phase and amplitude.
1.f. There is typically more difference in arrival angle of signals
horizontally than vertically, so antennas separated horizontally are
probably more effective than being separated vertically ... and for that
vertical antennas would be simpler and more straightforward. I'll say
again, though,
2. Yes, there is some delay between the audio out of the rig versus the
audio out of the computer but it is pretty small. It's a more than just
an echo but I don't think it is enough to affect operation even in a
contest.
3. I don't (yet) have an RSPduo although I have considered getting
one. The RSPduo talks to the computer via USB and the app can't access
that, but you might be able to run the RSPduo under SDRuno or SDR
Connect (both of which are free), send the audio output from either of
those programs to a virtual audio cable like VB-Cable (basic version is
free), and then select the output of the virtual audio cable when you
select the source for my app. I'm not sure how much delay that might
create, though. It would probably make more sense to have a separate
app that accesses the I/Q output of the RSPduo directly. I'm pretty
sure that SDRuno uses the old sum/difference with a phase shift approach
and my app would improve on that, but SDR Connect is new and might use
FFT processing like my app does ... except on the I/Q stream.
Take care es 73,
Dave AB7E
On 5/23/2026 8:22 AM, Dave Fugleberg wrote:
> Good morning David!
> I was intrigued by your video. I had intended to just jump to the
> demo, but I got sucked in and watched the whole thing.
>
> I’ve often wondered if such a thing could be done in a practical way-
> looks like you proved that it can.
>
> I have a few questions:
> 1. How critical is the type and placement of the two antennas? Do they
> need to be identical? Any proximity constraints?
>
> 2. How much audio delay is introduced on a received signal as compared
> to the audio output of the rig itself? In other words, is it useable
> when in an actual QSO, or is the delay objectionable?
>
> 3. I assume any phase-locked dual-receiver rig should work- do you
> know whether it has been successfully used with a SDRPlay RSPDuo ? I
> have one of those lying around unused at the moment, so I will give
> this a go when I get time to do so.
>
> Thanks for your time. Great work!
>
> 73 de W0ZF
>
>
> On Fri, May 22, 2026 at 2:36 AM David Gilbert via Elecraft
> <elecraft at mailman.qth.net> wrote:
>
>
> I recently posted a link to a video of a browser-based application I
> created with the help of ChatGPT to enhance diversity reception. I've
> made a couple of significant improvements to the application (which
> happens to be completely free of charge) so I uploaded a new video
> that
> illustrates how well it can be used to separate signals from other
> signals, or from noise.
>
> https://youtu.be/DfEjzlANWAw
>
> If you don't watch any other part of it, check out the segment
> starting
> at 29:15.
>
> To use this app you simply feed the normal stereo diversity audio
> (Line
> Out) from the phase locked receivers into the Line In port of a
> computer
> sound card. The application does the rest.
>
> I can't think of a single reason why this same kind of processing
> couldn't be built right into a modern SDR-based rig. I've argued
> that
> point here for several years now.
>
> Dave AB7E
>
>
> ______________________________________________________________
> Elecraft mailing list
> Home: http://mailman.qth.net/mailman/listinfo/elecraft
> Help: http://mailman.qth.net/mmfaq.htm
> Post: mailto:Elecraft at mailman.qth.net
>
> This list hosted by: http://www.qsl.net
> Please help support this email list: http://www.qsl.net/donate.html
> Message delivered to dave.w0zf at gmail.com
>
More information about the Elecraft
mailing list