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.
|
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 |
|
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 |
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: 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 |
|
decimate_nf.exe |
decimate_nf.cpp |
|
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
|
fft.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:
|
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
|
______________________________________________________________________________________________Please recommend this site by clicking on the Google +1 Button.Other
Vibrationdata Pages: Home
| Tutorials
|