When it comes to vibration analysis the Fast Fourier Transform (FFT) stands out as a particularly powerful tool. But how does an AI, like ChatGPT, understand and explain the use of an FFT when compared to an experienced NVH engineer?
In this post we ask Kresimir Trdak, NVH Group Fellow and Lab Manager at Hutchinson’s Center for Research and Innovation, to analyze ChatGPT's response, and provide his own expert opinion to the same question - hopefully enriching your understanding of the intersection between advanced AI and human expertise in the field of vibration data analysis.
The Fast Fourier Transform (FFT) is used to analyze vibration data because it efficiently converts complex time-domain signals into the frequency domain, revealing essential information about the vibration frequencies and their intensities. This helps in quickly identifying mechanical faults, understanding system dynamics, and performing real-time monitoring. FFT's computational speed and ability to isolate specific frequency components make it indispensable for effective analysis, diagnostics, and predictive maintenance in various engineering applications.
Knowing the word limitation imposed by the initial prompt, I found the response of ChatGPT to be concise and informative in general; however, it does not disclose how FFT indeed “helps in quickly identifying mechanical faults, understanding system dynamics etc.” - at least not to someone not knowledgeable in vibrations; an engineer's view might be helpful for this.
The Fast Fourier Transform (FFT) is a quick & efficient numerical technique for converting signal from time to frequency domain. Vibrations are generally the unwanted outcome of some machine or process. Representing vibration signals in frequency domain allows to relate them with key operational parameters of the machine or process at their origin.
Example: in frequency representation of the vibration signal, there is a high amplitude at 100 Hz. The vibration signal was recorded on the machine run by an electric motor turning at 6000 rpm. High vibration amplitude at 100 Hz is directly related to the rotational speed of the motor (6000 rpm = 6000 revolutions / 60 sec = 100 revolutions / sec = 100 Hz)
The question “why I would use an FFT to analyze vibration data” contains in it 2 questions: (1) “why analyze vibration data in frequency domain?” and (2) “how to convert vibration signals into frequency domain?” Here are my replies for these 2 questions.
1. Why analyze vibration data in frequency domain?
Vibrations are generally considered as an unwanted outcome of some process, example: operation of an electric motor. The signal from a vibration sensor is a time varying history of recorded vibration. The time history of vibration is very dense as it contains many variations per time unit (hundreds or thousands per second). Knowing the value of vibration signal at a given time instant is not instructive given that this value will change in a tiny fraction of time. Knowing however the amplitude of vibration oscillations at given frequency (number of oscillations per time unit) is largely more instructive because it is in direct relation with the process originating the very vibration. Example: a machine driven by an electric motor produces large vibrations. Frequency spectrum of measured vibrations shows high level at 100 Hz when the motor runs at 6000 rpm. 100 Hz is precisely the rotation speed of the motor expressed in revolutions per second (3600 rev / min = 3600 rev / 60 sec = 60 rev / sec = 60 Hz). The cause of vibrations at the rotation speed of the motor is often an unbalanced mass of some rotating element of the machine. Knowing the frequency spectrum of vibrations leads to the source of the vibration (the motor in this case) and the cause of the vibration (some unbalanced mass of the rotating elements of the machine).
2. How to convert vibration signals into frequency domain?
Conversion of the numerized time history of recorded vibration signal into frequency domain is done through the mathematical operation called Discrete Fourier Transform (DFT). The problem with DFT is the size of the necessary data set which order of magnitude is N^2 where N is the number of time samples in the original signal (N = 1024 for a small size signal – the size of the DFT data set is thus more than 1,000,000).
The Fast Fourier Transform (FFT) is a numerical algorithm that converts the signal time history into frequency spectrum with manipulating largely smaller data set which order of magnitude is N×log(N). For N = 1024, the size of the FFT data set is thus close to 3,000. This is largely lower than the 1,000,000 of the DFT. Lower size of the data set means that shorter time for conversion and lower cost of calculator for doing it. As time to frequency conversion is needed in many domains (engineering, finance, …), the IEEE magazine Computing in Science & Engineering accounted the FFT in the top 10 Algorithms of 20th Century. Initial works on the FFT algorithm can be traced to Gauss. The modern generic version of it is credited to James Cooley and John Tukey who published it in 1965.
Both ChatGPT and I agree on the importance of FFT in vibration data analysis, highlighting its efficiency in converting time-domain data into meaningful frequency-domain information. This transformation is crucial for diagnosing and understanding vibrations in vibration data analysis, especially in machinery, making FFT a key tool in engineering. The FFT algorithm's significance is underscored by its listing as one of the top 10 Algorithms of the 20th Century, with historical contributions from Gauss and its modern form by Cooley and Tukey.
For more posts on FFTs and their relationship with PSDs I invite you to check out these posts: