• Aucun résultat trouvé

TOAP: Third Octave Analysis Program, version 6.0: reference manual

N/A
N/A
Protected

Academic year: 2021

Partager "TOAP: Third Octave Analysis Program, version 6.0: reference manual"

Copied!
241
0
0

Texte intégral

(1)

Publisher’s version / Version de l'éditeur:

Vous avez des questions? Nous pouvons vous aider. Pour communiquer directement avec un auteur, consultez la première page de la revue dans laquelle son article a été publié afin de trouver ses coordonnées. Si vous n’arrivez pas à les repérer, communiquez avec nous à PublicationsArchive-ArchivesPublications@nrc-cnrc.gc.ca.

Questions? Contact the NRC Publications Archive team at

PublicationsArchive-ArchivesPublications@nrc-cnrc.gc.ca. If you wish to email the authors directly, please see the first page of the publication for their contact information.

https://publications-cnrc.canada.ca/fra/droits

L’accès à ce site Web et l’utilisation de son contenu sont assujettis aux conditions présentées dans le site LISEZ CES CONDITIONS ATTENTIVEMENT AVANT D’UTILISER CE SITE WEB.

Internal Report (National Research Council of Canada. Institute for Research in

Construction), 1996-04-01

READ THESE TERMS AND CONDITIONS CAREFULLY BEFORE USING THIS WEBSITE. https://nrc-publications.canada.ca/eng/copyright

NRC Publications Archive Record / Notice des Archives des publications du CNRC : https://nrc-publications.canada.ca/eng/view/object/?id=acaed5c3-7b2a-4ff0-9a2b-492c96b99f57 https://publications-cnrc.canada.ca/fra/voir/objet/?id=acaed5c3-7b2a-4ff0-9a2b-492c96b99f57

NRC Publications Archive

Archives des publications du CNRC

For the publisher’s version, please access the DOI link below./ Pour consulter la version de l’éditeur, utilisez le lien DOI ci-dessous.

https://doi.org/10.4224/20337910

Access and use of this website and the material on it are subject to the Terms and Conditions set forth at

TOAP: Third Octave Analysis Program, version 6.0: reference manual

(2)

National Research Conseil national

Ser

1*1

Council Canada de reckrcher Canada

1

no.

728 c. 2 I

l L L T

IUC-CHC

TOAP: Third Octave Analysis

Program, Version

6.0

Reference Manual

By W. Guan and M.O. Al-Hunaidi

CIsTI,ICIST NRC,CNRC

I R C R e f S e r

R e c e i v e d o n : 04-17-97

I n t e r n a l

r e p o r t .

Internal Report

No.

728

Date of Issue: April 1996

I t e r n a l r e p o r t ( I n s t i t u t e f

3

A N A L Y S E

This is an internal report of the Institute for Research in Construction. Although not intended for general distribution, it may be cited as a reference in other publications.

(3)

TOAP:

THIRD

OCTAVE ANAL,YSIS PROGRAM

VERSION 6.0

REFERENCE &iiL\TAL

by

W. Guan and M.O. Al-Hunaidi

Structures Laboratory

Institute for Research in Construction

National Research Council

(4)

ABSTRACT

The program TOAP version 6.0 performs 113 octave band analysis and frequency weighting

of acceleration signals acquired with the GLOBAL LAB, Snap-Master, and MTAS data

acquisition systems. Acceleration signals stored in ASCII format (acquired with other

systems) can also be analyzed with TOM. Digital filtering is employed directly in the time

domain to decompose the signal into its 113 octave band frequency components, and to apply

frequency weightings which simulate the human response to whole-body vibration. T O M

allows multi-channel processing of vibration data with flexibility

in various analysis

parameters. It is a convenient and inexpensive alternative to existing one or two channel

analysis hardware and human-vibration filter units, such as the B

&

K 2134 Sound Intensity

Analyzer and B

&

K 2522 Human-vibration Unit.

It

is also a useful supplement to the

GLOBAL LAB analysis software which does not include 113-octave processing.

(5)

TABLE OF COhTENTS

ABSTRACT

11 . .

1

DIGITAL

FILTERNG

1.1

Third Octave Filters

1.1.1

Filter Type

1.1.2 Filtering Parameters

1.1.3 Filtering Procedure

1.1.4 Effect of Sampling Frequency

1.2

Frequency-Weighting Fitter

1.2.1 Weighting filters

2

PREPROCESSING INFORMATION AXD ACCESSING OF DATA FILES

2.1

F i

Needed for the Operation of TOAP

2.1.1 h4TAS Acquired Data

2.1.2

GLOBAL LAB Acqulred Data

2.1.3 Snap Master Acquired Data

2.1.4 ASCII Data Format

2.2

User Options and Checking Procedures

2.2.1 Job NameFilename

2.2.2 Setup Information

2.2.3 Channel Information

3

PROCESSING PROCEDURES

3.1

Processing Parameters

3.2

Processing

Loop of Y3-Octave Analysis

3.3

Processing

Loop of Frequency-Weighted Analysis

3.4

Processing

Loop Exit Function

4

OUTPUT

20

5

HOW TO

RUN

TOAP

2

1

(6)

ACKNOWLEDGMENTS

25

APPENDIX

1:

VERIFICATION OF

THE

PROPER R3-CTIOhIiG OF TOAP

26

APPENDIX 2: DETAILED VERIFICATION OF TAIRD OCTAVE

BAND

FILTERS 50

APPENDIX

3:

VERIFICATION OF

FREQUENCY

WEIGHTING

FILTERS

104

APPENDIX

4:

VERIFICATION OF ADDING STATISTICS

AND

SNAP-MASTER

DATA FOILMAT

108

APPENDIX

5:

VERIFICATION OF ADDING ASCII D.ITA FOR&MT

E X P O N E h i L AVERAGING

118

APPENDIX

6:

SHORT USER'S GUIDE TO TOAP

122

(7)

1

DIGITAL

FILTERING

1.1

Third

Octave

Filters

(by M. Hofmeister and hI.0. Al-Hunaidi)

1.1.1 Filter Type

In TOAP the filtering duties for third octave analysis are performed by tangent Butterworth

filters. The square of the absolute value of the transfer function of a tangent Butterworth

filter has the following form

/

H(f)

/

= 1 I (1

+

(tan

x

f f / r a m B n 2 M )

where f is the independent variable, frequency, B is the signal bandwidth, T is the sampling

interval, and M is the number of poles of the filter.

The

Butterworth family of filters is

among some of the simplest higher-order filters yet these filterscan

be

used

in

many different

situations. Another

type

of filter from this family is the sine Butterworth filter. The transfer

function expression for this filter is the same as that for the former except that the tangent

tenns are replaced by sine terms. The tangent filters have better definition at the bandedge

than their sine counterparts and therefore provide better performance in this respect. The

tangent filters, however, do contain zeroes which, in some applications, may act to increase

the calculation time associated with them.

All

of the filters used in TOAP have been made 12-pole filters. This was done because it

was found to give the best conformance (see results in Appendix 2). The number of poles

can, however, be changed, if desired, by a minor modification to the source code of the

subroutine filter-info21

(found in the larger subroutine processjl). Within the code for

this subroutine is a parameter statement which sets the variable

numgoles

to

12. To change

the number of poles would simply be to change this statement.

In

the sections to follow,

unless otherwise noted, any subroutine can be assumed to be found in the major subroutine

process_gl which itself is found in the mainline program toap.

1.1.2 Filtering Parameters

The frequency range over which the signal is to

be

filtered into 113-octaves is user given and

is asked for in the routine filter-infoxl. The range must fall within the limits of 2.5 and 250

Hz, inclusive. The user enters the upper and lower 1B-octaves of the range of interest and

(8)

these must span an integral number of octaves. In addition, the upper and lower limits must

be ANSI standard 113-octave centre frequencies which are listed in Table I . If any of the

above criteria are not met or if a poor entry such as the lower limit being higher than the

upper limit is given, the user is told so and given as many chances as required to make a

proper entry. Also needed as a filtering parameter, but not user given, is the sampling

frequency of the raw time signal. For MTAS data format the sampling frequency is read

from the .DOC file by the subroutine get-sjreq which itself is called by filter-info~l. For

GLOBAL LAB data format it is read from the header of the source file by the subroutine

rend-&#-header.

1.1.3 Filtering Procedure

The routine which generates the coefficients for the filters is found in the source code of the

subroutine lptb (an acronym for lowpass tangent Butterworth) which was taken straight out

of Applied Time Series Analysis Vol.

1

by Otnes and Enochson (1978). This subroutine is

manipulated by its mother routine digfilh and is used to generate the coefficients for both

low- and highpass fdters. These coefficients calculated by digfiltm are written to disk where

they are later read by tmrdoct. From here they are sent to the subroutines hipuss3 and

lopass3

(both found in th3rdoct) which are repeatedly used to filter the raw signal into its

113-octave bands. The exact process by which the filtering occurs in TOAP is presented

below and was designed to save both memory and processing time.

The frequency range of interest is user given and may include as many as seven octaves.

The filter coefficients for the highest octave only, are calculated and written to disk by

digfiltm to be used later by th3rdoct. These coefficients include those calculated for lowpass

filters having bandedge frequencies of the upper limits of the highest four in-octave bands.

In addition, the coefficients for highpass filters having bandedge frequencies of the lower

limits of the top three 113-octave bands are also calculated. From now on, the upper l i i t s of

the top four 113-octaves in the processing range will be referred to as points

0,2,4,

and 6,

with point 0

being the highest frequency and point 6 being the lowest. As well, the lower

limits of the top three 113-octaves will be denoted points 1,

-,

and 5 with point 1 being the

highest frequency and point 5 being the lowest. Figwe 1 illustrates where these points occur

in the highest 113-octave bands of the processing range.

(9)
(10)

\\-ithin thirdoct, three arrays, signal,

b4000,

and

b3I50

are used to manipulate the signal.

T o begin with, the raw signal is lowpassed at point 0 and placed in the

first

half the array

signal. This is then lowpassed at point

6

and the resultant values are placed in the second

half of signal. Similarly, the raw data is lowpassed at point 4 and the filtered signal is placed

in the second half of b31.50. Finally, the raw data is lowpassed at point 2 and the result

placed in the second half of b4000. The values in the first half of signal are then highpassed

at point

1

and placed back in the first half of signal. The data in the second half of

b4000

is

highpassed at point 3 and placed in the fust half of this array. Finally, the signal in the

second half of b3 150 is highpassed at point

5

and placed in the first half of that array. After

this process is complete, the first half of the array signal will contain the highest 113-octave

bandpassed data, the fust half of b4000 will have the second highest 113-octave bandpassed

data, and the first half of b3150 will have the third highest 113-octave bandpassed data.

In

addition, the second half of the array signal will contain the data lowpassed at the upper limit

of the fourth highest 113-octave in the processing range.

Thus, the data has been filtered into the highest three 113-octave bands of the processing

range. To filter the lower 113-octave bands the routine th3rdoct does the following. Every

second point of the lowpassed data in the second half of the array signal is discarded which

effectively reduces the sampling frequency by half. By doing so, the filter coefficients used

for the highest octave can be used for the one just below it. Thus, the whole procedure

described above is repeated for this lower octave. This can also be repeated for however

many octaves have been specified. The fmal result is that the first halves of the arrays

signal,

b4000,

and b3 150 all contain bandpassed data of the three 113-octaves comprising the

top octave, the next quarters of these arrays contain the 113-octaves of the next highest

octave, and so on until all of the octaves have been covered.

This procedure saves space since only

three

arrays are needed; the dimensions of

each

equal

to twice the number of points to be processed.

Time

is also saved since the filter coefficients

need be calculated for only the top octave;

all

lower octaves use these same coefficients.

This is because with

a

halving of the sampling frequency the same coefficients apply an

octave 10x1-er.

1.1.4 Effect of Sampling Frequency

The response of the 113 octave band filters implemented

in

TOAP, like

all

other bandpass

filter, depends on the number of poles

and

the ratio between the sampling frequency of data

(11)

and the center frequency of the filter. The results of an investigation of the effect of these

two factors on the filter's response are given in Appendix 2.

From these results, it can be seen that for sampling frequencies between

500 to

4000

Hz,

ths

113

octave band digital filters conform to specifications given in the standard

IEC

225

mainly when the filters should conform to IEC 225.

I I I 1

4th dghest

3rd dghest

2nd hghest

highest i/3-octave

'

centre frequency

frequency

+

Figure 1. Illustration of the bandedge frequencies found

in

the top

four 1/3-octaves of the processing range.

Figure

1

Illustration of

the

Bandedge Frequencies Found in the Top

Four 113-Octaves of the Processing Range

(12)

1.2

Frequency-Weighting Fiter (by

W.

Gum)

1.2.1

Weighting filters

Frequency-weighting filters specified in both

the

British Standard BS 6841:1987 and the

International Standard IS0 8041:1990 for h u m body vibration are implemented in TOAP.

In both standards weighting filters are defined as analog filters

in

the form of a Laplace

transform. These filters are k h i t e impulse-response (IIR) filters, and the number of poles,

comer frequencies, and frequency responses are

all

clearly specified by definitions.

A

weighting filter consists of two filters, a frequency band-limiting filter and a frequency

weighting filter. The transfer functions of filters. H(s),

are given by

the

standards

as follows:

Band-limiting (for both weighting

~

B

~-

and weighting D)

Frequency weighting: weighting B

s

+

2nf,

2x~f,'

HP8

(s)

=

2

22xf4s+4X2f42

S

+-

Qz

Frequency weighting: weighting D

where

f, (n

= 1 to 6) designates cutoff or resonance frequency of filter,

Q,

(n

= 1 to

4)

designates selectivity, and K is a constant gain. For a spenfic weighting type, coefficients

fn,

Qn,

and

K

are all constants. H(s) is the trausfer function of the filter, and s is the Laplace

operator.

I S 0 8041:1990

(13)

Frequency weighting: W.B.x-y

1

+

0.08s

Hz.., ( s )

=

1 + 0 . 1 2 5 ~ + ( 0 . 0 8 s ) ~

Frequency weighting: W.B.z

0.42

+

0.045s

Hz ( s )

=

1+o.044s+(o.03s)2

where fi and

f,

are the lower limiting frequency and upper

limiting

frequency, respectively.

fi

-

-

100.1NI,

fU =

100.lNu,

where N[ and Nu are integer numbers. For whole body vibration, Nl

= 0 and Nu =

19.

H(s)

is the transfer function of the filter. and s is the Laplace operator.

These analog filters have to

LX

converted into digital fd:ers bsiore they can be simulated in

software. The frequency band-limiting filters shown in Equations

( 1 ) and (4)

are both 4-pole

Butterworth bandpass fdters which can be understood as the combinations of 2-pole

Butterworth lowpass filters and 2-pole Bunerworth highpass filters.

The bilinear

transformation method with frequency prewrapping, which is the most frequently used method

for converting filters with flat gain in the passband, is used for converting these filters. The

z-

transform of

a

digital filter is obtained from the followins equation:

i=1

where f,

is

the cutoff frequency of the filter, and

T

is

the sampling interval. The cutoff

frequency and the number of poles are kept the same

as in analog filter so that the digital

band-limiting filters are also 4-pole

W

filters.

ai

and

bi

are constant coefficients,

z

is

z-

transform operator, and M and N are number of zeros and poles, respectively.

The frequency weighting filters shown

in

Equations (2), ( J ) , and ( 6 ) have 2 poles, and the one

in

Equation ( 3 ) has

4

poles. Because of the complicated properties

in

their frequency

responses, these filters are converted into digital filters by the impulse invariant method.

If

H(s)

is expanded in terms of partial fractions, it can be w-rinen

zs

(14)

where

H(z)

is the digital filter transfer function

in

z-transform,

Ki

is constant, si is pole.

T is

sampling interval, and

M

and N are number of zeros and poles, respectively. The results are

also

IIR

filters and have the same number of poles

as in

analog filters. Further details about

the implementation of these filters can be found in Al-Hunaidi and Gum

(

1996).

The frequency responses of the combinations of frequency weighting filters and band-limiting

filters specified by the

I S 0

and

BS

standards

are

shown in Figures 2 to 5.

As with 113 octave filters, the response function of digital frequency-weighting filter is

influenced by the sampling frequency. The effect of the sampling frequency is investigated

in Appendix 3. It

was

found that digital frequency-weishting filters implemented have

conformed to tolerances specified in the

I S 0

and

BS

standards when the sampling frequency

is behx-een 300 and 1500

Hz.

At

higher frequencies these filters slightly exceed the specified

tolerances.

(15)

t " " @

I I

1

:

Sampling rate

=

500

Hz

-

I S 0

8041

(z-axis weighting)

:

- - -

Digital filter

-

-

I

0.1

1

.o

10.0

100.0

Frequency

(Hz)

Figure 2

Comparison of IS0

8041

Standard and Digital Filter in TOAP (z-axis weighting)

k " " '

I I j

Sampling rate

=

500

Hz

-

IS0

8W1

(x,y-axes

weighting)

:

- - -

Digital fiiter

-

-

,

0.1

1

.o

10.0

100.0

Frequency (Hz)

(16)

I " " '

8

-

Sampling rate

= 500 H Z

-

- - -

BS

Digital filter

6841

(Weighting

\Nb

)

-

-

I I I

0.1

1

.o

10.0

100.0

Frequency

(Hz)

Figure 4 Comparison of

BS

6841 Standard and Digital Filter in T O M (Weighting

W,)

Figure 5 Comparison of BS 6841 Standard

and

Digital Filter

in

TOAP (Weighting

W,)

10.0

c

.-

cl

1.0

Q

-

3

-

5:

2

0.1

k .

. . . I I I

:

Sampling rate

=

500

Hz

-

- - -

BS

Digital filter

6841

(Weighting

Wd)

:

1 I

0.1

1

.o

10.0

100.0

(17)

2

PREPROCESSLNG INFORMATIOX

AND

ACCESSING O F DATA

FILES

(by M. Hofmeister, M.O. Al-Hunaidi,

W.

Guan, and J. Marans)

2.1

Files Needed for the Operation of TOAP

2.1.1 MTAS Acquired Data

There are certain files required by TOAP if MTAS acquired data is to be processed.

These

files are needed to give various pieces of information necessary for the processing of

the

job.

Included in these files are the <jobname>.HDR file, <jobname>.STi (i=setup characterr file,

and the <jobname>.DOC file.

In

addition to these are the <jobname-.Djk

Cjk=chmel

number) files which contain the data for each channel. These files must

all

be located

in

the

same directory which does not necessarily have to

be

the working directory from which

TOAP is being run. The reader is referred to the MTAS User's Guide Version 2 for the exact

contents of these files.

From now on whenever an extension is used to refer to a file it is assumed that the root

<jobname> precedes it. For example, the hypothetical file TEST.DOC would simply bs

referred to as the .DOC file.

2.1.2 GLOBAL LAB Acquired Data

There is only one file needed for the processing of GLOBAL LAB formatted data and

rhar

is

the

data

source file which is recorded directly from the AID board. The default extension for

these fies is .DAT and they usually take the form <filename roob.DAT. This file does not

have to

be in the working directory for processing to take place. After this point, where job

name appears for the MTAS option, filename will appear for the GLOBAL LAB option.

Note for

the

versions after Nov. 12, 1993, including the current version, version

6.0.

The

current version was tested for DT2821 board only. It is not clear yet whether this version

works with DT2801A board anymore after the modification on Nov. 12, 1993. To maks

sure that this version works correctly with the board that you are using, run a known

~ L I

tone signal to see whether you can get the correct rms value, i.e., 0.707 of the peak value of

the

known

pure tone signal.

(18)

Note for the versions before Nov.

12,

1993,

that is, for any versions older and including

version

4.0.

It should be noted that, for version 2.0, the GLOBAL LAB interface of T 0 . e

was written to accommodate data acquired from the DT2801A board. Data acquired from

other boards, particularly those which record in offset binary unsigned words will be

processed incorrectly. For this reason, take note of the board used to acquire the data before

using the GLOBAL LAB option in TOAP.

2.1.3 Snap Master Acquired Data

TOAP will process plotter binary, and standard binary Snap Master files. SNAP MASTER

automatically assigns plotter binary files a .PLT extension. The file name extension assigned

to standard binary files by SNAP MASTER, however, is arbitrary. Hence, the user must

enter the entire file name when selecting standard binary file format. Only one file name is

needed to perform the analysis. The user should make sure the data file is present in the

current working directory before invoking TOAP.

2.1.4 ASCII Data Format

Time history stored in text file can be processed by TOAP. The format of the file should

contain one comment line at the beginning of the file.

Only one line is allowed. If there is

no comment, an empty line is required as the first line of the file. Sampled data start from

the second line. Each channel occupies one column. For example, a data file with 4

channels has the following format.

channel 1 channel 2 channel 3 channel 4

1.0 1.0 1.0 1.0

The user will be prompted separately for the number of channels and sampling frequency

(only in the case of ASCII files). Verification of the correct reading of ASCII files is g i ~ e n

in Appendix 5.

(19)

2.2

User Options and

Checking

Procedures

2.2.1 Job Nameffilename

The user is asked to enter the job namelfilename which may include a path specification if

the required files are not located in the working directory. This occurs in the subroutine

get-namejl,

after which it checks for the .HDR file (for the MTAS option) or the filename

itself (for other options) to make sure that the job exists. If the job does not exist the user is

warned and has the option of either entering a new job namelfilename or ending the

program. The full job name including path specification cannot be larger than 15 characrers.

where the full filename (with extension) can be as large as 20 characters.

With the GLOBAL LAB option. the DAFF (Data Acquisition File Format) header of the

source file is checked for various flags before processing can begin. This is done by the

subroutine read-daff-header as it ensures that the file is a DAFF 'Sampled Data File' having

the correct byte-order (INTEL)

and

character set (ASCII) as well as having at least one block

of data present.

2.2.2 Setup Information (for MTAS acquired data onl>-)

The subroutine setup-info checks the job directory (directory within which the .HDR file is

located) for any .STi files present. It also checks the .DOC file for information regarding the

setups by calling the subroutine double-check-serups. This acts as a second check to prevent

problems which may occur in the future when information needed for data processing is read

from the .DOC file.

If there are no setups available for the job the user is warned and given

a chance to either enter a new job name or quit the program. If there

are

more than one setup

available for the job, those present are listed and the user is given a choice of any ONE of

them in the subroutine get-setup. If only one setup is present,

this

one is automatically

selected and the subroutine get-setup is skipped.

2.2.3

Channel Information

For MTAS acquired data, to determine which channels exist, the job directory is checked for

<jobname><i>.Djk files by the subroutine channel-seek. This routine also calls the

(20)

information. Once again. this second check is to ensure that information needed for each

channel is indeed given in the .DOC file.

For GLOBAL L=\B acquired data the DAFF header of the source file is scanned for

available channels by the subroutine read-daff-channels. This subroutine does so with the

help of the routine dafSgarse which searches the header for specific pieces of information.

For detail on the DAFF header refer to the GLOBAL

LAB

user's guide V02.01 pp 270.293.

In both cases, if no channels are available, the user is warned and can either enter a new job

namelfilename or terminate the program. If the opposite is true, the subroutine

get-chnnehdl

lists the channels available and allows the user to pick any number of rhem

in any combination. As the user chooses each channel, it is checked against those available

and the user is warned if it is not on the list. If no channels are picked, the user is warned

and has the choice of re-selecting or quitting the routine.

For ASCII format, user must input the number of channels correctly during the execution of

the program.

(21)

3

PROCESSING PROCEDURES

3.1.

Processing

Parameters

(by Xi.

Hofmeister, M.O. Al-Hunaidi)

There are four parameters, all user given. which dictate the way the signal will be processed.

The first one is the segment length or inreamtion time of the processing. This is the portion,

entered in seconds, of the time signal to be filtered and used in a single processing run. The

length of the segment in seconds is converted to a length in number of points as the number

of seconds is simply multiplied by the sampling frequency (in Hz). Due to the filtering

procedure described earlier, the number of points of this segment must

be

divisible by

2-1,

where n is the number of octaves of the processing range.

If the number of points of the user

specified segment does not fit this criterion, the length is increased or decreased to the

nearest value which does. The user is informed of this modification and is made aware of

the new length of the segment. It ma>- appear as though the user does not have absolute

control over the integration time, howex-er, the relative change in the segment length is

usually too small to have any noticeable effect on the results.

There is another restriction on the size of the segment length. The array which holds the

segment of the raw data (array signal) has been limited in size because of memory reasons.

It follows that the segment length is also limited and cannot contain a number of points

which is greater than half the dimension of this array. Only half the array is available

because of the filtering procedure outlined earlier. Currently, the dimension of the array

signal is set to

4

096 which means that the segment length can be no larger than 2 048 points.

The user is given the largest possible se-gment

(in seconds) that can

be

entered before this

parameter is specified.

If

a segment len,&

larger than this maximum is entered or if a

smaller length is entered and upon modification by the program itself,

as

explained above,

becomes larger than the maximum, the user will

be asked to enter another value which is

(after modification) less than the given limit.

If the dimension of the array signal (and the arrays

b4000

and b3 150) is too small for the

processing tasks required, it can easil>- be changed. The change involves a minor

modification to the source code of the subroutine process-gl (found in fife

PROCESGL.FOR) within which is a

parameter

statement setting the value of the constant

dim

to

4

096. All that is required is that the value

4

096 be changed to whatever is desired

and that the whole routine

TOAP be re-compiled. (see section 5 on compiling)

(22)

The other processing parameters include the processing start time, the number of se-ments to

be processed, and the number of initial segments to be isored.

Each segment is fully

processed, including filtering and rms calculations. inds-rmdently. Specifying the number of

segments equates to giving the number of processing mzs to contribute to the

rms

calculations. Each segment is taken from the

raw

s i g n i starting at the point where the

previous segment left off. The first segment begins at

tix

user specified start point. The

number of initial segments to be ignored parameter specifies that the

first

n segments are to

be filtered but excluded from the

rms

calculations. It is important to have this option

because often, the fust few segments contain invalid resxlts stemming from the

characteristics of the filter. (see Appendix 1, Test

1)

The Snap Master plotter data files contain a short heads: that does not indicate the sampling

frequency, so if the user chooses to process plotter files. -Jle sampling frequency will be

required.

For ASCII input file, both the sampling frequency and

5 s

number of channels will be

required from user input.

3.2

Processing Loop of 1/3-Octave Analysis

(by

M. Hofrneister, M.O. Al-Hunaidi,

W.

Guan. and

J.

Marans)

After all of the job specifications, filtering and processkg parameters have been collected,

data processing may take place. The

data

is processed cne channel at a time and

all

of the

f i f t e ~ g

and processing parameters are the same for e x 5 channel. The

main

processing loop

which runs through

all

of the channels is found

in

the srr5routine process_gl. From now on,

any actions taken, any calls to subroutines, can

be

assunzd to occur from process-gl.

To

begin

with, for MTAS acquired

data,

the sensitivity for the current channel is read from

the

.DOC

file by the subroutine read-sensitivityl.

This

d u e is the total effective sensitivity

of the recording equipment for that particular channel. The sensitivity value read from

disk

is later used to scale the raw data values read from the

.Djk

files. The sensitivity is

the

only

parameter that may differ from channel to channel.

For

GLOBAL

LAB

acquired data, the sensitivity is r e G from the

DAFF

header of the data

file by the subroutine reakdaff-data. The sensitivity

is

in the form of a factor and offset

applied to the integral values which come straight from the

A/D

board.

(23)

For each channel there is

an

inner loop in which ~rocessing

occurs one segment at a time.

Starting out, the raw data of the current segment only, is read from disk by the subroutine

get-data1

for MTAS format and read-daff-data for

GLOBAL LAB

format. For MTAS

format the data is read from the

.Djk

files where

jk

is the current channel number. The data

exists in MTAS binary format

and

is converted to floating point format upon being read.

In

addition, the values in the

.Djk

files are mukiplie3 by the sensitivity to fully reconstruct the

time signal in units of

%

g to be used for filtering. For

GLOBAL LAB

format, the ran

values off the

AD

board are multiplied by a factor and added to an offset to obtain the result

in the units specified by the

DAFF

header.

After the data is read and converted, filtering occurs in the subroutine rh3rdoct as described

in section 1 above. After the filtering has been completed for a segment of data, the

rms

values for each 113-octave band pass

are

calculatsd by the subroutine root-mem-square.

The equation used to calculate the

rms

value for sach 113-octave is

rms

=

u.

((ln-,

I:

x,2)

where xi represents the ith filtered value, in a sum which is carried out from i

=

1 to N.

If

more than one segment is specified for the analysis, the maximum

rms

values. only, for each

113-octave band are kept and then output. This is accomplished by comparing the

rms

value

calculated for the current segment with the previoss maximum and replacing this maximum

if the current value is greater. This is done for each 113-octave band in the range.

If

the

current segment is one to be ignored, the call to mttmean-square is skipped, with

all

the

other procedures remaining the same.

In

this wak-. the final result is one value for each 113-

octave band representing the maximum (for the band) out of all of the segments excluding

those initial ones that were ignored.

The rmq values are calculated in the same subroutine

as

for calculating

rms

values,

root-mean-sqrcare.

The equation used to calculart the rmq value for each 113 octave is

where xi and

S

are defined previously. The processing procedure for rmq value is the same

(24)

The rms value with exponential averaging is defined as:

where

x(t)

is the time domain signal sampled at time

r,

T

is the integral variable, T is the time

constant for running averaging, and t is the current time. The equivalent process in digital

form is produced by using the following algorithm:

-

- -

2 2

x, -x:_,

x i 2 = x i-1 2 +

K

where

x

is the ith sample, K is an integer, K = T*f; wheref; is the sampling frequency. The

exponential averaging for 113-octave analysis is also canied out in subroutine

rms-meaxsquare. Since exponential averaging is a running averaging, the averaged result

of the last data point of current segment is passed to the calculation of next segment. The

maximum value of the exponential averaging result is outputted. Verification of exponential

averaging is given in Appendix 5.

In order to calculate statistics, all rms or rmq values are retained for subsequent processing.

After all segments have been fdtered, and before the next channel is analyzed, the statistical

subroutine, statistics2, which can be optionally invoked searches for the 3 maxima, the

minimum, the mean and the standard deviation. The mean is calculated using the formula

p = ( l N ) C q

and standard deviation follows from

Cf

=

(l/m-1))

x ( p

- xi)'

No statistics result is produced for exponential avera-@ng.

3.3

Processing Loop

of

Frequency-Weighted Analysis (by

W.

Guan)

The filtering and processing of frequency-weighted analysis is similar to the one for

113-

octave analysis. F i t , the filter coefficients

aj

and

bi

of the band bandlimiting and frequency-

weighting digital fdters

are

calculated. The filtering procedure is done in the timedomain by

first passing the raw time signal thou@ the band-limiting filter, and then the frequency

weighting filter.

The

result is a frequency-weighted time signal. By using the overlap-and-

add method, the input signal can be separated into as many segments

as

necessary so that

there is no limitation to the length of input signal. That is to say, the last

N points of

raw

time

(25)

signal and the last M points of the weighted signal containing the initial conditions for the next

segment are saved, and then added to the beginning of next segment. This ensures that no

information will be lost between two consecutive calls to the filter subroutine. The xveighting

filter subroutines are programmed in modular form so that only one subrourine need be called

for one segment. This also makes it sasy to add other aeighting types in the future. After the

filtering process, linear and exponential rms value of the frequency-weighted signal

are

calculated in the same manner as decribed for 113-octave analysis in last section. Due to the

effect of filter rise time it is usually necessary to discard the first two to four seconds before a

valid result can be obtained. The Ion-er the predominant frequency of interest, the longer the

result to be discarded.

3.4

Processing Loop Exit Function (by M. Hofmeister and M.O. Al-Hunaidi)

In some cases processing cannot be continued and has to be halted prematurely. This occurs

when there is not enough data in the .Djk file or source data fde to process according to

specifications. This results when a poor combination of processing parameters, such as too

many segments or a start time which is too late, is chosen. This could cause the routine to

automatically search for data beyond the end of the file possibly corning up with zeroes or

other forms of erroneous values. Fortunately, this is prevented from happening since in the

subroutines get-data1 and read-daff-data a flag is actirated when the source data has been

exhausted prematurely. When this happens, control is returned from get-data1 (or

read-daff-data) back to process_gl a-here the user is warned of the situation and given

options concerning the next course of action.

If processing is aborted as described above, depending on the situation, the user may be

presented with one of two sets of options. If absolutely no

rms

values for any channels have

been computed before interruption, the user is given the choice of resetting processing

parameters and starting again or quitting the program. If the former is chosen, only the

processing parameters are re-entered; the job and fdter specifications remain as they were

and processing starts from the first segment of the f m t channel. If some rms results were

calculated before the loop was exited. the user is given the number of channels processed so

far and the channel currently being processed. He is also informed as to the number of

segments that have contributed to the rms results for the current channel. With this, the user

is given the choice of seeing the results as they are or resetting the processing parameters and

starting again.

(26)

4

OUTPUT (by

IM.

Hofrneister. 41.0. Al-Hunaidi,

W.

Gum, and J. Marans)

TOAP offers two forms of ourput: to screen and to disk. The first one is optional.

and

if

chosen, the maximum rms values are listed beside each centre frequency of their respeztive

113-octave band. The values are viewed sequentially

by

channel at the user's discretion.

While viewing the results for each channel, the user has the option to quit and go to the end

of the routine at any time. The same rms values are automatically wrinen to disk in much

the same format as they are displayed to screen. They are written in ASCII format to files of

the form <jobnameA>.RMS where i is the setup character for 4fTAS format, and

cfilename root>.RMS for other formats. These files contain the rms values for all the

selected channels and are wrinen to the same directory in which the .DOC, .HDR. .STi, and

<jobname>u>.Djk files are found (for MTAS format) or simply the directory of the source

file in the case of GLOBAL LAB acquired data. If the user chooses rmq instead of rms

values, the ASCII file written out will have an

.NQ

extension instead of an .mIS.

If the statistics option is chosen, another ASCLI file is output with the extension

.STA.

This

file contains the results of the statistical calculations. Please reisr to the sample outpur in

Appendix

4.

These .RMS files can be imported into a spreadsheet like Excel or Quattro Pro for display

purposes.

(27)

5

HOW TO

RUN

TOAP

A

short user's manual describing how to run

T 0 . q and

provide input data is given

in

(28)

6

MAKEFILE

AND COMPILING (by %I. Hofmeister,

W.

Guan, and J. Marans)

For a routine such as TOAP which is made up of source code contained in over

40

files,

compiling becomes a difficult task. To make

the

job easier, a utility known as a makefile is

used. The makefile contains all of the compiling and linking instructions needed to create

the desired executable file. This eliminates the chore of specifying these commands each

time the routine has to be re-compiled due to minor changes in the source code. For

example, if a change is made

in

one of the .FOR files of the source code, the makefile detects

this update by comparing the creation times of this file with its .OBJ (object) file. After

making this discovery the makefile re-compiles this file only, and links the new object file to

those already existing. The source code of the makefile used for TOAP.EXE, called

MAKEFILE, is included with this document in Appendix 2. MAKEFILE was constructed

for use with the Microsoft F o m

Compiler Version 5.0.

The makefile links object files by using libraries. For TOAP.EXE, the object files of the

major subroutines are found in the library FILTER.LIB, with those of the utility subroutines

found in the libraries MTAS.LIB and GRAJ3X4O.LIB. The object files found in the latter

two libraries are not normally tampered with since these subroutines are standard and do not

need changing. Modifications,

if needed, usually occur to source code whose object files are

found

in

FILTER.LIB.

If a modification was performed, following a change to the source

file the old object file would be erased from the library (HLTER.LIB) and the new one

would

be

added. All of the libraries would be linked together and the new executable file

would be created. The libraries used by MAKEFILE for linking are specified on the line

starting with 'libs =

...'

in the code for this file.

Each compile option used to compile the source code for TOAP.EXE is given a short

comment (in the MAKEFILE code) concerning its significance.

If elaboration on these

comments is needed, reference can

be

made to the Microsoft FORTRAN Reference manual.

Two options worthy of note are the /AH and the /Gt options. The /AH specifies that the

routine upon execution is to use the huge memory model. This is important to have

especially if the arrays signal, b4000, and b3150 are made larger in size. The /Gt option sets

the data threshold to

256

bytes which means that any data item larger than this amount will

be

placed in its own far address. By setting this option in this way, the danger of overwriting

sections of system memory is avoided.

(29)

If a change is made to the source code of TOAP.EXE, to re-compile it, the following must

be done. The source code of the altered file(s) must

be

in the working directory unless they

are in a directory included in the PATH statement of the AUTOEXEC.B.L\T file. All

libraries needed must be in the working directory or in the directory specified in the SET

LIB statement of the AUTOEXECBAT file. Finally MAKEFILE must also be in the

working directory unless it is in a directory specified in the PATH statement of the

AUTOEXEC.BAT file. After these requirements have been satisfied. s~mply

type NMAKE

ALL at the DOS prompt. The new executable file, TOAP.EXE

will be

created and placed in

the working directory.

(30)

REFERENCES

Al-Hunaidi, M.O., 1991. Investigation of Traffic-Induced Building Vibrations on

Sherbrooke Street East, Montreal. IRC Repon (No. 607),

hRC.

Ottawa.

Al-Hunaidi, M.O. and Guan,

\I-.,

1996. Digital Frequency W-eighting Filters for Evaluation

of Human Exposure to Building Vibration. Soise Control Engineering Journal (March-April

issue).

ANSI S 1.11- 1986. Specification for Octave-Band and Fractional-Octave-Band Analog and

Digital Filters. Acoustical Society of America, New York, New York.

Borland International Inc., 1989. Quattro Pro User's Guide. Borland Inc., Scotts Valley,

CA.

Data Translation Inc., 199

1. GLOBAL LAB User's Guide. Data Translation Inc., Marlboro,

MA.

Otnes, R.K. and Enochson, L., 1978. Applied Time Series Analysis, Volume 1: Basic

Techniques. John Wiley and Sons, Toronto.

Rainer, J.H. et al., 1990. Useis Guide: Modal Testing and Analysis System (MTAS),

Version 2. Internal Report No. 588, IRC,

NRC,

Ottawa.

Rudder, F.F. Jr., 1978. En-@neering Guidelines for the Analysis of Traffic-Induced

Vibration.

Report No. FHWA-RD-78-166 prepared for the Federal Highway

Administration, Washington, D.C.

International Standard Organization 1990. Human response to vibration

-

Measuring

Instrumentation, IS0 804 1: 1990.

British Standards Institution 1987. British Standard Guide to iMeasurement and Evaluation of

Human Exposure to Whole-Body Mechanical Vibration and Repeated Shock BS 6841: 1987.

(31)

ACKNOWLEDGMENTS

This version is based on TOAP version 2 by M. Hofmeister and M.O. Al-Hunaidi. Additions

for Snap-Master data fonnat, rmq calculations. and the feature of statistics

were

done by J.

Marans. Frequency weighting filters, reading of ASCII input files, and exponential averaging

were implemented by

W.

Guan.

(32)

APPENDIX

1

VERIFICATION OF

THE PROPER FUNCTIONING OF

TOAP

(by

M.

Hotmeister and M.O. Al-Hunaidi)

Introduction

Confidence

in

the working order of a program can only be gained through extensive,

exhaustive =sting. It is important to conduct a variety of tests so that several aspects of the

routine can

be

scrutinized. However, it is impossible to look at the program under every

possible condition. Thus,

a

true comprehensive series of tests cannot be achieved under

normal cirmstances involving some kind of time limit. Therefore, the following

verification runs presented below can only attempt to provide the best possible

overall

check

of the proper functioning of the routine under the given situation.

Sample Data Used For Testing

For the most part, sample files used for testing were generated by

the

program

SNBIN2EXE. This routine constructs a pure sine signal of constant amplitude, frequency,

and

zero DC offset. The frequency, amplitude, sampling frequency, and effective recording

sensitivity

are

all user-given. With the help of the final parameter the program writes

the

file

in the same MTAS binary format of the actual data files intended for use in the

TOAP

routine. The source code for this program is found in SINBIN2.FOR which is included with

this document

Test

1:

16

Different Pure Tones, One For Each Channel

In

this test

16

files were created by SINBN2.EXE, each with a different pure tone

frequency. The amplitude and sampling kquency were the same for every fde and were ser

to

100% g

and

600

Hz,

respectively. The frequencies used were

2.5,3.15,4,5,8,10,12.5,

20,25,31.5,40,63,125,160,200,

and

250

Hz These

are

all standard frequencies

and

corresponded to the files SINEB.Dl

...

16,

respectively.

The purpose of this test was to ensure that the data files were being accessed correctly and

to

expose the routine to a variety of pure tones. As can be seen by the printout of this run, the

16

frequencies listed above show up as

the

dominant ones in each of the 16 channels

in

the

correct order. For example,

in

channel

1

the highest

rms

value occurs at

25

Hz

and similarly

at 200

Hz

for channel

15.

Thus, the routine is irnpomng the correcr files into the right

(33)

Ten

1

Freq ( H z )

250

200

169

125

199

8 0

6;

50

40

31.5

25

20

16

12.5

10

8

6.3

5

4

3.15

2.5

C h l RMS ( X g )

Ch7

RNS .

cx

9 , ) . .

1.400~-03

1.4456-03

6.606E-04.

6.841E-04

3.125E-04'

2.867E-04

5.392E-04

5.483E-05

1

.~

104E-03

3 ...

3 7 Q ~ g 0 4

2.660~-03

2.471E-01

1.960E+00.

7.020E+Ol

4.234€+00

2.017E-,01

4

-351E-01

1.568E-01

l.llbE+OO

1.1.00E+00

9.755E-01

C h 2 RMS t X 9 ) C h 3 RMS ( %

9 )

C h 9

R M S

( % g )

(34)

Test

1

(Continued)

Freq Ch13

R f f i

Ch14

RHS

(35)

channels. Also, it is processing each tone

in

rougNy the same

way,

as

the

highest

nus

valued

arc

all

(with a few exceptions) close

to

70

which would

be

expected

It is evident that the li-equencies other than that of the pure tone

do

not have

rms

values of

zero

as,

in theory, would

be

expected. lhis occurs because the shape of the filter

is not a

perfect rectangle. The characteristics of the %WAS digital Nter

used

in TOAP

are given

in

Figure Al.

It

can

be

seen that the filter does not drop sharply for frequencies outside

the

113-

octave band, thus allowing for spill-over.

This

is why the other frequencies do have a

s

d

rms

value associated

with

them. The general trend is that the

rms

values of frequencies

closer

to

the one of the sine wave are larger than those fanher away. This is because the

spill-over is greater

for

closer 1.D-oc@ve.bands

as

would

be expected,

-

-

: , .,.; . . . . - - . .

.

~ . !

-

. . . . .

. . . . . . . , . . .~ .

It was mentioned earlier that for most of the channels the rms value of their respective

pure

tone ID-octave

band

was

close.(within

1.0) to

the theoretical value of-70.71. T h w we=

however, a few exceptions to @is, namely channels 1,2, and 3. .In

these

cpes the

rms values

(55.29,55.08,

and

64.61,

respectively)-are somewhat lower than the.theontica1

. .

value.

. . .

This

is

due to the&e time of the filter. The

rise

time

of the filter is:theamqmt of time.neededfor

i t

to

reach its normallevel

.

of

~

response to an inpur Figures -:A2b,

and A2c

gi.y

-

i .

illusmtions of the

riv

rimeof the filter used in the TOAP routine.

They give

t&

~ p s e

of

the filter ma unit impulse at

time

zqo for the 113-octave bands of 25&-1-25,an*16

H z 2

It

is

clear that

the

lower the m s t a v e

band,

the greater the rise time

of

the

filter.

This

is why the

effect of.the

rise

&is greatest for channels 1.2, and 3.

. ,

. . . . . . . :

. . . .

. . . . ~ ., ..

Qne

way :@isp!ue.thea@ve

. . . .

prpblem

.

i s

.

m@?e

.

the $+?gti~ionrirne

~ . .

so

fqat

. . .

k.@V$

the

.. ~

rise

..

time

: . . ..

will

bea&

. . .

less signifcan~.~.com&o=.

T@

. ~ n w a ~ . ~ ~ G u s t ,

f ~ . - k .

I , &

aad

)ping

a0

in4gration

time

of-20

won&.

insteadottwa

. ~ .

,=:-?.

.

w h i c h . a r e . a . ~ , ~ h o y

. .

@at.@e.~.values

of the 1 t 3 ~ v e

~

. ~

.

~

g

.

. . .

t

b

i

~

:'c:r

.

p

~

.

tones.~aow.@thin

. . .

accepta able range

of

the

theq~tical

Vatue.:.&o@~.~~lutioq,is

.~ . . ... .

m

. . . , .

perfow m?re.avepgeszsd

t h g v

away afew

kore

of the

initial-,

. . . . , .

3Bis.W-

..

.: CI

@ o s e . ~ g m e . n q ~ ~

yhi&

the effectof she

rise

*e,is preseq~~.:In.90the~,~@

&yd&xg.the

.~. ::.: ,.

,

first:three

.

.

ckmneb,

ttie

integratiop

time

~

was

~.

kept

at

two seconds b ~ t : & e n ~ : o f s e ~ m e @ j ? :

w g . i n ~ , e d

tg

1

l,wi*

first

IQignorgL

:

he gsults are &ached and clearly show that

the

rms

values of interest are what they should

be.

. .

: . . . - . . : ' ... . . . . . . : . . . .

...

: . . - . . . . ., . - . . . 3 * . . . . . . . . . . . :.

.

.:.

....

i. . .

-

. . . , . . . . . . . . :: ; . . . . -.'I : ; i s : : . :.i: , ..~ . . - .

.

.

. -

~. . . . . . . , . : , . i . . . . :,:: .,;.: .;:;. :."..'! . . . \ ;:;c,.z.::-;:,s 7 . . . . . . . ... . - . - ... . . . . .... .T .>... <:.: :... : : ;:.: -. . . ..: ..-. . . . .:.. . . . .

.

. . .:. $<.~ .<: ..<:; :<: .;:::: :?:..:;~::.-; . . ~. .

--

-

... . . . . . .

_

. . _ . . . . _ . . ,: . ~ . . . . . . . ~. . . "~ . . ;-::::;:

. . .

.>I.. ..,. . . . . . . . . : ... . ~ i. :.. 29 .: :, ::,

1

. . ... .. _.:: ... ~~ . . . . . .

.

. . . ~. ~ . . , . . . ~ . . ... . . . . . . . : . * . . . ,*. - ,

..

:..

. . . . :',. . ' ! : - . ~. ,.< . - :

-

.

..

- . ~. . .

.

. . , . . ~. . . .:

.

. !

(36)

--.

Frequency Ratio

(37)

Figure A2.

Wlex

responses

to

a

unit

impulse function

at

time

zero

for the a)250 Hq

b)125

Hz, and c)16

Hz

lf3-cctave

bands.

(38)

Test 1

(Rcdone with

a

20

seccnd integration

time)

Frequency Chl

Fins

Ch2 RNS

ChS

RMS

(Hz)

( % g ) ( % g ) ( % r '

Test

1

(Redone

with

11

segments

processed. thc fint

10

of which ignortd)

Frequency c h i F ~ M S C h 2 RMS C h 3 RMS

Figure

TABLE OF COhTENTS
Table  1  ANSI S  1 . 1   1-1986 1/3-Octave Centre Frequencies
Figure  1.  Illustration  of  the bandedge  frequencies found  in  the  top  four  1/3-octaves  of  the  processing  range
Figure 3  Comparison of IS0  8041  Standard and Digital Filter in TOAP (x,y-axis weighting)
+7

Références

Documents relatifs

In an annotated inductive types, the universe where the inductive type is defined is no longer a simple sort, but what is called an arity, which is a type whose conclusion is a

Measurements of dv/v in synthetic tests incorporating changes in source frequency content but no actual velocity change: (a) using the stretching method at different lapse time and

Let us consider proposed values on the example of a typical learning management information system (LMS). The system has a lot of different modules. Also, this system has been

4 The exceptions are the 1st and 3rd person singular forms of the indicative imperfect, of the conditional present and of the subjunctive present and imperfect, none of which

Our selection and prioritization procedure is different from the methods used in other studies: In GerES [6,7] see above, a scientific committee conducts the selection of

Do not include details such as day, month, volume, issue or number of pages if they are not provided or are not applicable.. Developing the lifelong learning

J ACOBS , PAR SES VA - ET - VIENT DANS L ’ IMAGE , FAIT DURER LE PLAISIR DU FILM QUAND F ELDMAN QUI VOULAIT MAINTENIR LE TEMPS EN SUSPENS DANS UN MONDE QU ’ IL DISAIT ETRE

The hyperelastic hyperbolic model can be extended to deal with visco-plasticity (Favrie et Gavrilyuk 2011) [4].Recently, we proposed a criterion of hyperbolicity of the equations