Welcome to Vibrationdata
Signal Processing, Filtering & Fourier Transform Page

 Dear Guest,
Writing tutorials and maintaining a website are expensive endeavors. I need your help to continue this effort. Your subscription will allow me to continue this site and to add new materials.

The software and tutorials require a username and password which are given by subscription. The subscription instructions are given below.
The subscription entitles the user to download all of the items on this page, as well as other Vibrationdata pages.


Thank you for your support.
Sincerely, Tom Irvine
Email: tomirvine@aol.com

Tutorials
An Introduction to Digital Filtering: This tutorial focuses on the Butterworth filter. filter.pdf
Notes on Refiltering for Phase Correction: REFILT.pdf
Introduction to the Spectral Functions. The Fourier Transform and Power Spectral Density Function: spectral.pdf
 
Fast Fourier Transform: The FFT transform is based on the butterfly algorithm.
fft.pdf  
Shock and Vibration Signal Analysis: Shock_and_Vibration_Signal_Analysis.pdf
Power Spectral Density Calculation via Matlab: Guest tutorial submitted by Bob Light. psd_mat.pdf
Sine Function Identification and Removal. sinefind.pdf
Statistical Degrees of Freedom: statdof.pdf
Frederic J. Harris, Trigonometric Transforms: trig_harris.pdf
Scientific Atlanta, Random Vibration Testing:
SA_VibrationTesting.pdf
The Fourier Series of a Rectangular Wave: fourier_series_rectangular.pdf
The autocorrelation function autocorrelation.pdf
Kurtosis in Vibration Analysis: kurtosis.pdf

A Method for Generating White Noise Time Histories with Skewness > 0 and Kurtosis >0

Matlab script: witch.m

white_kurtosis.pdf

See Also Random Vibration Page -

ZOOM FFT
-
Bruel & Kjaer, Zoom FFT: zoom_fft.pdf
Zoom FFT of a time series, Matlab:   zoomFFT.m
zoomFFT_plot.m
Example tutorial: zoomFFT_example.pdf
Sample input file: d9p5.txt

ALIASING
-
Notes on sample rate and aliasing: aliasing_notes.pdf
The Need for Analog Anti-aliasing Filters in the Pyrotechnic Shock Testing of Avionics Components: AA_Filter_Pyro.pdf

Signal Identification from Aliased Data:

Matlab Scripts

sinefind_alias.m  & sfa_engine.m

alias_synthesis.pdf
Excel application for demonstrating bit resolution and aliasing effects. This file was submitted by Robert Davis of NASA/Wallops. It may be freely downloaded. BitResolutionandAliasingG.zip
Ceiling fan, optical aliasing video: fan_aliased.avi

WEIGHTING FUNCTIONS
-
Bruel & Kjaer, Use of Weighting Functions in DFT/FFT Analysis (Part I): weight1.pdf
Bruel & Kjaer, Use of Weighting Functions in DFT/FFT Analysis (Part II): weight2.pdf
Aude, A Tutorial in Coherent and Windowed Sampling with A/D Converters: AN9675.pdf
Hanning Window Compensation Factor: Hanning_compensation.pdf
Bingham Window Compensation Factor: Bingham_compensation.pdf

 

Starting Engines 3 & 4 and taxiing of EAA's B-17 at Felts field:
B-17_engine_aliasing.avi

Recommend viewing this with RealPlayer with DivX.
This video clip shows an example of optical aliasing. Each of the propellers for the 3 & 4 engines seem to switch rotational direction during start-up because the frame samping rate is too low.
A similar error can occur with measured accelerometer data if the sampling rate is too low. Spectral components in the Fourier transform can become aliased about the Nyquist frequency, which is one-half of the sampling rate. The sample rate should be as high as possible to adequate capture the highest frequency of interest. Also, analog anti-aliasing filters should be used to minimize the potential for aliasing errors.
 
Filtering Software

 Executable

Source
Digital filtering using a Butterworth 6th order  filter. The user must supply an input time  history  file. Both lowpass and highpass  options are  available.  filter.exe filter.cpp
Mean filter. This is a type of lowpass filter. mean_filter.exe mean_filter.cpp
Median filter. This is a type of lowpass filter. It is useful for noise spike removal.
median_filter.exe median_filter.cpp
Transfer function magnitude for analog Butterworth and Bessel lowpass filters.
Butterworth_transfer.exe
Butterworth_transfer.cpp
Decimation with filtering.
decimate.exe
decimate.cpp
Decimation with no filtering.
decimate_nf.exe decimate_nf.cpp
Calculate a PSD via successive bandpass filtering.
filter_psd.exe
filter_psd.cpp
Bessel two-pole lowpass filter Bessel_lowpass_filter.exe Bessel_lowpass_filter.cpp

 Other Software Programs

 Executable

 Source

Fast Fourier transform (FFT) of a time history. The  transform operates on a time series with 2^n  points, where n is an integer.
Also, corresponding inverse FFT.
 fft.exe

invfft.exe
 fft.cpp

invfft.cpp
Conventional Fourier transform of a time series  with an arbitrary number of points.
Also, corresponding inverse Fourier transform.
 fourier.exe
inv_fourier.exe
 fourier.cpp
inv_fourier.cpp
Zoom FFT of a time series.
zoomFFT.exe
zoomFFT.cpp
 This program converts a Fourier transform magnitude with constant bandwidth to an octave or one-third octave format.
 FFToct.exe
  FFToct.cpp
This program converts a Fourier transform magnitude with constant bandwidth to a wider resolution. 
 FFT_smooth.exe
 FFT_smooth.cpp
Cross-spectrum of two time histories. The output files may be used for modal test data analysis.
cross_spectrum.exe
cross_spectrum.cpp
Cross-spectrum of two time histories. The program generates H1 and H2 frequency response functions (FRFs), the coherence function, and the corresponding impulse response functions.
cross_spectrum_modal.exe
cross_spectrum_modal.cpp
 Energy Spectral Density
 espec.exe
 espec.cpp
Generation of time history signals:
1. sine
2. damped sine
3. sine sweep
4. white noise
5. pink noise
 generate.exe

 _

Beat frequency time history generation
beat_generate.exe
beat_generate.cpp
Cubic Spline Curve-fit:
 spline.exe
 spline.cpp
Integrate a time history via the trapezoidal rule.
 integ.exe
 integ.cpp
This script corrects an acceelration signal so that is corresponding velocity and displacement time histories are stable and oscillate about the zero baseline. displacement_correction.exe displacement_correction.cpp
 Differentiate a time history.
 differ.exe
 differ.cpp
Autocorrelation 
 autocor.exe
 autocor.cpp
Cross-correlation 
 cross_correlation.exe
 cross_correlation.cpp
Correlation Coefficient of two time histories
correlation_coefficient.exe
correlation_coefficient.cpp
This program multiplies the Fourier transform of a base input function by the transfer function of a single-degree-of-freedom system.
 transfer_fft.exe
 transfer_fft.cpp
This program divides a response function by an excitation function. Each function must be in complex format. The functions may be Fourier transforms.
 comp_div.exe
  comp_div.cpp
This program divides a response function by an excitation function. Each function must be in real format.
 real_div.exe
 real_div.cpp
This program multiplies a function by another function. Each function must be in real format.
 real_mult.exe
 real_mult.cpp
This program adds a function to another function. Each function must be in real format.
real_add.exe real_add.cpp
Convolution integral for two time histories.
 convolution.exe
 convolution.cpp
This program calculates a response time history from an input time history and a transfer function where the transfer function is a complex Fourier transform. It uses the convolution method.
 blast.exe
 blast.cpp
Multiply an input Fourier transform by a transfer function.
 fourier_mult.exe
  fourier_mult.cpp
Signal scaling with adjustment options.
signal.exe
signal.cpp
Multipurpose frequency response function processing.
frequency_function.exe
frequency_function.cpp
Histogram, probability density function, and peak distribution of a time history.
histogram.exe
histogram.cpp
Cumulative RMS of a time history. Used as an alternate tool for shock severity evaluation.
TRMS.exe
TRMS.cpp
Generation of a "white noise" time history.
 white.exe
 white.cpp
Add white noise to a signal.
add_white.exe
add_white.cpp
Generation of a "white noise" time history with kurtosis control.
white_kurtosis.exe
white_kurtosis.cpp
Aliasing frequency calculator.
aliasing.exe
aliasing.cpp
This program calculates the peak frequency vs. time of a time history, using the Fourier transform method.
freq_peak.exe
freq_peak.cpp
This program calculates the peak frequency vs. time of a time history, using the FFT transform method.
fft_peak.exe
fft_peak.cpp

Additional software is given at:  Matlab  &  Java 

 

Book Recommendations
 

Google

 

Web

www.vibrationdata.com

______________________________________________________________________________________________
Please recommend this site by clicking on the Google +1 Button.
__________________________________________________________________________________
Other Vibrationdata Pages:    Home | Tutorials