I am trying to identify and remove airplanes in a time series obtained at a radio meteor receiver. Here we have a spectrogram which displays the power content of my signal as a function of frequency and time:

Initial spectrogram

The vertical lines are the meteors (the signals of interest for me) while the S-shaped horizontal traces are the airplanes.

In order to identify the airplanes, I apply a mask and some image processing filters. The corresponding time-frequency bins of the Short Time Fourier Transform (STFT) are then set to zero.

Afterwards, I perform an Inverse STFT to retrieve my corrected time series, using the overlap-add procedure (OLA) offered by Scipy: https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.istft.html

What I would like to do, is to NOT set to zero the time-frequency bins when there is a crossing between a meteor and an airplane.

These crossing zones (which I can already identify easily) correspond for instance, to the zone indicated by an arrow in the following figure. The rest of the airplane is properly subtracted, the only problem happens at the crossing with the meteor:

Crossing meteor-airplane

Instead, I would need to have a systematic way to interpolate the neighboring STFT bins of the airplane (like from the STFT bins of the airplane just before and just after the crossing with the meteor).

For the record, the parameters for my STFT (and ISTFT) are the following:

  • Sampling frequency = 6048 Hz
  • Duration of each bin = 3 seconds -> frequency resolution of 0.33 Hz
  • Overlap between two consecutive bins = 90% -> apparent time resolution in the spectrogram of 0.3 s

Usually, the meteor lasts for less than 2 seconds, and the airplane signal has a frequency span of less than 3 Hz. Because of the Doppler effect, the frequencies of the airplane are changing with time.

My question is thus the following: how can I properly determine the STFT of the airplane signal during the crossing with the meteor?

  • $\begingroup$ Can you tell us more about the signal you have? How was it collected? What type of phenomenology is it taking advantage of to detect meteors? Was there a transmitter or are you just passively receiving ambient signals? Most of us don't know much about radio meteor receivers. $\endgroup$
    – Gillespie
    Commented Jan 27 at 18:20
  • $\begingroup$ Welcome to SE.SP! Interesting problem. I wonder if simply doing a median filter of the vertical pixels in the image rather than zeroing out those pixels might yield better results. $\endgroup$
    – Peter K.
    Commented Jan 27 at 19:23
  • 1
    $\begingroup$ @Gillespie: The signal was obtained at a radio receiver that is tuned to the frequency of a continuous wave emitted by a transmitter without modulation. The radio wave is reflected on the ionization trail produced by the meteor when it enters the atmosphere. $\endgroup$
    – Vakeras
    Commented Jan 28 at 13:11
  • $\begingroup$ @PeterK. : Thank you! I assume the median filter of the vertical pixels would be an option if I was only using the magnitude squared of the STFT. Here however, I am inverting it with the ISTFT using the complex values. I can test the Griffin Lim algorithm, but I would rather use the a priori knowledge I have about the airplane signals. $\endgroup$
    – Vakeras
    Commented Jan 28 at 13:12

1 Answer 1


To identify the airplane, let us assume that, unlike the meteor signal, the plane signal has a specific frequency that changes slowly. Therefore, for the plane signal we expect to have a continuity of the spectrum $$S(t_n, f)\Pi_{k=1}^{K} S(t_{n-k}, f)*g_k(f)>Th$$ where $Th$ is a noise threshold, $g_k(f)$ is a smoothing window (let us assume a Gaussian), where $k$ can be used as a frequency scaling factor (for example you can use $\sigma=k$).

On the other side, for a meteor, the expression should lead to values below the threshold.

Attached the illustration from the original paper on a completely different application. Since the original paper got some additional ideas that I skipped for simplicity, it uses different notations than the one used in the illustration.

enter image description here

Assuming you have managed to remove the planes but you also removed some of the meters, I would use the residual signal with the threshold to create a mask and then smooth the masking in the vertical direction by the median filter, to create a new mask. The new mask can be applied to the original signal extracting the meteors only.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.