Using LTspice to Analyze Vibration Data in Condition-Based Monitoring Systems


This article describes how to use LTspice® to analyze the frequency content of vibration data in condition-based monitoring systems in order to give an early warning of motor failure in industrial machinery. The article explains how to take X, Y, and Z plane data from a Microsoft Excel® spreadsheet and convert it into a format to which LTspice can apply a Fourier transform to produce a plot of the harmonic content of the vibration data.


The advancement of digital technology shows no sign of slowing down, pervading every area of our lives. Giving machines intelligence is far from an Orwellian dystopia; it instead yields efficiency improvements in factory automation, as automated feedback loops can reduce direct maintenance time.

Industry 4.0 describes the concept of bringing the advantages of big data to the factory floor. Machines fitted with sensors can monitor their own performance and communicate with each other, enabling them to share the overall workload while providing important diagnostic information to the back office, be it in the same building or on another continent.

A quick survey of Analog Devices’ product offerings shows that ADI is heavily committed to providing solutions for the Industrial Internet of Things (IIOT), namely by offering robust, high performance signal chain components from the sensor to the cloud.

One such area of industrial automation is that of condition-based monitoring (CbM), whereby the nominal operating characteristics of a machine are carefully calibrated, then the machinery itself is closely monitored with local sensors. Conditions that deviate from the nominal signal show that the machine needs maintenance. Thus, machines equipped with condition-based monitoring systems can be serviced when they actually need it instead of as part of a relatively arbitrary servicing schedule.

The preeminent way to determine the state of health of a motor is to examine its vibration signature. Analog Devices’ MEMS technology enables the vibration signature of a motor to be continuously monitored, revealing the health of the motor when its signature is compared to a known no-fault motor. Indeed, each motor fault has its own unique harmonic signature. By looking at the harmonic content of the vibration pattern, faults can be detected in the bearings, inner and outer races, and even in the gearbox teeth.

Analyzing Vibration Data in LTspice

To produce data for Fourier analysis in LTspice, three ADXL1002 accelerometers were connected to a motor, as shown in Figure 1, to measure vibration in the side-to-side, vertical, and fore-to-aft directions—X, Y, and Z, respectively.

Figure 1. Channels X, Y, and Z measured vibration in the side-to-side, vertical, and fore-to-aft directions, respectively.

The vibration data was downloaded and saved in a Microsoft Excel spreadsheet. The data was sampled at 500 kSPS, so one second of vibration data resulted in three columns of Microsoft Excel data, each 500,000 lines long. A sample of the X, Y, and Z data is shown in Figure 2.

Figure 2. An extract of the X, Y, and Z data.

The harmonic content of this data can now be examined to determine the state of health of the motor. Fourier analysis is the mathematical process of extracting the component frequency content from a waveform. The spectral content of a pure sine wave consists of only one frequency, called the fundamental. If the sine wave is distorted, other frequencies aside from the fundamental appear. By analyzing the frequency content of the vibration pattern of the motor, an accurate diagnosis of its state of health can be determined.

Hardware and software capable of conducting Fourier analysis can be expensive, so here we show a method of performing Fourier analysis on MEMS data that is essentially no-cost.

LTspice is a powerful, and free, circuit simulator that has the ability to plot the frequency content of any waveform using Fourier analysis, including the vibration data obtained from the MEMS sensor in a condition-based monitoring system.

LTspice can produce a Fourier analysis plot when the data is in the format shown in Figure 3, where each vibration data point is paired with its corresponding timestamp.

Figure 3. Format of time and voltage instances.

It is relatively easy to massage the data into this format using Microsoft Excel. Here is the process for doing so.

First, separate the columns of data in Figure 2 into three worksheets within the Excel file, named X, Y, and Z, as shown in Figure 4.

Figure 4. Three sheets were created and the X, Y, and Z data were copied to their respective sheets.

Insert a column to the left of the data—this column is for the timestamp of each data value.

Since there were 500,000 samples of data taken over a one second timespan, each data point was taken 2 µs apart. Therefore, in the first cell of the new column, enter


representing the first timestamp at 2 µs.

The easiest way to fill in the rest of the timestamp column is to use the Series command. In the Search box in Microsoft Excel, type “Series” to bring up the menu options shown in Figure 5.

From here, choose Fill Series or Pattern, then Series… from the dropdown menu.

Figure 5. How to fill many cells in Microsoft Excel.
Figure 5. How to fill many cells in Microsoft Excel.

The dialog box shown in Figure 6 appears, with the Columns and Linear radio buttons selected. Enter a Step value of 2E-6 and a Stop value of 1.

Figure 6. Fill the cells with a linearly expanding dataset.

Click OK to fill the left column data timestamps, incrementing from 2 µs to 1 second. The same can be achieved by filling in the first few values, then dragging the cursor to the bottom cell at the end of the data range—but with 500,000 lines of data, this would be a long drag.

The data is now in a format ready to be processed by LTspice, as shown in Figure 7.

Figure 7. Columns showing the timestamp and corresponding data sample.

If the dataset is large and the sample interval is low, it is possible that Microsoft Excel might round the timestamps to an inappropriate number of decimal places. If this is the case, highlight the first column, then select Format > Format Cells, as shown in Figure 8.

Figure 8. Reformat the cells to remove any rounding errors.

Select the appropriate number of decimal places, as shown in Figure 9.

Figure 9. Increasing the timestamp resolution to five decimal places.

Once the timestamp column is populated and the significant digits expanded, copy both columns of each sheet to its own Notepad or another text editor file, as shown in Figure 10.

Figure 10. Text file containing time and vibration data.

You should have three text files containing the vibration data for axes X, Y, and Z in the condition-based monitoring system.

This data can now be read directly into LTspice.

Construct a schematic in LTspice, as shown in Figure 11. In this design, there are six voltage sources corresponding to fault and no fault data for axes X, Y, and Z. This enables a Fourier analysis to be performed on the vibration data from a new motor so it can be compared with the Fourier analysis of the data from a suspected faulty motor. A big advantage of this method is that the frequency plot of a new (not faulty) motor can be overlaid on that of a suspected faulty motor, so the difference in performance can be seen.

Figure 11. LTspice schematic showing voltage outputs for faulty and nonfaulty vibration data.

The LTspice command

.options plotwinsize=0 numdgt=15

removes the default compression in LTspice and sometimes produces clearer results. The simulation will run faster if this line is omitted but may produce less accurate results.

Once the schematic is complete, right-click each voltage source, select the Advanced button, select the PWL File radio button, then enter the file name of the appropriate text file containing the vibration data, as shown in Figure 12. This creates a piecewise linear voltage source consisting of a series of voltages and their corresponding time instances. Your life will be easier if these text files are stored in the same directory as the LTspice file.

Figure 12. Creating a piecewise linear voltage source from the vibration data.

The transient analysis should then be configured to run for the duration of the original vibration test using the command

.tran 1

Run the simulation. The simulation may take some time to complete depending on the data points and the length of the transient analysis.

The simulation results of the faulty and nonfaulty motors are shown in Figure 13. The experiment was conducted on a motor rotating at 587.3 rpm with a bearing fault with the outer race misaligned and with a 12 pound load. The plots also show the vibration pattern of a motor with no fault rotating at the same speed. It is clear that the faulty motor has a significantly higher amplitude in the vibration signature compared with the nonfaulty motor.

Figure 13. Time domain results of the vibration data for a faulty and nonfaulty motor.

With the Waveform window highlighted, select View > FFT from the menu bar. This will compute the FFT based on the transient data.

Looking at the data in Figure 2, the numbers show a small variation about a large offset of approximately 35,000. When simulated in LTspice, this translates to a dc offset voltage of 35,000 V with an ac waveform on top of this offset.

In the Fourier plot, this offset voltage manifests itself as a large spur at dc, so when LTspice autoscales the Y axis, the harmonics of interest are scaled too small. Right-click the X axis to specify a frequency range above dc, so the dc offset voltage is ignored—a range of 5 Hz to 1 kHz should suffice.

Right-click the Y axis and select the Linear radio button to view the harmonics, as shown in Figure 14.

Figure 14. The Fourier plot with the dc spur removed and shown on a linear scale.

Right-clicking inside the plot area enables extra plot panes to be added, which enables the spectral content of the vibration to be separated into X, Y, and Z plots, as shown in Figure 15.

Figure 15. The X, Y, and Z vibration plots are separated out. 

The 10 Hz rotation frequency of the motor can clearly be seen, as well as significant harmonics at 60 Hz, 142 Hz, and 172 Hz. It is beyond the scope of this article to analyze what component inside the motor has caused these harmonics, but there is no doubt that the vibration pattern has changed due to motor wear.


Analog Devices’ range of MEMS accelerometers provide critical data to enable the early detection of motor failure, but that is only half the solution. The data must be carefully studied using Fourier analysis. Unfortunately, equipment or software capable of performing Fourier analysis is typically expensive. LTspice provides a free-of-charge route to accurately analyze CbM data, enabling the early detection and diagnosis of machine failure.


Simon Bramble

Simon Bramble

Simon Bramble graduated from Brunel University in London in 1991 with a degree in electrical engineering and electronics, specializing in analog electronics and power. He has spent his career in analog electronics and worked at Linear Technology (now part of Analog Devices).