Data Loggers and Data Acquisition Systems For All Applications - Temperature data loggers, Voltage and Current data loggers, Humidity data loggers, Power and energy data loggers and more
Data Loggers for All Applications
1 - 800 - 956 - 4437
M-Th  8A-5:30P(EST)
Fri     8A-4:30P(EST)
Find a data logger by selecting an application from the list below.
Data Logging GuidesResources -> White Papers -> Turning Point Analysis with dataTaker Data Loggers

Turning Point Analysis with dataTaker Data Loggers

Date Published: September 13, 2012
Download the PDF version


Flexible dataTaker Systems Let You Monitor Almost Any Value

CHESTERLAND OH—September 13, 2012

Turning Point Analysis is a method of data compression for arbitrary waveforms. The incoming waveform is sampled at speed and analyzed in real time to identify the turning points (Maxima and Minima) of the waveform, and the value and time of the turning point are also logged to memory for later recovery. The Applications Specialists at CAS DataLoggers have put together this tutorial to examine this subject in detail, including a simple method of noise rejection (dead banding) for dataTaker DT800 and DT500 data loggers.

Applications:

Turning Point Analysis can be used in a large number of applications where a waveform needs to

be monitored. Typical examples include but are not limited to:

• Cyclic fatigue monitoring of structures

• Wave height monitoring of coastal structures / shore erosion

• Tank level monitoring

• Air condition monitoring

• Pressure fluctuations in pipes

• Temperature controller monitoring

Algorithm:

The incoming waveform is sampled and the current data point (n) is compared with the

previous data point (n-1). If the difference between the two samples is positive, then the

signal is rising (a=1), and if negative, then the signal is falling (a=-1).

By comparing the difference of a-1 to a when the signal is rising or falling, a-1 – a = 0.

At the next reading after a maxima turning point, the difference of a-1 – a = 2 and for a minima a-1

– 2 = -2, thus not only giving a clear indication of n-1 being a turning point but also indicating if a

maxima or minima. This technique can also be applied to drawing an envelope around a

waveform.

If n > n-1 then a = 1 (Indicates a rising signal)

If n < n-1 then a = -1 (Indicates a falling signal)

If (a-1)-a < 0 > then n-1 is a valid turning point

In the dataTaker data logger code, this is represented by the command lines:

1CV(DF,=5CV,W)

6CV(DF,=6CV,W)=-1*(5CV<0)+(5CV>0)

The amount of data compression is the ratio of the twice the signal frequency to the sample rate.

I.e. for a 2 Hz signal and 200 Hz sample rate, the compression ratio is 200 / (2*2) = 50:1. This

has a great impact on storage capacity, data efficiency and maximum sampling duration.

Fig 1. Incoming waveform (200Hz, approx. 3400 sample points)


Fig 2. Turning point data extracted in real time (approx. 50 data points)

 

Noise Rejection:

The turning point algorithm is very sensitive and is quite capable of extracting white noise on a

system as actual turning points. This is particularly noticeable when there is a very low frequency

or static signal.

 

To reduce the extraction of noise as turning points, a dead band is applied around the last valid

turning point. If a turning point is detected that has a value inside the range of the last valid

turning point +/- the noise rejection level, then that point is rejected. If the value is outside the

range, then the data point is considered to be valid and is recorded.

While this noise rejection method is simple and effective in most cases, it does

occasionally pick up interim points as turning points. These interim points can be easily identified

and removed in post-processing. Other noise rejection routines will be evaluated and may be

included at a later stage.

DT800 Code:

BEGIN"TP"

'---------------------------------------------------------------------------

' Turning Point Analysis Routine for DT800'

' This code logs the turning points of any waveform.

' The time of turning is recorded logged in 4CV.

'

' Notes: 4CV holds the time since midnight in seconds,

' this limits the time accuracy to 2 decimal places.

'

' Known Issues:

' The noise reduction is primitive and in some instances

' will record false turning points.

' These only happens on occasion and these points can

' be removed by post processing.'

'---------------------------------------------------------------------------'

7CV(W)=10 '7CV hold the dead band for noise rejection

'Any turning points less that the current turning point +/- 7CV will be rejected.

8..9CV(W)=0 'Minimum noise level and Maximum noise level respectively.

10CV(W)=0 'Holds last turning point. Used for noise rejection.

'

' Schedule A is where the turning points are actually logged.

' Note: The X schedule must be before the fast schedule.

'

RAX LOGONA

2CV("TP ~mV",FF7)

4CV("Time ~Sec",FF7)

'

' Schedule B detects the turning point

'

RB,FAST

2CV(W)=1CV 'Shift register for reading

4CV(W)=3CV 'Shift register for time

1V(=1CV,GL20V,W) 'Read Current value (Note: Gain lock to suit)

T(=3CV,W) 'Read current time

1CV(DF,=5CV,W) 'Read difference between readings

 

'This Boolean in the next bit of code returns 1 if the current reading is greater than

'the last (Rising ‘signal) and returns -1 if the current reading is less than the last

'(Falling signal)

'By taking the difference (DF) 6CV holds 2 for a maxima turning point or -2 for a minima

'turning point.

6CV(DF,=6CV,W)=-1*(5CV<0)+(5CV>0)

'Calculate Lower noise tolerance.

8CV(W)=10CV-7CV

'Calculate Upper noise tolerance.

9CV(W)=10CV+7CV

'Then check for turning point and noise then save turning point if valid.

IF(6CV<>-0.5,0.5)AND 'If a turning point AND

IF(1CV<>8CV,9CV){[10CV=2CV XA]} 'If the current signal is outside the noise dead 'band THEN

Record new turning point and Log 'turning point data

END

TN-0015-A0 Page 5 of 6 19 February 2004

 

DT500 Code:

BEGIN

'---------------------------------------------------------------------------

' Turning Point Analysis Routine for DT500'

' This code logs the turning points of any waveform.

' The time of turning is recorded logged in 4CV.

' Notes: 4CV holds the time since midnight in seconds,

' this limits the time accuracy to 2 decimal places.

' Known Issues:

' The noise reduction is primitive and in some instances

' will record false turning points.

' These only happens on occasion and these points can

' be removed by post processing.

'---------------------------------------------------------------------------'

7CV(W)=10 '7CV hold the dead band for noise rejection

'Any turning points less that the current turning point +/- 7CV will be rejected.

8..9CV(W)=0 'Minimum noise level and Maximum noise level respectively.

10CV(W)=0 'Holds last turning point. Used for noise rejection.

'

' Schedule A detects the turning point

'

RA

2CV(W)=1CV 'Shift register for reading

4CV(W)=3CV 'Shift register for time

1V(=1CV,GL20V,W) 'Read Current value (Note: Gain lock to suit)

T(=3CV,W) 'Read current time

1CV(DF,=5CV,W) 'Read difference between readings

'This Boolean in the next bit of code returns 1 if the current reading is greater than the last

'(Rising signal) and returns -1 if the current reading is less than the last (Falling signal)

'By taking the difference (DF) 6CV holds 2 for a maxima turning point or -2 for a minima turning

'point.

6CV(DF,=6CV,W)=-1*(5CV<0)+(5CV>0)

'Calculate Lower noise tolerance.

8CV(W)=10CV-7CV

'Calculate Upper noise tolerance.

9CV(W)=10CV+7CV

‘Record turning point data

RX LOGONX

2CV("TP",FF5)

4CV("Time”,FF5)

RZ

'Then check for turning point and noise then save turning point if valid.

ALARM1(6CV<>-0.5,0.5)AND 'If a turning point AND

ALARM2(1CV<>8CV,9CV)”[10CV=2CV X]” 'If the current signal is outside the noise dead

'band THEN Record new turning point and Log

'turning point data

END

Request More Information

If you need information right away or prefer to speak with a person, call us and one of our Experienced Applications Engineers will be happy to talk with you. You can reach us at 1-800-956-4437 during our normal business hours Monday - Thursday from 8am to 5:30pm and Friday 8am to 4:30pm (EST).

After filling out the form below, an applications engineer will contact you within at least one business day. Fields that are not required are recommended to be filled out so that we can better assist you.

Request Form

Submit the product or application you are interested in and we'll contact you. Need immediate information? Give us a call at 800-956-4437.

Name (required):
Email (required):
Company:
Phone #:
City:
State:
Country:
Product(s) of Interest:
Application:
Additional Information:
Human Verification What is the next number after 5?  

**Your contact information allows us to provide you with pricing information. We never sell or distribute your information. See our Policies page for more information.


Follow CAS Dataloggers on Facebook Follow us on LinkedIn Follow us on Twitter Find us on Google+ Find us on Youtube
Home | About CAS | Policies | Distributor Login | Systems Integrators

©2013 Computer Aided Solutions, LLC.