The WebSDR in Maasbree receives multiple electric fence pulses which are very annoying.
As a start the Maasbree WebSDR applies noise blanking on the 80m band.
The noise blanker is programmed in GNUradio companion and operates between the RSP1a driver and the websdr software.
With noise blanking it is mainly about determining exactly the place in time of the electric fence pulses. At all times it must be prevented that inappropriate blanking occurs as a result of signals. Without signals it is much easier, but then you don't need a noise blanker.
The noise blanker is active on the 512kHz I/Q sample stream arriving from the RSP1a receiver via the driver and SDRplay API.
In the 300kHz bandwidth of the 80m band the electric fence pulses can be lower in amplitude than signals. That makes it difficult to discriminate them. All signals are small band signals and so the amplitude changes relatively slow in time. Even CW signal rise and fall times are multiple milliseconds.
Electric fence pulses however are very short in time. Multiple short pulses can be present right after each other. But all within a few microseconds. So occupying only one or a few samples in the 512kHz I/Q stream. Minimizing the contribution of the signals is performed in the frequency domain. A Fast Fourier Transform (FFT) calculates the current spectrum in a 1msec time window with 50% overlap. The amplitude in the current spectrum is averaged over 12 successive windows. This average spectrum is able to track the signal amplitudes. Next the current spectrum is divided by the average spectrum. As a result all signal amplitudes are scaled to 1. Also the noise amplitude is scaled to 1. A very short electric fence pulse doesn't contribute to the average spectrum and so the amplitude will not be scaled. That is, only at signal frequencies present at that time, the pulse is scaled with the signal amplitudes.
Signal amplitudes are scale to the noise level and only the electric fence pulse retains the amplitude. The current scaled spectrum is converted back to the time domain by an inverse FFT. The electric fence pulses are enhanced in this new signal making it much more easier to locate them in time. A simple threshold is all it takes. If an electric fence pulse is detected, the corresponding samples in the I/Q stream are set to zero. This works fine as long as the entire band is not occupied with signals at the same time as the fence pulse.
At the location of signals in the spectrum the phase of the signals will contribute. After all, a spectrum consists of amplitude and phase. However, sufficient information about the electric fence pulses remains in the current scaled spectrum to locate the place in time.