  Recent advancements in sensing, measurement, and computing technologies have
significantly expanded the potential for signal-based applications, leveraging
the synergy between signal processing and Machine Learning (ML) to improve both
performance and reliability. This fusion represents a critical point in the
evolution of signal-based systems, highlighting the need to bridge the existing
knowledge gap between these two interdisciplinary fields. Despite many attempts
in the existing literature to bridge this gap, most are limited to specific
applications and focus mainly on feature extraction, often assuming extensive
prior knowledge in signal processing. This assumption creates a significant
obstacle for a wide range of readers. To address these challenges, this paper
takes an integrated article approach. It begins with a detailed tutorial on the
fundamentals of signal processing, providing the reader with the necessary
background knowledge. Following this, it explores the key stages of a standard
signal processing-based ML pipeline, offering an in-depth review of feature
extraction techniques, their inherent challenges, and solutions. Differing from
existing literature, this work offers an application-independent review and
introduces a novel classification taxonomy for feature extraction techniques.
Furthermore, it aims at linking theoretical concepts with practical
applications, and demonstrates this through two specific use cases: a
spectral-based method for condition monitoring of rolling bearings and a
wavelet energy analysis for epilepsy detection using EEG signals. In addition
to theoretical contributions, this work promotes a collaborative research
culture by providing a public repository of relevant Python and MATLAB signal
processing codes. This effort is intended to support collaborative research
efforts and ensure the reproducibility of the results presented.
