Structural Health Structural Health MonitoringMonitoring
of the Golden Gate Bridgeof the Golden Gate BridgeSukun Kim, David CullerSukun Kim, David Culler
James Demmel, Gregory Fenves,James Demmel, Gregory Fenves, S Steve teve GGlaserlaser
Thomas Oberheim, Shamim PakzadThomas Oberheim, Shamim Pakzad
UC BerkeleyUC Berkeley
NEST RetreatNEST Retreat
Jan 15, 2004Jan 15, 2004
Structure MonitoringStructure MonitoringData Acquisition
Data Collection
Processing & Feedback
OverviewOverview
Low cost structure monitoringLow cost structure monitoring - Monitor - Monitor structure, and analyze the health of structure, and analyze the health of structure based on sensed data at low coststructure based on sensed data at low cost For Golden Gate Bridge, monitor vibration of For Golden Gate Bridge, monitor vibration of
bridge, and detect unusual behavior by wind, bridge, and detect unusual behavior by wind, earthquake, or local damageearthquake, or local damage
Extend reach of Wireless Sensor Network Extend reach of Wireless Sensor Network in a different direction – in a different direction – high fidelity high fidelity samplingsampling High accuracy, high frequency with low jitter, High accuracy, high frequency with low jitter,
large amount of datalarge amount of data
Table of ContentsTable of Contents OverviewOverview Data AcquisitionData Acquisition
Accelerometer BoardAccelerometer Board High Frequency Sampling & JitterHigh Frequency Sampling & Jitter
Data CollectionData Collection Large-scale Reliable Data TransferLarge-scale Reliable Data Transfer
Signal processing & System Signal processing & System IdentificationIdentification
ConclusionConclusion Challenges & Future WorkChallenges & Future Work
Accelerometer BoardAccelerometer Board
ADXL 202E Silicon Designs 1221L
Type MEMS MEMS
Number of axis 2 1
Range -2G ~ 2G -0.1G ~ 0.1G
System noise floor
200(μG/√Hz) 30(μG/√Hz)
Price $10 $150
Crossbow donates Crossbow donates manufacture and testmanufacture and test
On board 16bit ADCOn board 16bit ADC Low-pass filterLow-pass filter
Table of ContentsTable of Contents OverviewOverview Data AcquisitionData Acquisition
Accelerometer BoardAccelerometer Board High Frequency Sampling & JitterHigh Frequency Sampling & Jitter
Data CollectionData Collection Large-scale Reliable Data TransferLarge-scale Reliable Data Transfer
Signal processing & System Signal processing & System IdentificationIdentification
ConclusionConclusion Challenges & Future WorkChallenges & Future Work
HighFrequencySamplingHighFrequencySampling
Made by David GayMade by David Gay Up to 6.67KHz with 4 bytes sampleUp to 6.67KHz with 4 bytes sample MicroTimer – Supports one timer, MicroTimer – Supports one timer,
micro second level granularitymicro second level granularity BufferLog – Has two buffers. One is BufferLog – Has two buffers. One is
filled up by upper layer application filled up by upper layer application while the other buffer is written to while the other buffer is written to flash memory as a background taskflash memory as a background task
Jitter Test (1KHz, 5KHz, Jitter Test (1KHz, 5KHz, 6.67KHz)6.67KHz)
450 460 470 480 490 500 510 520 530 540 550-1
0
1
2
3
4
5
6
7
8
9
10Interval: 1000ms
Sample
Jitt
er (
us)
450 460 470 480 490 500 510 520 530 540 550-1
0
1
2
3
4
5
6
7
8
9
10Interval: 200ms
Sample
Jitt
er (
us)
450 460 470 480 490 500 510 520 530 540 550-1
0
1
2
3
4
5
6
7
8
9
10Interval: 150ms
Sample
Jitt
er (
us)
Peak to Peak is time to fill Peak to Peak is time to fill up bufferup buffer
Spiky portion is time to Spiky portion is time to write buffer to flashwrite buffer to flash
Can sample as long as the Can sample as long as the former is larger than the former is larger than the latterlatter
Jitter Test HistogramJitter Test Histogram(1KHz, 5KHz, 6.67KHz)(1KHz, 5KHz, 6.67KHz)
-1 0 1 2 3 4 5 6 7 8 9 100
100
200
300
400
500
600
700
800
900
1000Interval: 1000ms
Jitter (us)
Sam
ple
-1 0 1 2 3 4 5 6 7 8 9 100
100
200
300
400
500
600
700
800
900
1000Interval: 200ms
Jitter (us)
Sam
ple
-1 0 1 2 3 4 5 6 7 8 9 100
100
200
300
400
500
600
700
800
900
1000Interval: 150ms
Jitter (us)
Sam
ple
Jitter is within 10µsJitter is within 10µs Peak at 625ns – Peak at 625ns –
Wakeup time from Wakeup time from sleep modesleep mode
Jitter AnalysisJitter AnalysisSampling
Other job
Non-preemptible portion (atomic section) Preemptible task portion
Jitter
Sample
C C+T(k1) C+T(k2) . . .
F(k2)
F(k3)
Table of ContentsTable of Contents OverviewOverview Data AcquisitionData Acquisition
Accelerometer BoardAccelerometer Board High Frequency Sampling & JitterHigh Frequency Sampling & Jitter
Data CollectionData Collection Large-scale Reliable Data TransferLarge-scale Reliable Data Transfer
Signal processing & System Signal processing & System IdentificationIdentification
ConclusionConclusion Challenges & Future WorkChallenges & Future Work
Large-scale Reliable Data Large-scale Reliable Data TransferTransfer
4Byte of data and 4Byte of time stamp 4Byte of data and 4Byte of time stamp at 100Hzat 100Hz in in 100 nodes, transfer 40pkt/s 100 nodes, transfer 40pkt/s – Sample data for 5 minutes, and – Sample data for 5 minutes, and collect data for more than 5 hours!!!collect data for more than 5 hours!!!
Efficient and reliable data transfer is Efficient and reliable data transfer is crucialcrucial
RAM to RAM RAM to RAM one-hop one-hop transfer is transfer is implemented as a building blockimplemented as a building block - - LRXLRX
LRX component LRX component (continued)(continued)
Explicit open Explicit open handshakehandshake - - Data Data description and size description and size of cluster is sent as a of cluster is sent as a transfer requesttransfer request
Data transfer is Data transfer is composed of multiple composed of multiple rounds. In each rounds. In each round, sender sends round, sender sends packets missing in packets missing in the previous roundthe previous round
Tear-down is implicitTear-down is implicit
Sender Receiver
Open
Ack forOpen
Ack forData
DataBlock 1
DataBlock 2
DataBlock 3DataBlock 4
DONEDONE
Considering loss rate of 3%, actual relative Considering loss rate of 3%, actual relative throughput is 91%, which is higher than 85% throughput is 91%, which is higher than 85% of channel utilization ratio. This is because of channel utilization ratio. This is because control packets do not follow 10 packets/s.control packets do not follow 10 packets/s.
TThrottle hrottle for for data packet data packet is is fixed at 10 pfixed at 10 pkt/skt/s
Optimal caseOptimal case: : window size window size is is infiniteinfinite
For the case For the case with window with window size 16, size 16, throughput is throughput is 88% of optimal 88% of optimal case.case.
As loss rate increases, retransmission As loss rate increases, retransmission increases, and throughput decreasesincreases, and throughput decreases
Channel UtilizationChannel Utilization
TOS_Msg
LRX (only data)
LRX (Window Size 16)
Total Data (bytes) 36 36 613Meta Data (bytes) 7 10 197Real Data (bytes) 29 26 416Channel Utilization
(%)78.38 72.22 67.86
Comparison to TOS_Msg (%)
100 89.66 84.24 LRX (data only) is the theoretical limit of LRX LRX (data only) is the theoretical limit of LRX (when window size is infinite)(when window size is infinite)
UUssage age LRX lowers channel utilization by 15% LRX lowers channel utilization by 15%
Table of ContentsTable of Contents OverviewOverview Data AcquisitionData Acquisition
Accelerometer BoardAccelerometer Board High Frequency Sampling & JitterHigh Frequency Sampling & Jitter
Data CollectionData Collection Large-scale Reliable Data TransferLarge-scale Reliable Data Transfer
Signal processing & System Signal processing & System IdentificationIdentification
ConclusionConclusion Challenges & Future WorkChallenges & Future Work
Signal ProcessingSignal Processing As an analog signal processing low-pass As an analog signal processing low-pass
filter is usedfilter is used, which filters high , which filters high frequency noisefrequency noise
For accelerometer board, low-pass filter For accelerometer board, low-pass filter with threshold frequency 25Hz is used. with threshold frequency 25Hz is used. Then ADC should sample at frequency Then ADC should sample at frequency much higher than 50Hz by Nyquist much higher than 50Hz by Nyquist theorem, and imperfect low-pass filtertheorem, and imperfect low-pass filter
As a digital signal processing, As a digital signal processing, averaging is used. If noise follows averaging is used. If noise follows Gaussian distribution, by averaging N Gaussian distribution, by averaging N numbers, noise decreases by a factor of numbers, noise decreases by a factor of sqrt(Nsqrt(N))
System IdentificationSystem Identification IIdentifying model of target systemdentifying model of target system By matching input to system and output By matching input to system and output
from system, we can construct a from system, we can construct a mathematical system modelmathematical system model..
Usual process is Usual process is (1) (1) fitting a general fitting a general Box-Jenkins multi-input multi-output Box-Jenkins multi-input multi-output model to sampled data. model to sampled data. (2) (2) And natural And natural frequencies, damping ratios and mode frequencies, damping ratios and mode shape are then estimated using the shape are then estimated using the estimated Box-Jenkins model.estimated Box-Jenkins model.
Most part of system identification is Most part of system identification is under development on civil engineering under development on civil engineering sideside..
Table of ContentsTable of Contents OverviewOverview Data AcquisitionData Acquisition
Accelerometer BoardAccelerometer Board High Frequency Sampling & JitterHigh Frequency Sampling & Jitter
Data CollectionData Collection Large-scale Reliable Data TransferLarge-scale Reliable Data Transfer
Signal processing & System Signal processing & System IdentificationIdentification
ConclusionConclusion Challenges & Future WorkChallenges & Future Work
ConclusionConclusion New challenges are analyzed which are New challenges are analyzed which are
brought by structure monitoring to brought by structure monitoring to wireless sensor networkwireless sensor network High accuracy accelerometer, high High accuracy accelerometer, high
frequency sampling with low jitter, low-frequency sampling with low jitter, low-pass filter, averaging, large-scale reliable pass filter, averaging, large-scale reliable data collectiondata collection
Temperature
GravityVariation
AccelerometervariationAcoustic
Noise
nG
μG
mG
G
Challenges versus Accuracy
Local DamageDetection
Large ScaleEarthquake
Nuclear TestDetection
TrafficIdentification
nG
μG
mG
G
Possible Applications versus Accuracy
Table of ContentsTable of Contents OverviewOverview Data AcquisitionData Acquisition
Accelerometer BoardAccelerometer Board High Frequency Sampling & JitterHigh Frequency Sampling & Jitter
Data CollectionData Collection Large-scale Reliable Data TransferLarge-scale Reliable Data Transfer
Signal processing & System Signal processing & System IdentificationIdentification
ConclusionConclusion Challenges & Future WorkChallenges & Future Work
Challenges & Future Challenges & Future WorkWork
Calibrating acceleration value to Calibrating acceleration value to temperaturetemperature
TTime synchronizationime synchronization – RBS, TPSN – RBS, TPSN To maximize utility of channel, we need to To maximize utility of channel, we need to
monitor channel quality (loss rate), and monitor channel quality (loss rate), and throttle packet injection rate accordinglythrottle packet injection rate accordingly
Using LRX as a building block, multi-hop Using LRX as a building block, multi-hop data collection need be implementeddata collection need be implemented
TASKTASK
At the Golden Gate At the Golden Gate BridgeBridge
QuestionsQuestions
http://www.cs.berkeley.edu/~binetude/ggbhttp://www.cs.berkeley.edu/~binetude/ggb
Backup SlidesBackup Slides
Cost ComparisonCost Comparison
Conventional piezoelectric Conventional piezoelectric accelerometer with PC system costs accelerometer with PC system costs $40,000$40,000
Budget for structure monitoring Budget for structure monitoring budget is $1,000,000 levelbudget is $1,000,000 level
Wireless sensor network with MEM Wireless sensor network with MEM accelerometer costs $500accelerometer costs $500 Cheaper by a factor of 100Cheaper by a factor of 100
Shaking Table TestShaking Table Test
0 2 4 6 8 10 12 14 16 18
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
Low resolution Sensor, Test1, 0.5Hz
Time (sec)
Accele
ration (
g)
0 2 4 6 8 10 12 14 16 18
-0.5
-0.4
-0.3
-0.2
-0.1
0
0.1
High resolution Sensor, Test1, 0.5Hz
Time (sec)
Accele
ration (
g)
0 2 4 6 8 10 12 14 16 18
-1
-0.5
0
0.5
1
Low resolution Sensor, Test4, Increasing frequency
Time (sec)
Accele
ration (
g)
0 2 4 6 8 10 12 14 16 18
-1
-0.5
0
0.5
1
High resolution Sensor, Test4, Increasing frequency
Time (sec)
Accele
ration (
g)
Silicon Design 1221L is more quite, but Silicon Design 1221L is more quite, but less sensitive to dynamic movementless sensitive to dynamic movement
Noise Floor TestNoise Floor Test
0 2 4 6 8 10 12
x 105
-0.12
-0.1
-0.08
-0.06
-0.04
-0.02
0
0.02
0.04Time plot, Test 1 (McCone Hall) vs. Test 2 (Vault), Quiet Environment
Sample Number
Acc
eler
atio
n (g
)
Blue – Seismic VaultBlue – Seismic Vault Red – McCone HallRed – McCone Hall
Jitter Analysis Jitter Analysis (continued)(continued)
Assume that the probability of timer event occurring at any Assume that the probability of timer event occurring at any point in atomic section i is same, then jitter will follow point in atomic section i is same, then jitter will follow C+X(i).C+X(i).
Since jitter distribution of every atomic section begins from Since jitter distribution of every atomic section begins from C, the frequency is highest near C and decreases as moving C, the frequency is highest near C and decreases as moving farther. And frequency drop at C+T(i) by F(i), since atomic farther. And frequency drop at C+T(i) by F(i), since atomic section i will not have any distribution beyond C+T(i).section i will not have any distribution beyond C+T(i).
Actually there is a peak at C, because when program is in Actually there is a peak at C, because when program is in preemptible section, it will immediately service timer event preemptible section, it will immediately service timer event after context switch time C.after context switch time C.
Jitter
Sample
C C+T(k1) C+T(k2) . . .
F(k2)
F(k3)
T(i): execution time T(i): execution time of atomic section iof atomic section i
X(i): a random X(i): a random variable uniformly variable uniformly distributed in [0, T(i)]distributed in [0, T(i)]
C: context switch C: context switch timetime
F(i): frequency of F(i): frequency of occurrence of atomic occurrence of atomic section isection i
Calculation of Transfer Calculation of Transfer TimerTimer
Let us assume each node store 4Byte of data Let us assume each node store 4Byte of data and 4Byte of time stamp at 100Hz. And assume and 4Byte of time stamp at 100Hz. And assume there are 100 nodes, radio throughput is there are 100 nodes, radio throughput is 1.2KB/s, and data is collected to one base 1.2KB/s, and data is collected to one base station. If acceleration data worthy 5 minutes is station. If acceleration data worthy 5 minutes is collected, each node will transfer 240,000Bytes. collected, each node will transfer 240,000Bytes. 100 nodes will transfer 24,000,000Bytes. Since 100 nodes will transfer 24,000,000Bytes. Since the end link to base station is a bottleneck, it the end link to base station is a bottleneck, it will take more than 5 hours. We can see will take more than 5 hours. We can see bandwidth is narrow compared to aggressive bandwidth is narrow compared to aggressive data sampling. Even if we alleviate this problem data sampling. Even if we alleviate this problem using multi-channel or multi-tier network, still using multi-channel or multi-tier network, still we will be in short of bandwidth.we will be in short of bandwidth.
LRX componentLRX component
TTransfers one data cluster, which is ransfers one data cluster, which is composed of several blockscomposed of several blocks..
One block fits into one packet, so the One block fits into one packet, so the number of blocks is equal to window number of blocks is equal to window sizesize..
Each data cluster has a data description. Each data cluster has a data description. After looking at data description, After looking at data description, receiver may deny data (receiver already receiver may deny data (receiver already has that data, or that data is not useful has that data, or that data is not useful anymore).anymore).
SenderSenderIDLE
S_O
S_D
S_A
Timer.fired
More try
Timout / FAIL
clear_mem(ackWin)
encode_ackBuf
update_slotNumWin
init_send
send_open_msg
Timer.start
LRXSend.transfer
Timer.stop
decode_ackBuf
update_slotNumWin
send_data_msg
Timer.start
Timer.start
send_next_data
process_ack_msg
Timer.fired
Timer.fired
Nack / FAIL
Ack
No missing packet /SUCCESS
Missing packet
Last slot
More slot
Ack
More try
Timout / FAIL
Timer.stop
LRXSend.transferDone
send_done
ReceiverReceiver
IDLE
R_O
R_D
R_A
send_ack_msg(A)
clear_mem(ackWin)
encode_ackBuf
update_slotNumWin
init_receive
Open
Yes
No
Timer.stopOpenData
send_ack_msg(O)
Timer.start
process_open_msg_common
Timer.stop
LRXReceive.acceptedTransferDone
receive_done
Timer.fired / FAIL
Timer.fired / FAIL
Data
Data
Timer.fired / FAIL
Timer.stop
update_slotNumWin
Timer.start
send_ack_msg(D)
Timer.start
write_history
send_ack_msg(D)
Last slot
Not full
Not last slot
Not seen
SeenFull
SUCCESS
process_data_msg
Sender Receiver
Open
Ack forOpen
Ack forData
DataBlock 1
DataBlock 2
DataBlock 3DataBlock 4
DONE
DONE
Sender Receiver
Open
DataBlock 1
DataBlock 2
Open
Ack forOpen
Sender Receiver
Open
DataBlock 1
DataBlock 2
Open
Ack forOpen
Ack forOpen
Sender Receiver
Ack forData
DataBlock 1
DataBlock 2
DataBlock 3DataBlock 4
DONE
DONE
DataBlock 2
Ack forData
Sender Receiver
Ack forData
DataBlock 1
DataBlock 2
DataBlock 3DataBlock 4
DONE
DONE
DataBlock 4
Ack forData
Sender ReceiverDataBlock 1
DataBlock 2
DataBlock 3DataBlock 4
DONE
DataBlock 4
Ack forData DONE
Sender Receiver
Ack forData
DataBlock 1
DataBlock 2
DataBlock 3DataBlock 4
DataBlock 2
Ack forData
DataBlock 3
Why Sender times outWhy Sender times out There are two reasons why only sender times out and There are two reasons why only sender times out and
stimulate receiver for Ack. The first reason is shown in stimulate receiver for Ack. The first reason is shown in Figure 16. If sender doesn’t time out, for a receiver to Figure 16. If sender doesn’t time out, for a receiver to make sure Ack is delivered to sender, receiver should make sure Ack is delivered to sender, receiver should get acknowledgement from sender for Ack itself. This get acknowledgement from sender for Ack itself. This is not good. So it is clear that sender should timeout. is not good. So it is clear that sender should timeout. Given that sender times out, timeout of receiver makes Given that sender times out, timeout of receiver makes no difference except that channel is wasted by no difference except that channel is wasted by unnecessary Ack from receiver. So timeout in only unnecessary Ack from receiver. So timeout in only sender side is desirable. As a second reason, if receiver sender side is desirable. As a second reason, if receiver times out, in case like Figure 18 (if first Data after Ack times out, in case like Figure 18 (if first Data after Ack is lost), second Data always collide with resent Ack of is lost), second Data always collide with resent Ack of receiver. This is not a good phenomenon. Therefore, receiver. This is not a good phenomenon. Therefore, after sending last packet in each round, if after sending last packet in each round, if acknowledgement does not come, sender sends the last acknowledgement does not come, sender sends the last packet in that round again to stimulate packet in that round again to stimulate acknowledgement. However, this does not mean acknowledgement. However, this does not mean receiver has no timeout. Receiver waits sufficient receiver has no timeout. Receiver waits sufficient amount of time, and if nothing happens, it regards the amount of time, and if nothing happens, it regards the situation as a failure.situation as a failure.
Imperfect Low-pass Imperfect Low-pass FilterFilter
Frequency
Amplitude
Filtering threshold
Time SynchronizationTime Synchronization Temporal jitter is handled by high frequency Temporal jitter is handled by high frequency
sampling component. Spatial jitter should be sampling component. Spatial jitter should be solved by time synchronization. ITP [8] is a solved by time synchronization. ITP [8] is a time synchronization protocol widely used in time synchronization protocol widely used in Internet. In wireless sensor network, there Internet. In wireless sensor network, there were several studies. In RBS [9], were several studies. In RBS [9], synchronization is done among receivers, synchronization is done among receivers, eliminating sender’s jitter in media access. eliminating sender’s jitter in media access. TPSN [10] put time stamp after obtaining TPSN [10] put time stamp after obtaining channel. This gives even better channel. This gives even better synchronization accuracy than RBS (10μs synchronization accuracy than RBS (10μs compared to 20μs). Still there is a source of compared to 20μs). Still there is a source of jitter at receiver side. As we saw in jitter for jitter at receiver side. As we saw in jitter for sampling, handling interrupt by radio can be sampling, handling interrupt by radio can be delayed by atomic section of other activity. As delayed by atomic section of other activity. As suggested in [10], putting time stamp at MAC suggested in [10], putting time stamp at MAC layer in receiver side will eliminate this jitter.layer in receiver side will eliminate this jitter.
Table of ContentsTable of Contents OverviewOverview Data AcquisitionData Acquisition
Accelerometer BoardAccelerometer Board High Frequency Sampling & JitterHigh Frequency Sampling & Jitter
Data CollectionData Collection Large-scale Reliable Data TransferLarge-scale Reliable Data Transfer
Signal processing & System Signal processing & System IdentificationIdentification
ConclusionConclusion Challenges & Future WorkChallenges & Future Work
AcknowledgementAcknowledgement
This work is supported, in part, by This work is supported, in part, by the National Science Foundation the National Science Foundation under Grant No. EIA-0122599.under Grant No. EIA-0122599.