This document presents a comprehensive methodology for detecting tool breakage in milling operations through frequency domain analysis of vibration signals. Milling processes inherently generate complex vibrational patterns. By leveraging signal preprocessing techniques and the Fast Fourier Transform (FFT), this approach enables precise identification of characteristic frequencies and anomalies indicative of tool damage. The following sections detail the theoretical background, preprocessing strategies and FFT calculation, followed by their implementation under both experimental and real shop‑floor conditions.
In milling, harmonics refer to the vibrational frequencies generated by the interaction between the cutting tool and the workpiece, multiples of a fundamental frequency present in a signal. Two significant harmonics in the milling vibration signal in the frequency domain are :
Where:
- z = Number of flutes (cutting edges)
- n = Rotation frequency in revolutions per minute (RPM)
- 60 = Conversion factor from minutes to seconds
Tool breakage significantly affects the frequency spectrum of milling force signals. There is indeed a relationship between the number of teeth on a milling tool and the characteristic frequencies observed during operation. Specifically, while the milling frequency dominates under normal wear conditions, tool breakage causes the reappearance of the rotation frequency with a significantly higher amplitude [1].
Fourier Fast Fourier Transform (FFT) and frequency domain analysis are essential tools for detecting tool breakage in milling because they allow for the precise identification of vibrational patterns and anomalies that are often invisible in the time domain. In the following the followed approach and techniques will described.
Signal preprocessing is crucial before applying the Fast Fourier Transform (FFT) because it ensures that the frequency analysis yields accurate and meaningful results. Although multiple filtering and windowing techniques are available, this section focuses on those employed in the present applications:
Optimal number of frequency lines: It determines the optimal number of frequency lines (n_lines) to use for FFT analysis by balancing the desired frequency resolution (based on the Nyquist factor) with the available signal length. This approach ensures efficient FFT computation (if size is a power of 2) while maintaining meaningful frequency resolution.
Butterworth pass-band filter: The Butterworth filter is a type of signal processing filter known for its maximally flat frequency response in the passband, meaning it does not introduce ripples or distortions within the desired frequency range. The filter is versatile, supporting low-pass, high-pass, band-pass, and band-stop configurations, and its design is relatively simple and stable. Filtering has been performed using the scipy.signal module from the SciPy library [[2]].(#references)
Hann Windowing: The Hann window function works by smoothing the edges of the signal, which reduces abrupt transitions that can cause distortion in the frequency domain. This smoothing effect helps to reduce spectral leakage and also improves frequency resolution, allowing for clearer identification of distinct frequency components. It is particularly beneficial when analyzing non-periodic or finite-length signals, where edge effects are more pronounced. Hahn windowing can be performed using the scipy.signal module from the SciPy library [2]. It can be specified whether the window should be periodic or symmetric (using periodic parameter in the case of spectral analysis).
The Fourier Transform is a mathematical operation that transforms a continuous-time signal into its frequency domain representation. For a continuous function ( f(t) ), the Fourier Transform is:
The Discrete Fourier Transform (DFT) is the discrete counterpart of the Fourier Transform, used for digital signals sampled at discrete intervals. Given a sequence , the DFT is:
The Fast Fourier Transform (FFT) is an algorithm used to compute the DFT efficiently. NumPy’s FFT implementation (numpy.fft) [3] is based on the Cooley-Tukey algorithm [4], which is particularly efficient when the input size is a power of two. When applying windowing before the calculation of the FFT, it is essential to account for the amplitude attenuation introduced by the window function. Windowing inherently reduces the signal’s energy and, consequently, the amplitude of its frequency components in the resulting spectrum. To correct for this effect and ensure accurate amplitude estimation, a scaling factor—known as the coherent gain—must be applied. As detailed by Brandt [5], the amplitude spectrum should be divided by the coherent gain to compensate for this loss.
Under experimental conditions, data were acquired from two accelerometers (X and Y) positioned near the spindle of a milling machine. With the aim of analyzing the breakage phenomenon, controlled tooth fractures were induced in specific tests, providing a labeled dataset. The experiments involved multiple tools and machining conditions. The used equipment included a high-frequency acquisition device with Codesys programming capabilities. The monitored data were extracted to Matlab files, organized per tool type. Each signal has been filtered, windowed, transformed into the frequency domain, and analyzed to visualize and extract harmonic amplitudes.The process has then automated across the experimental files to generate features and labels, producing a structured dataset ready for machine‑learning‑based tool health classification.
This approach has been implemented at the shop floor using a Soraluce milling machine within the AIMS5.0 project. The hardware architecture used is composed of a Process Automation Controller (PAC), which is directly connected to the accelerometers, and the SAVVY Edge device. Acceleration data (X, Y) were acquired at high frequency and preprocessed locally at PAC, while vibration‑based tool harmonic features were transmitted to the SAVVY platform at a 1 s update rate.

Based on these features, a real‑time tool breakage detection application has been developed using both machine‑learning‑based techniques and threshold‑based approaches. The application is deployed as a microservice at the edge. For demonstration purposes, the application has been validated on selected machining operations performed with a specific cutting tool. Tool breakage detection is executed every second, using as input the tool harmonic features, which are also computed at a one‑second rate.
As a summary, the implemented AIMS5.0 technologies have been the following:
[1] Pan, T., Zhang, J., Yang, L., Zhao, W., Zhang, H., & Lu, B. (2021). Tool breakage monitoring based on the feature fusion of spindle acceleration signal. The International Journal of Advanced Manufacturing Technology, 117(9-10), 2973-2986. https://doi.org/10.1007/s00170-021-07705-z
[2] Virtanen, P., Gommers, R., Oliphant, T. E., Haberland, M., Reddy, T., Cournapeau, D., Burovski, E., Peterson, P., Weckesser, W., Bright, J., Van Der Walt, S. J., Brett, M., Wilson, J., Millman, K. J., Mayorov, N., Nelson, A. R. J., Jones, E., Kern, R., Larson, E., … Vázquez-Baeza, Y. (2020). SciPy 1.0: Fundamental algorithms for scientific computing in Python. Nature Methods, 17(3), 261-272. https://doi.org/10.1038/s41592-019-0686-2
[3] numpy.fft.fft—NumPy v2.3 Manual. https://numpy.org/doc/stable/reference/generated/numpy.fft.fft.html
[4] Cooley, J. W., & Tukey, J. W. (1965). An algorithm for the machine calculation of complex Fourier series. Mathematics of Computation, 19(90), 297-301. https://doi.org/10.1090/S0025-5718-1965-0178586-1
[5] Brandt, A. , Noise and Vibration Analysis: Signal Analysis and Experimental Procedures, 2nd ed., Wiley, Chichester, 2011.