I had some frustrating attempts to set up an interference cancellation system employing coherent cancellation with 2 antennas feeding RX1 and RX2 of my Anan 7000DLE and using the Diversity control of openhpsdr.

So I tested the setup in a 'clean' condition. I set up a signal generator at 14.2MHz at about -60dBm, split the output into two parts and fed them into RX1 and RX2 in parallel. I synce'd VFO A and VFO B using the button. Then using the Diversity control adjusted the gain and phase until I got a nice null, in excess of -30dB. I moved the frequency of the test signal a little and the null persisted nicely in the panadapter.

HOWEVER when I adjusted the tuning of the Anan (even slightly) and then returned to the exact same frequency, the phase setting was now way off. The gain was stil correct though.

I conclude from this that the phase relationship between 'VFO A' and 'VFO B' is arbitrary and can be anywhere over 360 degrees after a tuning step. Once they are sync'ed they will maintain that relationship, which can be adjusted with the diversity control. HOWEVER it is lost immediately after a tuning adjustment is made, even though they are both continuously sync'ed.

It seems to me that if one wanted to set up a proper nulling or beam steering system it would be important to be able to tune the system at least a little without destroying the cancellation or steering setting.

Does anyone have any comments or suggestions regarding how to fix this issue?

I'm not seeing that behavior here using OpenHPSDR mRX PS V3.4.9 with my 200D. In the video that I uploaded to YouTube the gain and phase remain the same, and the null is preserved, whether I step through the band stack or adjust VFO A. I'm using my 185 foot center-fed wire transmitting antenna into the ANT-1 port and an E-W oriented 85 foot wire loop into the RX2 input. In the video, the null on the local broadcast station is in excess of -30dB.

73,

Rob W1AEX

"One thing I am certain of is that there is too much certainty in the world."

Thanks for the response.I'm using the same version of openhpsdr you are i.e. 3.4.9 and I tried it a couple of times.Maybe I'm setting something up differently from you or maybe the 7000DLE behaves differently from the 200D.

I'll scrutinise your video carefully and see if I'm doing anything different, then I'll try it again and get back.

When in "diversity" (really coherent beam forming) mode there is no requirement to use, nor should you be manipulating, VFO B. Indeed, the RX2 function is disabled in this mode.

Tuning VFO A may or may not change the phase relationship between the two DDCs thereby often necessitating retuning the diversity phase setting. This is an unfortunate limitation of the current firmware.

Yes, I noticed that in Diversity mode that the VFO-B window is greyed out and you can't change it - nor would you want to of course. Both receivers have to be set to the same frequency.

I checked the schematic for the Anan7000DLE and both ADC's are driven synchronously and directly from the 122.8MHz crystal oscillator. So any phase discrepancies must arise further down the chain, I would assume wherever the numerical oscillators for tuning are generated. I presume that the Diversity controller changes the phase of one of these oscillators somehow.

Are you saying that the cause of this un-predictability of the phase is presently inherent in the FPGA firmware?

That might explain why I experience the problem but Rob does not. I would have to assume that the FPGA code in the 7000DLE is different from that in the 200D. AFAIK the FPGA devices themselves are different for starters.

From what I read of numerical oscillators, they usually have a phase accumulator which increments phase by a given amount every clock cycle and the size of the increment determines the frequency. If you change the frequency by *only* changing the increment value, you'll get the correct frequency but at some arbitrary phase. Which doesn't matter for 99% of applications - except for beamforming and the like.

So if this were true, I guess that to fix the problem you'd have to write the FPGA code so as to reset the phase start points to zero for both oscillators upon a change of frequency. Or something like that.

mike_ve3ebr wrote:Hi Scott:So if this were true, I guess that to fix the problem you'd have to write the FPGA code so as to reset the phase start points to zero for both oscillators upon a change of frequency. Or something like that.

It's just simpler:For "Diversity" use the signal of one NCO for both DDC's.

BTW I downloaded and checked out the verilog FPGA code for the Orion MkII and I think I see where the problem is. As surmised, the 'diversity' command seems to just change the phase accumulator increment (i.e. the resulting frequency) to be the same for both RX1 and RX2.

So I think one would need a 'switch' to use a single phase accumulator for both receivers, one RX having a variable phase offset controlled by the Diversity controller) when in diversity mode. Or something like that.

Does anybody know how to contact the folks who write the FPGA code?I might be prepared to take a shot at implementing it but I'd need lots of help getting up to speed.