# Interpolation of STFT between time and frequency bins

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:

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:

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?

• 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. Commented Jan 27 at 18:20
• 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.
– Peter K.
Commented Jan 27 at 19:23
• @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. Commented Jan 28 at 13:11
• @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. Commented Jan 28 at 13:12

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$$).