Académique Documents
Professionnel Documents
Culture Documents
Contents
Contents...................................................................................................................................... 1
Introduction ................................................................................................................................ 2
License agreement...................................................................................................................... 2
Return Policy.............................................................................................................................. 2
Installation procedure................................................................................................................. 2
Toolbox contents ........................................................................................................................ 2
Help function.............................................................................................................................. 9
Help Groups ............................................................................................................................... 9
Auxiliary Functions................................................................................................................ 9
File Format Conversion etc. ................................................................................................... 9
Universal File Interface.......................................................................................................... 9
Direct Data Import/Export ..................................................................................................... 9
Data Structure (Header) Commands .................................................................................... 10
Time data filters and weighting functions............................................................................ 12
Frequency domain filters and weighting functions .............................................................. 12
Frequency and Correlation Analysis .................................................................................... 12
Rotating machine RPM based analysis ................................................................................ 12
Graphical user interfaces...................................................................................................... 12
Maps ..................................................................................................................................... 13
Plot utilities .......................................................................................................................... 13
Statistics, Data quality.......................................................................................................... 13
Example scripts ........................................................................................................................ 13
Command Reference ................................................................................................................ 15
License agreement
Please read the separate license agreement shipped with the product, and available in PDF
format in the installation directory. By installing the product you approve the license
agreement.
Return Policy
We grant you a 30-day full return policy. This means that if you are not happy with the
functionality of the toolboxes, you are free to return all material you received within 30 days
of you received the software, and we will credit the invoice (not applicable to upgrades, of
course). You need to write to us at info@vibratools.com or send a letter to our address below
prior to returning the package.
Address (Europe): Address (USA):
Axiom EduTech AB Axiom EduTech Inc.
Laggarsvägen 36 70 Himalaya Ct
SE-184 97 LJUSTERÖ Alpine, Utah 84004
SWEDEN U.S.A.
support@vibratools.com support@vibratools.com
Installation procedure
Please see the separate installation note provided in your package for instructions on how to
install the VibraTools Suite software.
Toolbox contents
The content of the toolbox is given in the M-file contents.m. The commands are grouped into
logical groups to make it easy to find the correct command. You get this list from inside
MATLAB by typing
>> help vibratools
Auxiliary functions.
Clipneg Clip signal at negative side.
Clippos Clip signal at positive side.
Halfsine Makes half sine pulse.
Taper Cosine tapering of data.
Maps.
rpmmap RPM Spectral/Order Map, monocolor, Flattop window.
rpmmaph RPM Spectral Map, monocolor, Hanning window.
rpmplot Plot RPM Spectral Map (waterfall), monocolor of rpmmap results.
rpmplotc Color intensity RPM/frequency plot of rpmmap results.
terscont 1/3 octave band contour map.
tersmap 1/3 octave Response Map, color map version.
tersmvel 1/3 octave band maximum velocity map.
tersvmrs 1/3 octave band max rms (time constant fast) map.
timeh2o Waterfall Time Spectral Map.
timeh2oh Waterfall Time Spectral Map, monocolor, using HANNING window.
timemap Time Spectral Map, surface, color.
timemapc Time Spectral Map, flat, color.
Plot utilities.
angled Phase angle in degrees.
datascan Scan of data plot.
db10 dB scaling (power).
db20 dB scaling (linear).
Copyright © 2000-2007, Axiom EduTech AB, All rights reserved 7
figtext Puts text on plots.
maketime Make time vector.
plotoct Bar plot of octave or third-octave spectra as dB SPL.
plothead Plots data with info from header.
plotters Makes 1/3 octave band spectrum plot.
seta4 Sets A4 paper format.
seta4l Sets A4 landscape paper format.
seta4p Sets A4 portrait paper format.
signpack Packs signal for display purposes.
sigtrunc Signal truncation.
xlogtics Makes nice X log scale marks.
It can also be useful to look at the “private” directory under “vibratools”. The functions in this
directory are not fully developed but might still contribute to the analysis.
The syntax for the function is given and also the definition of the parameters. Sometimes
recommendations are given, as in help comfort:
COMFORT comfort in buildings, SS 460 48 61
y = comfort(x,fs)
y output running rms value, velocity, mm/s, ISO 8041 Wk
one second time constant
x measured acceleration data vector in m/s2
fs sampling frequency in Hz
lowest recommended sampling frequency is 800 Hz
Help Groups
Auxiliary Functions
The auxiliary functions group contains some practical utilities, such as signpack, that allows
the user to efficiently plot long data vectors.
This header is the result from univread on a Frequency Response Function from an LMS
system, given as Universal File type 58. The first five rows contain text records from the
universal file. A description of the type 58 format is given in documentation file 58.txt (open
with Windows WordPad for a nice formatted document). Worth noting is that in the toolbox
header, row 3 always contains date and time information. Rows 6 – 9 contain the following
information:
Note that it is quite common that universal files contain NONE as information, and/or that
information is left out, as the numbers and directions for measurement points and reference
here. (This information is in this case given in the first row instead).
Users that create their own data import functions are encouraged to use the format given here,
as there are many useful functions that depend on this specific format. The univread
command and many of our header commands are published as freeware, see
www.vibratools.com.
In the group “Data Structure (Header) Commands”, you find a list of commands for both
reading out values from Header, and for setting values in Header. There are also special
commands like findfunc and funclist that allow you to search for and to list the content of for
example a universal file (after reading it with univread).
Earlier versions of VibraTools contained functions for creating graphical user interfaces.
These are no longer documented in this manual since Guide is a much better alternative. The
files are however still included in VibraTools so your old applications will still work.
Maps
The functions in the map group make it simple to create scaled waterfall maps and also maps
using one-third octave band filters.
Plot utilities
Among the features in the plot utilities group are functions to plot one third octave band
spectra and nice looking logarithmic axes.
Example scripts
To make it easy to start using the toolbox, we have included a number of demo examples,
complete with data, so that you can see examples of how some typical tasks may be done.
More examples may be found on our web pages, check at www.vibratools.com. With the
current release, the following demo examples are provided on the CD:
Example:
fs = 10000;
x = zeros(16384,1); x(1) = fs;
[b,a] = afilter(fs);
y = filter(b,a,x);
[z,f] = fantrans(y,fs);
figure(1);clf;loglog(f,z,'k');hold on
a = aweigh(ones(size(f)),f);
loglog(f,a,'r')
The autocorrelation function is formed from spectral estimate with half boxcar
window result is truncated to time interval [-N/4fs ; N/4fs] and centered around
time zero
Example:
fs = 10000;
x = zeros(16384,1); x(1) = fs;
[b,a] = cfilter(fs);
y = filter(b,a,x);
[z,f] = fantrans(y,fs);
figure(1);clf;loglog(f,z,'k');hold on
c = cweigh(ones(size(f)),f);
loglog(f,c,'r')
50 % overlap is used
all data is used
cross correlation is formed from spectral estimate with half boxcar window
result is truncated to time interval [-N/4fs ; N/4fs]
and centered around time zero
FANFLAT Frequency ANalysis with FLAT top window, using linear averaging
[y,f] = fanflat(x,fs,N,M,p)
y result, rms scaled
f frequency vector in Hz
x data vector
fs sampling frequency in Hz
N FFT block size
M number of averages
p overlap percentage
See also FANFLATPH FANFLATX FANHANN, FANTRANS, FANUNI
FANFLATPH Frequency ANalysis with FLAT top window, using peakhold averaging
[y,f] = fanflat(x,fs,N,M,p)
y result, rms scaled
f frequency vector in Hz
x data vector
fs sampling frequency in Hz
N FFT block size
M number of averages
p overlap percentage
See also FANFLAT FANFLATX FANHANN, FANTRANS, FANUNI
FANFLATX Frequency ANalysis with FLAT top window, using exponential averaging
[y,f] = fanflat(x,fs,N,M,p)
y result, rms scaled
f frequency vector in Hz
x data vector
fs sampling frequency in Hz
N FFT block size
M number of averages
p overlap percentage
See also FANFLAT FANFLATPH FANHANN, FANTRANS, FANUNI
FANHANN Frequency ANalysis with HANNing window RMS scaled, linear averaging
[y,f] = fanhann(x,fs,N,M,p)
y output vector, rms scaled
f frequency vector in Hz
x data vector
FANOCT Octave-band spectrum calculation using time domain filtering according to IEC
1260
[Spec,f] = fanoct(x,fs,fmin,fmax))
x Time data
fs Sampling frequency
fmin Minimum frequency to be used (the nearest center frequency > fmin is used).
Default 16 Hz
fmax Maximum frequency to be used (the nearest center frequency < fmax is
used). Default 16 kHz
Spec Vector with resulting RMS spectrum (RMS value of each octave band using all
data in x)
f Vector with center frequencies for Spec
Octave filters from 16 Hz to 16 kHz are included. You can easily modify the script if
needed.You need to ensure that the bandwidth of your data includes your requested
NOTES:
1/3rd octave filters from 20 Hz to 20 kHz are included. You can easily modify the
script if needed. You need to ensure that the bandwidth of your data includes your
requested frequency range! A check is performed to see that the maximum third
octave center frequency does not exceed fs/5. If lowest center frequencies are <
fs/100, the signal is decimated for improved performance at
lower center frequencies.
FANUNIPH Frequency ANalysis with UNIform window RMS scaled, peakhold averaging
[y,f] = fanuni(x,fs,N,M,p)
y output vector, rms scaled
f frequency vector in Hz
x data vector
fs sampling frequency in Hz
N FFT block size
M number of averages
p overlap percentage
FANUNIX Frequency ANalysis with UNIform window RMS scaled, exponential averaging
[y,f] = fanuni(x,fs,N,M,p)
y output vector, rms scaled
f frequency vector in Hz
x data vector
fs sampling frequency in Hz
N FFT block size
M number of averages
p overlap percentage
FileNo = findfunc(FileList,Ref,Resp,Func)
FileList Vector with file numbers
All files in the list do not need to exist.
FLOGOPEN Opens a log file (text file) and returns the file id parameter
[LogId, LogFileName] = flogopen(LogFileName, Text);
LogFileName File name without extension
Text Text string (optional)
LogId File id for opened file
FUNCLIST Make a list of functions from an import from any file format
funclist(FileList,SortType,FileType)
FileList Vector of file numbers in ascending order
All files in the list do not need to exist.
SortType 'FILE' (default), 'RESP', 'REF', or 'FUNC'
Sort after specified column
FileType File type, for example 'uf' (default), 'dat', or 'sdf'
example:
funclist([1:6])
gives:
funclist([1:2 5:6])
gives:
NOTE! The trig function is very simple and basic which requires a
clean tacho signal. In some cases, a filtered tacho may work better
than the original one.
NOTE! The trig function is very simple and basic which requires a
clean tacho signal. In some cases, a filtered tacho may work better
than the original one.
HEADCH picks out the record sequence number (channel number) from Header
ChNo = headch(Header)
Header from UNIVREAD, DATREAD, TEACREAD etc
HEADLL picks out the data length (number of samples) from Header
ll = headll(Header)
Header from TTPTREAD, TRECREAD, UNIVREAD, DATREAD, etc
HEADOVRL picks out the 'Overall rms' for octave spectra from Header
Overall = headovrl(Header)
HEADQ picks out the Q factor from Header (for Shock Response)
Q = headQ(Header)
HEADSTR Make string with force and response DOFs from Header for title in plots etc.
The function can also normalise the acceleration dose for the
average daily exposure time (Dkd) as well as calculate the daily
equivalent static compression dose (Sed) to analyse the assessment
of adverse health effect at lifetime exposure during working time
(based on 240 days of exposure per year)
ISOFILTW Filter ISO 8041 W-, All ISO 8041 weighting filters
y = isofiltw(x,fs,type);
y output signal vector, acceleration
x input signal vector, acceleration
fs sampling frequency Hz
type:
Wk whole body, vertical
Wd whole body, horisontal
Wf whole body, motion sickness
Wbc whole body, combined
Wc whole body, seat back, horisontal x
We whole body, rotational
Wi head of recumbent person
Wh hand-arm
Wb whole body, rail vehicles, according to BS
6841:1987
This command fills header lines 1 and 3, the data length variable,
and the x increment. Use the different sethXXXX commands to set
other fields.
fs sampling frequency
nosamp number of samples
ytitle title (label) of data
yunits units for data
NOTE: The filter is within the IEC/ANSI limits for fs/f0 between approx 5 and 500.
For higher ratios, resample signal and call tersfilt with the new sampling frequency.
ORDSLICEBW Order slice from RPM Spectral Map, using summation over frequency band
ord = ordslicebw(M,F,R,order)
ord selected order as function of RPM (R) from RPM Spectral Map
M RPM map data matrix
F frequency vector for RPM map plot
R RPM vector for RPM map plot
order order #. order can be a vector with several orders, in which
case ord is a matrix with each order in a row
nofreqs Number of frequency lines to sum for rms value. MUST be odd!
This command should be used together with rpmmaph, and assumes that a Hanning
window was applied. nofreqs should be 3 to 7, but no check is made.
We recommend using rpmmap and ordslice instead of the present command, since
rpmmap applies a flattop window, which is less sensitive to smearing.
h = rpmplot(M,F,R,fmin,fmax,zmax)
nextseq = sdfread(seqno,FileName,FilePathName)
Give FileName with extension
The mat file consists of Header and Data.
Saves data as sdfxxxx.mat, where xxxx = seqno
See description file for universal file for definitions of function types.
FuncType can be a string, corresponding to the short format in
function HEADFUNC.
SETHOVRL Sets the Overall rms value for octave spectra in Header
NewHeader = sethovrl(Header,Overall)
compare STATTEST
SYNCSLICEBW Order slice from RPM Order Map using summation over frequency
band, synchronous sampling
ord = syncslicebw(Ms,Fs,Rs,order,nolines)
ord selected order as function of RPM (R) from RPM Order Map
Ms RPM map data matrix
Fs order vector for RPM map plot
Rs RPM vector for RPM map plot
order order #. If order is a vector, then ord is a matrix with
each order in a row.
nolines Number of order lines to be summed. This produces a fixed
order bandwidth. This MUST be an odd number, and should be
3 to 7.
This function assumes a Hanning window was applied for the ordermap, for example
using rpmmaph. We recommend using rpmmap and syncslice instead, which applies a
flattop window, which is less sensitive to smearing.
NOTE: The filter is within the IEC/ANSI limits for fs/f0 between approx 5 and 400.
For higher ratios, resample signal and call tersfilt with the new sampling frequency.
TERSVMRS 1/3 octave Velocity Maximum Response Spectrum time constant fast
[y,f] = tersvmrs(x,fs,fmin,fmax)
x data vector, acceleration m/s^2
fs sampling frequency in Hz
fmin low frequency in Hz
fmax high frequency in Hz
y result vector, m/s
f frequency vector in Hz
example:
uffunclist([1:6])
gives:
uffunclist([1:2 5:6])
gives:
VKORDERM Returns order tracks using Vold-Kalman filters for multiple RPM
vectors (crossing orders).
x = vkorderm(y,fs,RPM,order,bandwidth,type)
x matrix containing RMS order tracks corresponding to each RPM column, in
columns
x is scaled so that abs(x) is the rms of each order,
and angle(x) is the phase in radians
y input data (column vector)
fs sampling frequency in Hz
RPM RPM vectors to track in columns (matrix with same number of rows as y)
order row vector with order to track for each column in RPM
bandwidth bandwidth in Hz or order, as specified by type
type determines the type of bandwidth; type <> 0 for
absolute bandwidth, type = 0 for order bandwidth
This is a rather slow and memory consuming process! You should consider
downsampling your signal to as low sampling frequency as possible,
considering the orders you want to track, to get maximum performance.
x=vkorders(y,fs,RPM,orders,bandwidth,type)
x = vktime(y,fs,RPM,order,bandwidth, type)
x output time data from VK tracking filter
y input data (column vector)
fs sampling frequency in Hz
RPM RPM vector (column vector) (y and RPM are of the same length)
order order to track
bandwidth bandwidth in Hz or percent, as specified by type
type determines the type of the bandwidth, type <> 0 for
absolute bandwidth, type = 0 for relative bandwidth