I am training a Tensorflow classifier model with signal data (converting signals to the spectrograms).

I want the model to be insensitive to the arrival time of the signal within the fixed window.

Moreover the model should classify both of these signals as the same.

signal and delayed signal


  1. Train the model using the same signal at different arrival times
  2. Preprocess the signal before providing it to the model

I want to avoid 1. because it will mean I have to generate a huge amount of signal data which will slow down training.

Are there any commonly applied preprocessing steps for this problem?


1 Answer 1


A common approach is what you suggest in 1. - apply time-shift as a Data Augmentation strategy. The augmentation is generally beneficial with deep learning models, and GPUs are fast so the compute time is rarely a big problem.

Another strategy, less common, would be to make sure that the event is always located at the same position inside the analysis window during training. At prediction time one uses a high degree of overlap between analysis windows, to ensure that the model has a good chance of seeing the signal in the correct position. If you have high quality labels, aligned time-stamps for each event, this is rather straight forward.

A third approach would be to use a combination of a detector model and a classification model. The detector job is to take the input signal stream, and detect the presence of a possible event - then possible events are passed to the classifier. A well designed detector would have a rather predictable trigger time, so the classifier does not have to be time-shift invariant. This is easy enough for signals that have a very clear event vs not-event signatures, but hard for more complex signals or low SNR conditions.


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.