Hi, Andy.
For some reason I didn't get your post via the Elecraft reflector. A friend of mine forwarded it to me, so sorry for any delay.
1. There is a little bit of delay between what I hear from my K3 receiver's speakers and what I hear from NoiseNuller, but it is only enough to create a slight echo effect. It would not be enough to affect the pace of making QSOs.
2. For the Spatial processing mode, yes ... you should train the application on noise only first. It only takes a few seconds , but if you use a period where there is both noise and signal the reduction is less effective. The number of seconds needed for training is mostly a function of the noise profile. I've been able to get good results with as few as 2 or 3 seconds if the noise is somewhat uniform even if it is quite loud, but that nasty solar panel noise I used in the demonstration seemed to work best with 6 to 10 seconds. When I made the recording I used in the demonstration I simply started the recording and then waited for several seconds before transmitting the narrative, but if the noise covers more than just the signal you can tune off a bit to train for the noise and then tune back to the signal. If you listen carefully to the recording you can hear where the noise drifted and I had to retune the transmitted frequency of the narration, but even though the noise had shifted the training still worked. That's sort of the inverse of tuning off frequency to train the noise, but the result is similar.
3. If the noise changes in profile too much, yes, you'd probably have to retrain the application. But the noise I used for the video is about as variable as I can imagine anyone having to deal with. It was pretty nasty stuff and once the application was trained on it the reduction captured it.
4. I've never tried training on a pre-recorded noise file before switching to Live feed. That's an interesting idea and I think it might work. Browsers have an annoying habit of saving stuff in a cache and I had lots of problems when developing applications. I'd make a change to the app but the browser was using things from the previous version unless I remembered to always clear the cache each time using CTRL-F5. That might work to some advantage for your suggestion ... train the noise on the pre-recorded file and then switch to Live. Let's both give it a try and see if it works.
5. if I understand it correctly (and I might not), the DJ5EU approach is more traditional. It takes the signals from the two antennas, equalizes their amplitudes, and shifts the phase of one of the signals until it is 180 degrees out of phase of the other signal so that their sum cancels. That works but it requires equalizing the amplitudes and it is less effective the closer the initial phases are ... which is why he uses the rotator to get better difference in the phases. It has the advantage that it is less dependent upon the nature of the noise than my NoiseNuller application is. For example, the DJ5EU approach could more easily handle noise that changed from storm static to arc welder noise, whereas my application would probably need to be quickly retrained. The NoiseNuller application works completely differently. It performs FFT processing of both signals, which results in "bins" of data for each slice of the frequency spectrum. Each bin has both phase and amplitude information, so NoiseNuller spends a few seconds statistically analyzing the profile of the noise and decides which bins from each signal are mostly associated with the resulting noise profile. When the application performs a reverse FFT to turn the digital data back into audio it first diminishes the amplitude of each FFT bin according to how strongly it was associated with the noise. Bins that aligned only with the noise get ignored completely. Bins that are associated with the noise only some of the time during the training period get a diminished amplitude but not deleted because the might later be part of a desired signal. Bins that weren't part of the noise get left alone. It's pretty sophisticated, but I can't claim any credit for it. I developed the entire application with the help of ChatGPT ... I didn't write a single byte of the code myself.
In my opinion, NoiseNuller does have some advantage over the DG5EU approach. For one, it takes very little change in phase between the two antennas for NoiseNuller to work. For example, if the difference between the same bins from each signal is only 5 or 10 degrees, it's easy to completely block one versus the other. It's just a decision, not a sum/difference.
Another advantage of the FFT approach is that NoiseNuller doesn't care in the least how the phase difference between the two signals was created. As long as there is a phase difference it can make a decision. In my case, I've been able to get very good separation of noise even at lower frequencies simply using the two yagis that are only ten feet apart (an OB2-40 10 feet above an OB16-30) on my tower. Yagis function by manipulating phase (which can be seen by using the Far Field tab in EZNEC) and that phase impact is of course a function of the spatial direction, both for azimuth and for elevation.
As with most things, each approach has its advantages. My answer to most things has always been "it depends". ;)
Best regards, Dave Pretty impressive Dave, thanks for sharing. I am lately experimenting a lot with HF noise reduction by RX Ant Phasing Controller DXE NCC-2. I know , a different story , because I am only using one RX input port only (FTDX101MP, K3S-P3). That is main (TX/RX) and RX auxiliary antennas as input channels for the NCC-2. The antenna choices/positions are key! When testing RM-Noise (external server processing)https://ournetplace.com/rm-noise/ it appears to be too much latency for e.g. 30WPM CW. It is generally clear Groundwave ( constant) and Skywave ( uncontrolled variable) phasing is different. Questions: 1.) Is there a relevant latency issue in your procedure, no internet involved ? 2.) I think you need to train your system with QRM, right, as shown ? 3.) If QRM type/QRG changes, will you have to retrain? 4.) Can you produce and store a QRM database for quick reuse? 5.) What do you think about the Dj5EU Systemhttps://www.qrz.com/db/DJ5EU, he can even minimize QRN (9th sample) by directivity. Tnx, cu, vy 73 Andy HB9CVQ, DK2VQ, AK4IG ______________________________________________________________ Elecraft mailing list Home: http://mailman.qth.net/mailman/listinfo/elecraft Help: http://mailman.qth.net/mmfaq.htm Post: mailto:[email protected] This list hosted by: http://www.qsl.net Please help support this email list: http://www.qsl.net/donate.html Message delivered to [email protected]

