Feature-Based Vibration Analysis of Bridge
Feature-based vibration analysis of bridge and noise reduction using Wiener filter for Structural Health Monitoring
Shehryar Ahmad*1, Adil Farooq2, Engr. Syed Humair Ali3, Dr. Tariq Mairaj Rasool Khan4
Â
Â
Abstract Feature-based Vibration Analysis is a powerful diagnostic tool used in evaluating the structural performance of bridges. Fast Fourier Transform (FFT) has been proved to be very accurate and effective algorithm in the extraction of modal properties. Noise in the vibration signal makes it very difficult to extract useful information from Fast Fourier Transform (FFT) of the collected response data. This paper presents the results of the feature-based vibration analysis of acceleration data collected by ADXL345 accelerometer at different locations on Karachi Port Trust (KPT) Bridge using Fast Fourier Transform (FFT) and the effect of noise reduction using the Wiener filter. It will be shown that feature extraction is easier and more accurate after applying Wiener filter on the noisy signal. A comparison between the computation time and results obtained from FFT and ARMA will also be shown. This method has shown good results in feature-based vibration analysis and frequencies are more easily extractable from the de-noised signal.
Keywords: Wiener filter, FFT, power spectra, ARMA, noise reduction, SNR, modal frequencies
1Â Â Â Â Introduction
Vibrations is a characteristic of mechanical bodies and vibration analysis have become very important in mechanical structures design and maintenance. Bridge Structural Health Monitoring is a wide research area nowadays and various methods like conventional visual inspection, wired sensors and Wireless Sensor Networks (WSN) are used. Accelerometers are very commonly used in Bridge SHM. The acceleration responses created by ambient and traffic conditions are recorded by accelerometers and then modal analysis algorithms are used on the measured signals to extract modal properties of the bridge. If there is any change in structural properties of the bridge, its response to the load will change and consequently its modal properties (natural frequency, mode shapes etc.) will change. This change is detectable through modal analysis of the acceleration responses measured by accelerometer at different time intervals.
    The vibration response signals from large civil structures are usually noisy, which makes it very difficult to extract modal properties. Noise reduction filters are designed to increase Signal to Noise Ratio (SNR) of such noisy signals, which makes it easy to extract modal properties. High accuracy in extracted modal properties is necessary for efficient and precise health monitoring and various modal analysis algorithms such as Auto Regressive Moving Average (ARMA), Fast Fourier Transform (FFT) and Stochastic Subspace Identification (SSI) are used for this purpose.
    In this study, FFT is used to extract the frequencies from the acceleration data collected at Karachi Port Trust (KPT) bridge by ADXL345 accelerometer and then Wiener filter is applied to minimize the noise and mean square error (MSE). FFT is used to convert the measured signal from the time domain into frequency domain as it is much easier to apply as compared to SSI and ARMA algorithms and the computational time required for FFT is much less compared to ARMA and SSI algorithms and the results obtained using FFT are more accurate and consistent.
    Various de-noising and signal enhancement algorithms are used to minimize noise in the corrupted signals. Wiener filter is a linear filter based on desired signal estimation. The objective of Wiener filter is to estimate the desired de-noised signal with minimum mean square error based on the knowledge of noise corrupted signal input.
    This paper will also present a comparison of results obtained from FFT plots to the results obtained from ARMA scatter diagrams created in MATLAB using the ARMA algorithm [1]. It will be shown that there is a good agreement between ARMA and FFT with a very small percentage error. A flow chart of the work performed in this paper is shown below:
        Â
Fig. 1. Flow chart of the work performed in this study.
2Â Â Â Â Fast Fourier Transform (FFT)
Fourier Transform is a data transform, which converts a signal from time domain to frequency domain and inverse Fourier transform converts the signal from frequency domain to time domain. FFT is an algorithm used to compute Discrete Fourier Transform in much less time by significantly decreasing the required no. of operations to be performed. FFT computation requires only Nlog2N operations as compared to DFT, which requires N2 operations, where N is the no. of samples in the data.
The DFT (for data of size N) is defined as:
Zp = . e j2Ï€pq/N Â Â Â Â Â p = 0,1,2,…, N-1
zq = . e j2πpq/N        q = 0,1,2,…, N-1
The FFT (for data of size N) is defined as:
Z(f) = . e j2Ï€fx dx
z(x) = . e j2Ï€fx df
In this study, FFT is used to extract modal frequencies by converting the collected acceleration time domain data to frequency domain and prominent peaks are pointed out as major modal frequencies.
3Â Â Â Â Wiener Filter
Wiener filter was introduced by Norbert Wiener and is a linear filter based on signal estimation. It takes noisy signal M as input and estimates the required de-noised signal S by minimizing the noise in the signal M. To design Wiener filter, we need to estimate power spectrum of noise signal N. Few assumptions are made, when designing Wiener filter:
- Noise in the corrupted signal is additive.
- Noise signal N and the desired signal S are uncorrelated.
The noisy signal M is combination of the unknown desired signal S and additive noise signal N. i.e.
M(t) = S(t) + N(t)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â (1)
Where M(t), S(t) and N(t) are the noise corrupted signal, desired signal and noise signal respectively in time domain.
After applying Fourier Transform on equation (1), we get,
m(f) = s(f) + n(f)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â (2)
Passing the noisy signal m(f) through Wiener filter J(f) will minimize the impact of noise n(f) and gives the closest possible estimation to the desired signal s(f) with minimum mean square error. The noise reduction in the signal m(f) depends on how accurately the noise signal was estimated and how the Wiener filter was designed. The better estimation of noise signal n(f) will result in more efficient filter design, which will consequently provide us with better estimation of the desired signal s(f).
If Pm(f) and Pn(f) are power spectra of noisy signal and additive noise signal respectively, then Wiener filter based on power spectra can be given by equation (3) [5].
J(f) = Pm(f)/[Pm(f) – Pn(f)]Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â (3)
s(f) = J(f)m(f)
The power spectra of m(f) and n(f) can be calculated as follow:
Pm(f) = m(f)2
Pn(f) = n(f)2
                             Fig.2. Wiener Filtering
An optimum Wiener filter based on covariance matrices of the noisy signal m(f) and the noise signal n(f) can be designed using equation (4) [2].
J(f) = diag [ Xm / (Xm+ Xn)] Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â (4)
Where Xm and Xn are covariance matrices of signal m(f) and noise signal n(f) respectively.
The MATLAB code for Wiener filter based on equation (4) is provided in Appendix A, Section 2.
4Â Â Â Â De-noising with Wiener Filter
To perform noise reduction on the signal using Wiener filter, first we estimated noise signal and thendesigned our Wiener filter based on covariance matrices of signal and noise and passed the noisy signal through the designed Wiener filter to estimate the desired de-noised signal. Wiener filter can also be designed on the basis of power spectra of input signal and noise signal. It gives approximately same result as the filter designed on the basis covariance matrices with a very little difference. Noise reduction depends on the estimation of noise signal. The performance of the Wiener filter increases with more accurate noise signal estimation and SNR is improved.
For this study, we collected acceleration responses at 3 different locations on the bridge and plotted the collected data in time domain, frequency domain using FFT and then applied Wiener filter in frequency domain to reduce noise. Comparison between the Wiener filtered and unfiltered FFT plots show that SNR has improved significantly after applying Wiener filter and the peaks are more distinguishable, which makes it easier to extract modal frequencies from FFT plots. SNR calculations verify our observations and there is more than 22 dB improvement in SNR for each data. The results of filtering are shown in Table 4.1.
Table 4.1. Comparison of SNR before and after Wiener filtering
Data#Â Â Â Â Â Â SNRÂ Â Â Â Â Â Â SNRÂ Â Â Â Improvement
           (Before Filter) (After Filter)      in SNR
(dB)Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â (dB)Â Â Â Â Â Â Â Â Â Â Â Â Â Â (dB)
01Â Â Â Â 0.1931 22.6673Â Â Â Â Â Â Â Â Â 22.4742
02Â Â Â Â 0.1913 22.3124Â Â Â Â Â Â Â Â Â 22.1211
03Â Â Â Â 0.2207 23.6221Â Â Â Â Â Â Â Â Â 23.4014
Â
Fig. 4.1. Comparison between
Wiener filtered and unfiltered
FFT plots for Data # 01
Fig. 4.2. Comparison between
Wiener filtered and unfiltered
FFT plots for Data # 02
Â
Fig. 4.3. Comparison between
Wiener filtered and unfiltered
FFT plots for Data # 03
5Â Â Â Modal Frequency Extraction from FFT plots
To extract modal frequencies, FFT plots were created again with absolute values. i.e. the negative magnitude values in FFT were converted to positive values and graphs were plotted again, then the distinguished peaks were identified and pointed out
as major modal frequencies. The FFT plots of all the Data #01, 02 and 03 are shown in Fig. 5.1, 5.2 and 5.3 respectively.
Â
Fig. 5.1. FFT Plot of Data #Â Â 01
Fig. 5.2. FFT Plot of Data #02
Fig. 5.3. FFT Plot of Data #03
According to the FFT plots, the major modal frequencies are:
Data # 01: 6.877 Hz              Data # 02: 9.691 Hz Data # 03: 5.208 Hz
6Â Â Â Â Comparison of FFT and ARMA results
To develop a comparison between modal frequencies obtained from FFT and ARMA algorithms, ARMA scatter diagrams are created in MATLAB using ARMA algorithm [1]. ARMA scatter plots for data no. 01, 02 and 03 are shown in Fig. 6.1, 6.2 and 6.3 respectively and according to the ARMA scatter plots, the major modal frequencies are:
Data # 01: 6.971 Hz              Data # 02: 9.701 Hz
Data # 03: 5.238 Hz
The comparison of results obtained from FFT plots and ARMA scatter diagrams are shown in Table 6.1.
FFT results matched with the modal frequencies obtained from ARMA scatter plots with maximum percentage error of 1.36 %.
Table 6.1. Comparison of FFT and ARMA results
Data no.               Algorithm                   Percentage
                 FFT (Hz)      ARMA (Hz)    Error (%)
01Â Â 6.8776.971Â 1.366
02Â Â 9.6919.7010.103
03Â Â 5.2085.2380.566
Â
Fig. 6.1. ARMA scatter
diagram for Data # 01
Fig. 6.2. ARMA scatter
diagram for Data # 02
Fig. 6.3. ARMA scatter
diagram for Data # 03
Â
7Â Â Â Â Conclusion
In this paper, we did feature based vibration analysis of vibration data collected by ADXL345 at 3 different locations on Karachi Port Trust (KPT) bridge. FFT was performed on the acceleration data to extract modal frequencies and Wiener filter was used to deal with the problem of noise in the collected data. The performance evaluation of Wiener filter was based on Signal to Noise Ratio (SNR). SNR improvements of frequency domain signals after filtering showed that Wiener filter  is a very effective noise reduction technique and the modal frequency peaks on wiener filtered frequency domain signal are prominent and distinguished as compared to unfiltered frequency domain signal.
    The frequencies obtained from FFT were compared with frequencies obtained from ARMA algorithm and good agreement between both results was found. The maximum percentage error between ARMA and FFT results was 1.36 %. Depending on the computation time required to perform FFT as compared to ARMA, FFT was found to be much more time efficient and less complex as compared to ARMA.
References
[1] Teng, CheeKian. “Structural Health Monitoring of a Bridge Structure Using Wireless Sensor Network.” (2012).
[2] Pratt, William K. “Generalized Wiener filtering computation techniques.” IEEE Transactions on Computers 100.7 (1972): 636-641.
[3] Goyal, D., and B. S. Pabla. “The vibration monitoring methods and signal processing techniques for structural health monitoring: A review.” Archives of Computational Methods in Engineering 23.4 (2016): 585-594.
[4] Mohanty, Sanghamitra, and Basanta Kumar Swain. “Adaptive and iterative wiener filter for oriya speech processing applications.” Speech, Sound and Music Processing: Embracing Research in India. Springer Berlin Heidelberg, 2012. 207-214.
[5] Yasodai, A., and A. V. Ramprasad. “Noise degradation system using Wiener filter and CORDIC based FFT/IFFT processor.” Journal of Central South University 22.10 (2015): 3849-3859.
Appendix
Appendix A
FFT Algorithm with Wiener Filtering based on Covariance Matrices of Signal and Noise.
%FFT ALGORITHM (SECTION 1)
read_data = xlsread(‘file_name.xlsx’); %read acceleration data from the excel file
no_of_samples = length(read_data); %length of input data
sampling_time = xx; %sampling time
time_spacing = linspace(0,sampling_time, no_of_samples);
sampling_freq = no_of_samples/sampling_time; %sampling frequency
X = read_data – mean(read_data);
Transform = fft(read_data)/no_of_samples;%apply FFT on input data
Nyquist_Frequency = sampling_freq/2; %nyquist frequency is half of the sampling frequency of the input signal
Frequency_spacing = linspace(0,Nyquist_Frequency,(no_of_samples/2)+1);
M = Transform(1:(no_of_samples/2)+1);
figure(1);
subplot(3,1,1)
plot(time_spacing, read_data/no_of_samples); %Acceleration Data Plot in Time domain
xlabel(‘Time (s)’); ylabel(‘Magnitude’); title(‘Time Domain Plot’);
subplot(3,1,2)
plot(Frequency_spacing, M); %FFT Plot without Wiener Filtering
xlabel(‘Frequency (Hz)’); ylabel(‘Magnitude’); title(‘FFT without Wiener Filtering’);
axis([0 24 -0.19 0.21]) %Scaling of x and y axis (Scale this according to the data)
%Calculate Variance of Transformed Data
m = mean(M); %Mean of transformed data
z = 0;
N = (no_of_samples/2)+1;
for x = 1:N
  s = z + ((M(x)) – m)^2;
  z = s;
end
V = s/N; %Variance
sd = sqrt(V); %Standard Deviation
%%(SECTION 2) Desired Signal Estimation using Wiener Filter Based on Covariance
N = sd + 0.0006.*randn(size(M)); %Noise Signal Estimation
PS_N = N.^2; %Power Spectra of Estimated Noise Signal
cov_m = cov(diag(M)); %covariance matrix of signal M
cov_n = cov(diag(N)); %covariance matrix of noise N
J_cov = diag(cov_m/(cov_m+cov_n)); %Wiener Filter based on Covariance matrices of
P = J_cov.*M; %Desired Signal estimation by applying Wiener Filter on Noisy Signal
subplot(3,1,3)
plot((Frequency_spacing),abs(P));
xlabel(‘Frequency (Hz)’); ylabel(‘Magnitude’); title(‘FFT after Wiener Filtering’);
axis([0 24 0 0.3e-3]) %Scaling of x and y axis(Scale this according to the data)
%%% Signal to Noise Ratio Calculations (SECTION 3)
PS_P = D_S.^2; %power spectra of filtered signal
Noisy_Signal = M + N; %Input Signal + Additive Noise
PS_NS = Noisy_Signal.^2; % Power spectra of noisy signal
PS_DS = PS_NS – PS_N; %Estimation of desired signal power spectra
s_bfdb = 10*log10(mean(PS_DS)/mean(PS_N)); %snr calculation(dB) (before filtering)
r_n = PS_DS – PS_P; %noise remaining after filtering
PS_RN = r_n.^2; %power spectra of remaining noise
s_afdb = 10*log10(mean(PS_DS)/mean(PS_RN)); %snr calculation(dB) (after filtering)
Appendix B
MATLAB Code for Wiener Filter based on Power Spectra of Signal and Noise
Note: Just replace ‘SECTION 2’ code of Appendix A with the code given below.
N = sd + 0.0006.*randn(size(M)); %Noise Signal Estimation
PS_M = (M).^2; %Power Spectra of Input Signal
PS_N = N.^2; %Power Spectra of Estimated Noise Signal
J = PS_M./(PS_M – PS_N); %Wiener Filter
D_S = J.*(M);Â %Desired Signal estimation by applying Wiener Filter on Noisy Signal
subplot (3,1,3)
plot((Frequency_spacing), abs(D_S));
xlabel(‘Hz’); ylabel(‘Magnitude’); title(‘FFT after Wiener Filtering based on Power Spectra’);
axis([0 32 -1.5e-5 0.25e-4]) %Scaling of x and y axis(Scale this according to the data)