UNIVERSITY OF CINCINNATI
August 14
03
_____________
, 20 _____
Goutham R.Kirikera
I,______________________________________________,
hereby submit this as part of the requirements for the
degree of:
Master of Science
________________________________________________
in:
Mechanical Engineering
________________________________________________
It is entitled:
An Artificial Neural System with Distributed Parallel
________________________________________________
Processing for Structural Health Monitoring
________________________________________________
________________________________________________
________________________________________________
Approved by:
Dr. Mark Schulz
________________________
________________________
Dr.Jay Kim
________________________
________________________
Dr.Peter B.Nagy
________________________
An Artificial Neural System with Distributed Parallel
Processing for Structural Health Monitoring
A thesis submitted to the
Division of Research and Advanced Studies
of the University of Cincinnati
in partial fulfillment of the
requirements for the degree of
MASTER OF SCIENCE
in the Department of Mechanical, Industrial and Nuclear Engineering
of the College of Engineering
2003
by
Goutham R.Kirikera
B.E., Bharathiar University, 2001
Committee: Dr. Mark J.Schulz, Advisor, Mech Eng,
Dr. Jay Kim, Mech Eng
Dr. Peter B.Nagy, Aero Eng
University of Cincinnati
Cincinnati, Ohio
ABSTRACT
There is a growing need for the development of in-situ continuous monitoring systems to allow
the health monitoring of large structures and the rapid introduction of advanced high
performance and heterogeneous materials and combinations of these materials into service. This
thesis makes a contribution in the development of artificial neural systems for health monitoring
of large and complex structures, and for impact location on targets. The artificial neural system is
a passive monitoring system that can minimize the on board instrumentation needed for real-time
health monitoring. The system uses highly-distributed interconnected sensor nodes and parallel
processing that mimics the hierarchy of the biological neural system to collect dynamic strain
signals caused by damage events. The dynamic strains can be in the form of high frequency
waves called acoustic emissions caused by damage growth or lower frequency waves and
vibration caused by impact to the structure. The artificial neural system processes these dynamic
signals and provides an indication of the location and severity of the damage or impact.
To verify the approach, an artificial neural system and wave propagation in the panel
were modeled. Simulations of damage and impact in a glass fiber composite plate were
performed in which the elastic response was computed in closed form at small time steps and the
coupled piezoceramic constitutive equations and conductivity equations were also solved.
Experimentation was then performed using a glass fiber composite panel and the simulation and
experimental results were compared. These studies showed that the artificial neural system is a
simultaneously sensitive to low frequency dynamic strains caused by structural vibrations and
impact, as well as high frequency acoustic emission signals that accompany damage growth. An
important advantage of this new approach is the application of inhibition and firing of the
neurons that receive the damage signals. This allows a large reduction in the number of channels
of data acquisition needed for health monitoring. Composite materials in particular can benefit
from this new type of health monitoring system. Large structures like aircraft and submarines
can be monitored simultaneously with a small number of data acquisition channels.
ACKNOWLEDGMENTS
Any thesis no matter how individual will almost certainly require input, assistance or
encouragement from others and my thesis is no exception.
First and foremost, I would like to thank my advisor Dr.Mark Schulz for his excellent guidance,
support and patience during the course of this dissertation. I thank my committee members
Dr.Jay Kim and Dr.Peter B.Nagy for the advice and time given to me.
Special thanks go to Dr.Anindya Ghoshal for having spent his valuable time in helping me to
solve the experimental issues that I had encountered during these years. I appreciate the support
shown to me by all my colleagues at the Smart Structures and Bio-Nanotechnology lab,
especially Mr.Saurabh Datta and Ms.SriLaxmi Pammi without whose support and co-operation
this thesis would have remained a dream. I also thank my friends Srinivas Kowta, Anand Roday
and Rupa Sampath for having listened patiently to my non-stop chatter about the technical issues
that I constantly encountered in my thesis during these two years.
Last but not the least I thank my parents, my brother and an unending list of my friends, far and
near, for their constant encouragement and moral support.
TABLE OF CONTENTS
1.
Introduction............................................................................................................................. 7
2.
Design of an Artificial Neural System.................................................................................. 11
2.1
Modeling the Artificial Neural System......................................................................... 13
2.2
Modeling the sensor response....................................................................................... 20
3.
Modeling wave propagation in a panel................................................................................ 21
3.1
Lamb wave propagation................................................................................................ 21
3.2
Elastic Modeling of a Panel .......................................................................................... 22
4.
Simulation of the Artificial Neural System ......................................................................... 28
4.1
Comparison of theoretical and experimental wave Speed in a panel ........................... 28
4.2
Comparison of Simulated half-sine and impulse responses ......................................... 29
4.3
Simulation of a 10 x 10 Artificial Neural System......................................................... 33
4.4
Simulation of a 2x2 neural system using a half-sine input ........................................... 41
4.5
Simulation of a 2x2 Neural System using an impulse input......................................... 43
5.
6.
Experimentation................................................................................................................... 45
5.1
Measurement of physical properties of the panel ......................................................... 46
5.2
Mechanical resonance method...................................................................................... 48
5.3
Comparison of theoretical and experimental wave speeds in the panel ....................... 51
5.4
Verifying responses of simulation and experiment ...................................................... 53
5.5
Detecting Acoustic Emissions in the panel using a 2x2 Neural System....................... 55
5.6
Analysis of the impact signal from a supercavitating projectile................................... 56
Conclusions........................................................................................................................... 58
6.1
Crack Detection ............................................................................................................ 58
1
6.2
Measurement of physical properties of the glass fiber composite................................ 59
6.3
Advantages of using an ANS........................................................................................ 60
7.
Recommended continuing work ........................................................................................... 61
8.
References............................................................................................................................. 62
Appendix I .................................................................................................................................... 66
Wave simulation algorithm........................................................................................................... 66
2
LIST OF FIGURES
1. Sensors Used in the ANS…………………………….............…………………………. 13
2. Detail of the bi-directional Dual Node Sensor Nodes in the ANS …..........……………. 14
3. Electrical model of series connected continuous sensor using PZT nodes ..................… 16
4. The ANS electrical schematic…………………………………….…….............…….… 17
5. An ANS in a composite panel……………………………………..............……………. 19
6. Construction of experimental panel……………................……...............…................... 22
7.
Comparison of simulated and theoretical dispersion curves.……...........….......…....… 29
8. Simulated Voltage Output of Neurons…………………………………..........………… 31
9. Response of the plate due to an impulse at the center of the plate…...............….……. 35
10. Simulation of the neuron responses due to a half-Sine excitation…..................……….. 37
11. Simulation of the neuron responses due to an impulse ……………..................…...........38
12. Firing of column (Y) neurons due to an impulse excitation……………..........……....... 38
13. Individual responses of the column neurons after firing……....………...............…..... 40
14. Combined output of the column neurons…...…………………………........................... 40
15. Schematic diagram of the geometry of the plate with the four neurons…..................... 41
16. Simulation voltages of the four neurons due to a half-sine input..................................... 43
17. Simulation voltages of the four neurons due to an impulse input..................................... 44
18. Experimental panel with 4 neurons on a fiberglass simply supported plate..................... 45
19. Signal processing instrumentation for the panel…..………....………………............... 46
20. Natural frequencies of a simply supported orthotropic glass fiber composite............... 50
21. Response of a PZT for an excitation of 6kHz……………………………..............….
48
22. FFT of the respone of the PZT patch………......……………….....………….........…. 52
23. Simulated response of a PZT patch due to an acoustic emission................................... 54
3
24. Experimental response of a PZT patch due to an acoustic emission.……..............……. 54
25. Measured voltages of the neurons filtered between 50kHz and 100 kHz due to a lead
breadk excitation at (36,18) inches................................................................................... 55
26. Experimental setup at the NUWC..................................................................................... 57
27. Raw Voltage Signal from the NUWC………………...……………...........…………….57
28. Raw Voltage Signal from the NUWC (arrival part)………………...….......................... 58
LIST OF TABLES
1. Simulation parameters for comparing the half-Sine and impulse responses…................. 30
2. Results of the comparison of excitation types………………..............…………………. 31
3. Analysis Conditions for the 10x10 simulation…………….............……………………. 34
4. PZT patch locations on the glassfiber panel…………….............…………………….… 42
5. Analysis conditions for the 2x2 system for a half sine input…….............…………..…..42
6. Analysis Conditions for the 2x2 system for an Impulse Input…..............……………… 43
7. Comparison of the properties of glass fiber planel ………............……….…………..
47
8. Comparison of theoretical and experimental natural frequencies of the panel….........
51
9. Comparison of theoretical and experimental longitudinal wave
speed in the panel.........................................................................................................
53
4
NOMENCLATURE
D
Flexural rigidity (N-m)
w
Displacement of the plate (m)
ρ
Mass density (kg/m3)
a
Length of the plate (m)
b
Width of the plate (m)
h
Thickness of the plate (m)
Aim
Area of Impact (m2)
Fo
Impact force (N)
P
Pressure acting on the plate (N/m2)
xc , y c
Impact/crack locations on the plate (m)
m, n
Mode numbers
ω
Input impact frequency (rad/sec)
ζ
Damping ratio
to
Time at the end of forced response (sec)
εx
Strain on top of the plate in the x-direction
εy
Strain on top of the plate in the y-direction
εx
Strain of the sensor in the x-direction
εy
Strain of the sensor in the y-direction
ε
Average strain of the sensor
i
Current going through the PZT sensor (Amperes)
5
C
Piezoelectric element capacitance (Farads)
V
Voltage (volts)
e
Induced stress constant (Coulomb/m2)
S
Strain rate of the sensor
Ae
Electroded plate area (m2)
Ro
Resistance of the oscilloscope ( )
R4 , 5
Resistances of the wires used in Artificial Neural System ( )
C ps
Symmetric wave, phase velocity
Cp
Flexural phase velocity
Cg
Group velocity
A11
Extensional Stiffness
Q11
Reduced stiffness
D11
Bending stiffness
6
1. Introduction
The performance and safety of large structures and advanced structures is dependent on the
reliability of composite materials and heterogeneous materials. There has been a reluctance to
deploy these high performance materials in critical structural applications because of their
susceptibility to in-service damage. The damage occurring in these materials may be difficult to
track and can propagate fast during operation of the vehicle or structure. Conventional
nondestructive testing techniques based on periodic inspection in the depot may not be adequate
for the timely detection of damage in novel structure designs [1-6]. Therefore, a materialintegrated sensing system is needed to monitor and detect damage during vehicle operation. The
initial expectation of health monitoring systems is likely to place higher emphasis on the real
time or near real time detection of the occurrence of critical damage. Obviously the resolution
and accuracy in quantifying damage is not likely to be comparable to the operator assisted
nondestructive testing techniques in use at the present time. In much of the current research in
structural health monitoring, the emphasis is on designing a system that is simple, compact and
autonomous. The system should be scalable to complex real-life structures [7].
Several methods of monitoring the health have been proposed. They include techniques such
as damage identification using the vibration response of a structure, fiber optic strain
measurement, and stress wave propagation techniques [8-12]. The Acoustic Emission (AE)
monitoring technique is considered in this thesis. Acoustic emission is the class of phenomena
that generates transient elastic waves by rapid release of energy from localized sources. Strain
energy is released when a structural member experiences cracking or damage growth. Some of
this energy travels from the damage site in the form of stress waves. Acoustic emission sensors
7
detect these stress wave signals and based on the waveform characteristics the location and
nature of damage growth is assessed. The AE technique is currently used for proof testing
applications, such as those in pressure vessels and composite structures.
Most present techniques for in-situ real-time Structural Health Monitoring (SHM) are not
sensitive enough or cost-effective enough for application to large structures and structures that
have complex geometry such as joints, ribs, varying thickness, fasteners, and varying curvature.
Present techniques are also difficult to use with structures that contain hybrid materials or
materials that are highly damped such as honeycomb sandwich structures. The most promising of
the present techniques use Lamb wave propagation in the plane of the material to detect damage.
These methods can detect damage accurately in simple structures by wave reflections from
defects [13], or by transmitting and receiving waves and casting shadows [14]. However, for
many applications these approaches will become too complex because large numbers of
sensor/actuator elements will be required. The associated wiring, instrumentation, amplification,
multiplexing, and computational resources required to implement these methods on a large scale
will be prohibitive in terms of cost, added weight, and reliability. Another possible approach for
SHM is to monitor dynamic strains caused by damage growth. These methods have been used in
critical areas of aircraft and other structures in a few exploratory studies and have been effective
in detecting small cracks in the neighborhood of the sensor. However, application of the
conventional strain sensing technique to SHM has been limited in practice. This is because it is
impractical to embed or incorporate on the structure a large number of conventional sensors and
signal processing channels. This approach is also difficult to implement because strain
transducers such as optical fibers with bragg gratings provide a very localized measurement only
at each grating. This means that a very large number of fibers and gratings would be required to
8
monitor large or complex structures to detect small damage. The structure with the optical
connections, multiplexer, and optical analyzer would become very complex and expensive.
Based on the existing literature, it is clear that there has not yet been any general technique
developed or widely accepted for SHM. In this thesis, a simple artificial nerve has been modeled,
simulated and fabricated for use in health monitoring of large structures. This will minimize the
need for scheduled inspections and periodic replacement of parts and allow operators to optimize
the use of their fleet while avoiding catastrophic failures.
Research on the previous use of continuous sensors for building an Artificial Neural System
(ANS) has been reviewed. This initial research has shown that the use of an ANS allows efficient
use of data acquisition instrumentation for structural health monitoring [15]. A neuron in the
ANS can be developed using piezoceramic materials, microelectronics, and new signal
processing techniques. The neuron will measure dynamic strains and these signals will be
interpreted to indicate if the structure is operating within the limits of its design specifications,
and if there is any damage occurring to the structure. The innovation and novelty of this ANS
approach is that a biologically inspired highly distributed sensor system can be less expensive,
less intrusive, and more sensitive than any existing sensor technology. The artificial nerve
represents a paradigm shift in sensor technology from the macro-scale to the micro-scale size.
The biomimetic nerve will replicate the efficiency of the biological neural system to sense
pressure and pain. The small size of the sensor nerves combined with the large spatial coverage
and the simultaneous sensing of tens to hundreds of nerve dendrites will provide the simplicity
and sensitivity needed to detect initiating damage in real components.
A technique of firing of neurons in an artificial neural system is developed in this thesis. This
is a significant advance in the development of an artificial neural system because it allows the
9
response of many neurons to combine into a small number of output signals. Firing of the
neurons involves the filtering, thresholding, and combining of the sensor responses from the area
of the structure where damage has occurred.With this development, the operating structure
responds to the user whenever a threshold voltage is reached. The value of the threshold is set
based on the type of structure and the environment in which it is being used. The neurons
respond to any damage in the structure by firing and producing two voltage signals. One signal is
a time response signal related to the acoustic emission waveforms, the other signal identifies
which neurons are firing. The amplitude of the time response signal can help in predicting the
degree of damage to the structure. These signals are processed using MATLAB algorithms to
locate and roughly quantify the damage. In this thesis, a wave simulation algorithm is also
developed to predict the response of the ANS on a panel for different types of input excitation.
10
2. Design of an Artificial Neural System
In biological systems and in the human body, the health of the body is continuously monitored
by a neural system that contains millions of receptors and nerves. The nervous system protects
the body by preventing overstress, and it also detects and quantifies injury. If the biological
system could be mimicked, SHM and damage to a structure due to impact on a large scale could
become feasible. Presently, however, it seems impractical to integrate biological materials into
structural materials. This is because there is a limited range of operating conditions over which
biological systems are viable, and restrictions on processing speed make this integration difficult
at present. Also, there could be ethical questions if structures contained biological components.
Another approach is to consider using engineering materials to mimic the biological nervous
system. Recently, a new continuous sensor design has been proposed using serially connected
piezoceramic sensor elements [16-17]. It has been demonstrated that this sensor arrangement can
make dynamic strain monitoring practical on a large scale by reducing the number of signal
processing channels while simultaneously improving the sensitivity and bandwidth of signal
detection. This sensor concept can be used to mimic the nerve cell [17] in the human nervous
system. The artificial nerve used in this research is still is the development stages but some
experimental results for the detection of simulated impact location have been published [18-23].
The Artificial Neural System (ANS) is a passive monitoring technique that can minimize the
on board instrumentation needed for the real-time structural health monitoring of critical
structures. The system works by using highly-distributed interconnected sensor nodes and
parallel processing that mimics the hierarchy of the biological neural system to collect dynamic
strain signals. PZT’s are used to build the sensor nodes. A continuous sensor is formed by
connecting many sensor nodes together usually in a series configurations [15]. The continuous
11
sensor is also called a neuron or nerve. The neural system is a combination of neurons, which
can be in an array configuration, and is able to detect and approximately locate the large dynamic
strains and acoustic emissions due to damage in the structure. The number of array output wires
does not have to be as large as the number of sensors, and some outputs can be spliced together.
It is computationally possible to calculate the response of the array outputs to varied individual
sensor stimuli. The strains that create the sensor voltages create the array output voltages. The
array output voltages contain information about the location and size of damage based on the
acoustic waves propagating over the neural system [18] and using biologically inspired parallel
signal processing. The ability to reduce the number of data channels and still provide essential
structural information is the main advantage of the ANS.
The sensor node is an important part of the development of the ANS. Complete sensors using
ribbon piezoceramic fibers are being developed by for use in ANS. The Active Fiber Sensor
(AFS) offers the advantage of being more rugged than monolithic PZT sensors, the AFS is
unidirectional which helps to locate impacts, and it can be formed in different shapes in which
monolithic PZT sensors would become too fragile. An example of an AFS sensor and its PZT
counterpart is shown in Figure 1. Figure 1(a) shows the PZT sensor that is used in the
experimentation in this thesis. Figure 1(b) shows a new sensor built at the Smart Structures BioNanotechnology Laboratory at the University of Cincinnati. The complete ANS is in the process
of being built starting with bare ribbon fibers, forming the epoxy matrix, curing, poling,
electroding, encapsulating, and connecting the leads using the new sensor design. This ANS may
lead to a new generation of sensor systems that are more reliable, durable, efficient, safe, and less
expensive to operate and maintain than conventional strain or other sensors.
12
a)
b)
Figure 1. Sensors used in the ANS; (a) A 0.25-inch by 0.5-inch QP10S PZT patch manufactured
by ACX-CYMER [15], (b) The UC/NCA&T Active Fiber Sensor (AFS) [21].
2.1
Modeling the Artificial Neural System
This section discusses the electrical modeling of an array configuration of the ANS. Also
discussed is incorporating this model into a larger algorithm that simulates acoustic wave
propagation due to damage in a panel. Figure 2 depicts the continuous sensor in the configuration
of a 3X3 neural system. In this configuration, 3 column neurons and 3 row neurons combine
together to form an array Artificial Neural System. The neurons shown in Figure 2 have three
sensor elements or nodes that measure dynamic strains and these signals are interpreted to
indicate damage or impact to the structure. Two-node sensors (two electrically independent
sensors at nearly the same location on the panel) are used to allow independent connection of the
nodes in rows and columns. This biomimetic nerve will replicate the efficiency of the biological
neural system to sense pressure and pain. The small size of the sensor nerves combined with the
large spatial coverage and the simultaneous sensing of tens to hundreds of these nerves or
dendrites will provide the simplicity and sensitivity needed to detect impact or damage in real
components.
13
Figure 2. Detail of the bi-directional dual node sensor nodes in the ANS.
In the wave propagation simulation, the elastic solution is computed at small time steps [24].
This response of the panel will be used in deriving the electrical response of the ANS. It is
assumed that the electrical response does not affect the elastic response of the panel. The
simulations to be performed will assume that an ANS is constructed using piezoceramic nodes
connected in series to a resistor, an operational amplifier, and a full wave rectifier. Lead
Zirconate Titanate (PZT) patches as shown in Figure 1(a) are used in the modeling. The
piezoceramic wafers are poled in the transverse direction (3 direction) and any compression or
expansion in the 1, 2 direction in the plane of the wafer and panel causes a charge to be produced
that is transferred to the electrodes [25]. A pressure acting transversly on the wafer in the 3
direction would also cause a charge to be produced. This charge is because of the piezoelectric
14
properties of the sensors, and the sensors can be modeled as a capacitor in parallel with a current
source. The modeling of the PZT sensor is discussed next.
The piezoelectric constitutive equations are used to model the sensor electrical response. If
the electric field is only present in one axis, and we neglect any actuation transverse to the plane
of the sensor, then a one dimensional constitutive equation can be used, assuming that the PZT
exhibits linear bulk piezoceramic properties. The current in the the PZT sensor circuit is then
given by [20-22]:
i = CV + eAe S
(1)
where i =current, C =capacitance, V =voltage rate, Ae = electroded plate area, S = strain rate, and
e =induced stress constant of the PZT. Equation (1) is used in the simulation to model the PZT
output. Practically this output is measured using a high impedance oscilloscope as a voltage
signal. The simulation response must be able to be compared to the response from the
experiments to be performed. In the experiments, the output from every neuron is connected to
the oscilloscope and then to a computer. Therefore, it is not possible to neglect the impedance of
the measuring device (oscilloscope) in the sensor simulation.The impedance of the measuring
device will affect the current output of the neuron series circuit. The sensor configuration will be
modeled as a closed circuit condition and a value of 1M
is assumed to be the impedance of the
measuring device.
Figure 3 shows that a sensor can be modeled as a capacitor in parallel with a current source.
Using Kirchoff’s Voltage Law [26] the output voltage equation for the sensor with 3 nodes
connected in a series arrangement is derived as:
V1 + V 2 + V3 + iR 4 + iR5 + iR o = 0
(2)
15
where V1 , V2 , V3 are the voltage generated by the sensors, R4 and R5 are resistances of the wires
that are used to connect the sensors forming the ANS, Ro is the resistance of the oscilloscope
which is assumed to be 1M and i is the current passing through the circuit that is constant.
i
i
R4
R5
i
Ro
i
v0
Figure 3. Electrical model of series connected continuous sensor using PZT nodes.
The time derivative of equation (2) is:
V1 + V2 + V3 + i ( R4 + R5 + Ro ) = 0
Equation (1) can be written as V =
(3)
i eAe
−
S . Putting this form of equation (1) in equation (3)
C C
gives:
i eAe
i eAe
i eAe
−
S1 +
−
S2 +
−
S 3 + i ( R4 + R5 + Ro ) = 0
C C
C C
C C
(4)
Equation (4) can be reformulated as:
d
3.i eAe
(i ) +
=
dt
RC RC
3
j =1
Sj
(5)
Equation (5) can in general be written as:
16
d
n.i eAe
(i ) +
=
dt
RC RC
n
j =1
Sj
(6)
where C is the capacitance of the sensor with an effective capacitor area of Ae , and effective
plate separation distance h . The product of current i (t ) , and the impedance R of the measuring
device equals the voltage of the series connected sensors as a function of time. Thus we solve the
current to get the voltage Vo = iR . This voltage is proportional to the dynamic strain in the
structure at the sensor. A continuous sensor is made by connecting a plurality of sensor nodes
together usually in a series configuration. Figure 4 shows an initial concept for a circuit
connection of the continuous sensors to form an ANS.
Programmable Signal Transducer (PST) Functions
(a) Series/Parallel neurons, (b) Channel switching
(c) Signal acquisition, (d) Low/high freq. filtering,
(e) Sensor self-check
Computer Functions
(a) Signal Processing
(b) Diagnostics
(c) Prognostics
Signals
from
neurons
Figure 4. The ANS electrical schematic.
(There are n nodes in each neuron, m neurons, and the PST/Computer system).
17
In Figure 4, multiple nerves are connected together to form an ANS. The nerves can be
arranged in horizontal rows and vertical columns with coincident nodes that are not
interconnected. In the configuration to be examined here, multiple neurons are used as rows and
columns of an array. The dual output sensor elements allow the strain at a point to be sensed by
intersecting rows and columns of the array without having the rows and columns electrically
connected. An array designed using 10 row neurons and 10 column neurons is shown in Figure
5. This array has 100 sensor nodes, 20 neurons, and 20 neuron outputs that tell when each neuron
is firing. The bidirectional sensor node shown in Figure 2 is modeled in the neural system. The
10 row neurons are connected into a single channel output and the 10 column neurons are
connected into another channel output. Each nerve has a threshold voltage at which it fires or
closes the electrical circuit. The output is rectified and all column outputs are combined into a
single output, and all row outputs are combined into a second output channel of data acquisition.
Thus, although 100 sensors are used, only four channels of analog data and 20 on/off signals are
needed for the data acquisition system.
18
Figure 5. An ANS in a composite panel (one-hundred bi-directional AFS nodes (N1-N100) form
20 neurons with outputs (V1-V20) where the final output of the neural system consists of 20
on/off neuron firing signals and two time history signals).
This array arrangement of the neurons allows transient excitations to be identified by the outputs
of the rows and columns. Each row and column nerve has a switch to tell if it is firing, but only
the combined time responses of the rows and columns are measured. The firing switches tell
where the signals are coming from, and the output signals tell the level and characteristics of the
excitation. A Programmable Signal Transducer (PST) is envisioned that can control at the user’s
option the connection of the neurons, in either series (voltage adding) or parallel (current adding)
configurations, switch to allow all or only peak channel output, acquire the signal, filter at low or
19
high frequency, and check the integrity of the sensor elements. The PST processes the neuron
outputs (Figure 4) for input to the computer and contains the intelligence and diagnostic
functions to interpret the impact location. This ANS can locate and quantify damage events in
the structure. In particular, impacts, acoustic emissions, and low frequency dynamic strains can
be measured using the ANS.
2.2
Modeling the sensor response
Equation (6) gives the current that is used for calculating the voltage output of PZT sensors. The
current depends on strain rate of the PZT wafer. Hence, classical thin plate theory equations can
be used to determine the strain of the panel. The strain in the PZT is assumed to be the same as in
the panel. A MATLAB code has been written which simulates the plate response due to the
impact. The simulation is used to determine the strains and displacements of a simply supported
plate. The strain rates from the simulation are then substituted into the equations represented by
(6) to determine the current from the sensors and the neurons. These currents are then multiplied
by the resistance of the oscilloscope (1M ) to give the voltage produced by the PZT wafer. This
result is later compared with experimental results.
20
3.
Modeling wave propagation in a panel
The elastic modeling of wave propagation in a panel and the modeling of an impulse due to
damage or an impact to the panel are described in the following sections. An impulse function
can be used to represent a fiber breaking or an impact to the panel.
3.1
Lamb wave propagation
Lamb waves refer to the elastic perturbations propagating in a solid plate with free boundaries,
for which displacements occur both in the direction of wave propagation and perpendicularly to
the plane of the plate [27]. As guided-waves, lamb waves propagate parallel to the plate midsurface and travel at large distances with very little amplitude loss. Across the material thickness,
lamb waves present stationary wave patterns. Lamb waves can be either symmetric or antisymmetric across the material thickness. The symmetric modes are non-dispersive and the antisymmetric are dispersive. The phase velocity of a symmetric mode is given by C ps =
where A11 = Q11t and Q11 =
E11
1 − υ12υ 21
A11
ρt
. Since the symmetric mode is non-dispersive both the
phase and group velocities are equal. The phase velocity of the anti-symmetric flexural wave is
given by C p =
4
D11
Q11t 3
ω where D11 =
. The subscript 11 denotes that the direction assumed
ρt
12
is parallel to the principal material direction. If the wave speed in the perpendicular direction is
required the subscript 11 is changed to 22. Since the flexural mode is dispersive two types of
wave velocities are retained namely the phase and the group velocities. The group velocity in a
thin plate is twice the phase velocity [28].
21
3.2
Elastic Modeling of a Panel
The investigation of the application of the ANS for use in a panel is described in this section.
This involves modeling the panel and sensor system and performing simulations of the impact on
the panel. A flat panel that is supported by a steel frame is considered to model the panel as
shown in Figure 6. The panel is simply-supported and will have an ANS attached to the panel
surface to detect the impact. The equations to model the panel are based on classical thin plate
theory. The geometry of the plate considered is a thin plate structure, i.e., the thickness is small
compared to the wavelength of the highest vibration modes considered [29].
Figure 6. Construction of experimental panel.
The equation of motion of a plate under an impulse load [24, 25, 26, 29, and 30] is:
D∇ 4 w( x, y, t ) = − ρhw + P ( x, y, t )
where the flexural rigidity D =
(7)
Eh 3
∂4
2∂ 4
∂4
4
,
∇
=
+
+
, ρ =mass density, h =plate
12(1 − υ 2 )
∂x 4 ∂x 2 ∂y 2 ∂y 4
thickness. The impact force acting on the panel is:
P ( x, y, t ) = Foδ ( x − xc )δ ( y − y c ) sin(ωt )
(8)
22
The impact is modeled as a pressure varying sinusoidally in time acting on the plate at the
location xc , yc . The duration of the impact is a half-sine function. The input is then turned off,
and from that point in time forward, the free response of the plate is computed. The displacement
of the plate is assumed to be:
w( x, y, t ) =
m n
a mn (t ) sin(
mπx
nπy
) sin(
)
a
b
(9)
The solution of the term a mn (t ) is needed in deriving the strain of the plate due to the impact.
These strains will be used in obtaining the voltage generated by the PZT. Substituting (9) into (7)
gives:
D∇ 4
m n
a mn (t ) sin(
mπx
nπy
) sin(
) + ρh
a
b
m n
a mn (t ) sin(
mπx
nπy
) sin(
) =
a
b
(10)
Fo sin(ωt )δ ( x − xc )δ ( y − y c )
The value of ∇ 4 w( x, y, t ) in equation (10) can be written as:
∂ 4 w( x, y, t )
=
∂x 4
∂ 4 w( x, y, t )
=
∂y 4
2∂ 4 w( x, y, t )
= 2
m
∂x 2 ∂y 2
m n
m n
n
mπ 4
mπx
nπy
) sin(
) sin(
)
a
a
b
(11a)
nπ 4
mπx
nπy
) sin(
) sin(
)
b
a
b
(11b)
mπ 2 nπ 2
mπx
nπy
) ( ) sin(
) sin(
)
a
b
a
b
(11c)
a mn (t )(
a mn (t )(
a mn (t )(
Substitution of equations (8) and (11) into equation (4) gives:
m n
Da mn (t )π
4
m
a
2
n
+
b
2
2
+ ρha mn (t ) sin(
mπx
nπy
) sin(
)
a
b
= Fo sin(ωt )δ ( x − xc )δ ( y − y c )
(12)
23
Multiplying both sides of (12) by sin(
m n
Da mn (t )π
4
m
a
2
n
+
b
m'
πx
n'
πy
) sin(
) and double integrating gives:
a
b
2
2
+ ρha mn (t )
a b
sin(
0 0
= Fo sin(ωt )
a b
mπx
nπy
m'
πx
n'
πy
) sin(
) sin(
) sin(
)dxdy
a
b
a
b
δ ( x − xc )δ ( y − y c ) sin(
0 0
m'
n'
πx
πy
) sin(
)dxdy
a
b
(13)
In (13), when m = m'and n = n', the left hand side of equation (13) becomes nonzero, and is:
Da mn (t )π
4
m
a
2
n
+
b
2
2
+ ρha mn (t )
mπxc
nπy c
ab
= Fo sin(ωt ) sin(
) sin(
)
4
a
b
(14)
Dividing equation (14) by ρh gives:
D
a mn (t )π 4
ρh
Let f mn =
m
a
2
2
n
+
b
2
+ a mn (t ) =
4 Fo
mπxc
nπy c
sin(ωt ) sin(
) sin(
)
ρhab
a
b
(15)
4 Fo
mπxc
nπy c
sin(
) sin(
) . Then equation (15) becomes:
ρhab
a
b
D
a mn (t )π 4
ρh
2
m
a
+
n
b
2
2
+ a mn (t ) = f mn sin(ωt )
(16)
The frequency of vibration squared for the m, n vibration mode is:
ω
2
mn
D 4
=
π
ρh
2
m
a
n
+
b
2
2
(17)
Using (17), equation (16) becomes:
[a
mn
]
2
(t ) + ω mn
a mn ( t ) = f mn sin( ω t )
(18)
Equation (18) represents a second order linear differential equation that can be solved for a mn (t ) .
Adding modal damping to equation (18) gives:
24
2
a mn (t ) + 2ζ mnω mn a mn (t ) + ω mn
a mn (t ) = f mn sin(ωt )
(19)
where ω represents the frequency of the input impact frequency. The following set of equations
have been derived and used in the wave simulation algorithm to obtain the response of the plate.
The plate response due to the impact is modeled using two types of solutions based on the
excitation described in equation (8). The first part of the solution is the forced response that
occurs during the time period of impact. The second part of the solution is the free response that
occurs after the impact has stopped [31-33]. Solutions have been derived for both the cases, and
are shown next.
The forced response is developed by assuming a complementary and particular solution for
equation (19). The complementary solution is:
[a mn (t )]c
= e −ζ mnωmnt [c1 cos(ω dmn t ) + c 2 sin (ω dmn t )]
(20)
where the damped natural frequency of the mode is given by ω dmn = ω mn 1 − ζ mn , c1 , c 2 are
2
unknown constants, and ς mn is the damping ratio of the m, n mode. The particular solution is:
[amn (t )] p = [Amn cos(ωt ) + Bmn sin(ωt )]
(21)
The unknown coefficients of equations (20) and (21) are computed next. Substitution of equation
(21)
Bmn =
in
[(ω
equation
(
)]
(19)
2
f mn ω mn
−ω2
2
mn
−ω2
2
and
)
+ 4ζ mnω mn ω 2
2
equating
, and Amn =
the
sine
and
cosine
terms
gives:
− 2 Bmnζ mnω mnω
. The total solution, a mn (t ) , is
2
ω mn
−ω2
(
)
the sum of (20) and (21). Applying the initial conditions of a mn (0) = 0 and a mn (0) = 0 to find the
values of c1 and c 2 gives: c1 mn = − Amn ,
c 2 mn = −
Bmnω + Amnζ mnω mn
ω dmn
. The total solution of
equation (19) becomes:
25
[
]
a mn (t ) = e −ζ mnωmnt c1mn cos(ω dmn t ) + c 2mn sin (ω dmn t ) + [Amn cos(ωt ) + Bmn sin (ωt )]
(22)
The free response solution after the impact has stopped is derived next. Equation (22)
represents the time information of the plate only during the time of impact. For the free response
of the plate after the impact has been stopped the following equations have been derived:
2
a mn (t ) + 2ζ mnω mn a mn (t ) + ω mn
a mn (t ) = 0
(23)
The solution of equation (23) is:
a mn (t ) = e −ζ mnωmnt [c3mn cos(ω dmn t ) + c 4 mn sin (ω dmn t )]
(24)
The values of c3 and c 4 are found by applying initial conditions: a mn (end of forced response)=
a mn (start of free response), and a mn (end of forced response)= a mn (start of free response). Let
a mn (end of forced response) = Tmnlast, a mn (end of forced response) = Tmndtlast, and the time
at the end of the forced response = t 0 . Applying these initial conditions to (24) gives the values
of the constants as: c 4 mn
c3mn =
Tmnlast
− A cos(ω dmn t o )
−ζ mnω mn to
= e
and
sin (ω dmn t o )
Tmndtlast
Tmnlast
sin (ω dmn t o ) − −ζ ω to [ω dmn cos(ω dmn t o ) − ζ mnω mn sin (ω dmn t o )] . Summarizing, the
−ζ mnω mn to
e
e mn mn
solution of the differential equation (19) for the forced response is given by equation (22). The
solution for the free response is given by equation (24). The total solution for the plate
displacement is w( x, y, t ) =
m n
a mn (t ) sin(
mπx
nπy
) sin(
) where a mn (t ) is given by equation (22)
a
b
in the first part of the response when the force is acting, and by equation (24) after the force
stops. The corresponding strains in the panel are [32]:
∂2w
ε x ( x, y , t ) = − z 2 = − z
∂x
m n
a mn (t ) sin(
mπx
nπy mπ 2
) sin(
)(
)
a
b
a
(25)
26
∂2w
ε y ( x, y , t ) = − z 2 = − z
∂y
γ xy ( x, y, t ) = 2 z
∂2w
= 2z
∂x ∂y
m n
m n
mπx
nπy nπ 2
) sin(
)( )
a
b
b
(26)
mπx
nπy mπ nπ
) cos(
)(
) ( )
a
b
a
b
(27)
a mn (t ) sin(
a mn (t ) cos(
The average strains over the area of the sensor are used to compute the voltage output from the
PZT sensors used in this work. The average strains in the x and y directions are computed as:
∂2w
h 1
ε x ( x, y , t ) = − z 2 = −
2 ∆x∆y
∂x
y2x2
∂2w
h 1
ε y ( x, y , t ) = − z 2 = −
2 ∆x∆y
∂y
y 2x2
y1 x1
y1 x1
m n
m n
(
mπ 2
mπx
nπy
) a mn (t ) sin(
) sin(
) dxdy
a
a
b
(28)
(
mπx
nπy
nπ 2
) a mn (t ) sin(
) sin(
) dxdy
a
b
b
(29)
The average strain of the sensor is given by:
ε = ε x ( x, y , t ) + ε y ( x, y , t ) + ε x ( x, y , t ) ε y ( x, y , t )
(30)
where ∆x = x2 − x1 and ∆y = y 2 − y1 . For an impulse excitation the new equation is:
a mn (t ) =
Fmn
ω dmn
e −ζ mnωmnt sin(ω dmn t )
(31)
The strain of the panel is used to determine the response of the ANS.
All the equations shown above are for an isotropic plate. For an orthotropic plate equation (7)
becomes
D11
∂4w
∂4w
∂4w
∂2w
+
2
(
D
+
2
D
)
+
D
+
ρ
h
= P ( x, y , t )
12
66
22
∂x 4
∂x 2 ∂y 2
∂y 4
∂t 2
(32)
27
4.
Simulation of the Artificial Neural System
The verification of the modeling is shown first, and then the simulation of the ANS for a
moderate size 10x10 neural system and then for a small size 2x2 neural system are presented.
4.1
Comparison of theoretical and experimental wave Speed in a panel
A panel of size 1.22 X 1.22 meters is considered for the comparison. The wave speed obtained
through the simulation is compared with the theoretical wave speed for a panel. The theoretical
dispersion curve which is the continous blue line in Figure 7 is obtained using the method
explained in Section 3.1. A tone burst (sinusoidal input of 8 cycles) was provided as an input to
the simulation. The simulation response was captured using PZT sensors that were modelled on
the panel, and the time lag for the capture was used to determine the wave speed. Inputs of
different frequencies were used in the simulation to predict the response of the system at those
excited frequencies. These values were plotted (red dots in Figure 7) along with the theoretical
dispersion curve (continous blue line) to compare the wave speeds obtained between theory and
the simulation. The resulting velocities matched closely.
28
4500
Plot of dispersion curve for flexural waves in fiber direction
Group velocity (m/sec)
4000
3500
3000
2500
2000
1500
1000
Theoritical Dispersion curve
Simulated points on the Dispersion Curve
500
0
0
1
2
3
4
5
6
Frequency (Hz)
7
8
9
10
4
x 10
Figure 7. Comparison of simulated and theoretical dispersion curves.
4.2
Comparison of Simulated half-sine and impulse responses
Simulations were performed to verify the results obtained using the half-sine input and impulse
inputs. The half sine excitation represents a low frequency impact that could occur from a
projectile impact on a panel. This excitation could be produced in the laboratory using an impact
hammer. The impulse excitation rerpresents a high frequency excitation that could occur due to
fibers breaking in a composite panel. This excitaiton can be produced in the laboratory using a
pencil lead break.
As a half-sine input approaches a very high frequency, it theoretically equals the impulse
input. This has been studied through various simulations performed using the wave simulation
algorithm. Figure 5 shows the geometry of the plate that has been used in the simulation. The
29
sensors are placed symmetrically and the excitation was produced at the center of the fiber glass
composite. The values in Table 1 were given as an input to the wave simulation code.
Table 1. Simulation parameters for comparing the half-sine and impulse responses.
Case
Description
Half Sine Excitation
Impulse Excitation
1.
Length of the plate (inches)
48
48
2.
Width of the plate (inches)
48
48
3.
Number of Modes used
200
200
4.
Number of time steps used
2000
2000
5.
Time step dt (sec)
2e-7
2e-7
6.
Frequency of input (KHz)
100
Dirac Delta Function
7.
Impact Location (x, y, inches)
(24,24)
(24,24)
8.
Max frequency of 200th mode (KHz)
452
452
Figure 8(a) is obtained using a simulated input described in Table 1 for the half-sine
excitation. The input frequency is 100 kHz. Figure 8(b) is obtained by simulating an input using
a dirac delta function. Theoretically, a dirac delta function is a very high frequency excitation.
When the simulated half sine input excitation is at a very high frequency it approaches a dirac
delta function. This can be seen from the two graphs shown in Figure 8. Both the graphs in
Figure 8 look similar because of a very high input frequency.
In other words, when the
frequency of the half-sine excitation is close to the frequency of the highest vibration mode in the
panel, the impulse response due to the dirac delta function and the response due to the half-sine
excitation will be similar.
Table 2 shows the results obtained by comparing the two graphs in Figure 8. There is a
difference between the wave arrival times between the two cases (Figures 8). This can be
attributed to the fact that high frequency waves (produced by the Dirac delta function, 8(b))
30
travel faster than low frequency waves (produced by the half-sine input = 100 KHz, 8(a)). If the
value of the half sine input frequency is increased then the wave arrival times would match for
the two cases. Because the signals are nearly identical, this verifies the derivation of the half-sine
solution and the coding in the wave simulation algorithm.
Table 2. Results of the comparison of excitation types (refers to Figure 8).
Case
Description
Half-Sine Excitation
Impulse Excitation
1.
Wave Arrival Time
0.48e-4 sec
0.4e-4 sec
2.
Max. Amplitude
0.032 volts
0.033 volts
Plot of Neuronal outputs
0.04
0.03
Voltage
Voltage
Voltage
Voltage
(a)
1
2
3
4
Voltage (Volts)
0.02
0.01
0
-0.01
-0.02
-0.03
-0.04
0
0.5
1
1.5
2
Time (Sec)
2.5
3
3.5
4
-4
x 10
31
Plot of Neuronal outputs
0.04
0.03
Voltage 1
Voltage 2
Voltage 3
Voltage 4
(b)
Voltage (Volts)
0.02
0.01
0
-0.01
-0.02
-0.03
-0.04
0
0.5
1
1.5
2
Time (Sec)
2.5
3
3.5
4
-4
x 10
Figure 8. Simulated voltage output of the neurons; (a) half-sine input using an excitation
frequency of 100KHz, (b) impulse input simulated using a Dirac delta function.
32
4.3
Simulation of a 10 x 10 Artificial Neural System
An ANS is simulated on a fiberglass panel. The impulse and half-sine excitations are used to
model impact and damage to the panel. The loads are simulated at the center of the fiberglass
panel. The loads have a small magnitude and the panel is assumed to not be damaged. In the
actual panel, the nonlinear impact dynamics and possible damage to the sensor system would
need to be considered. This might necessitate putting the sensors on the edge of the panel.
However, this initial research is to determine the feasibility of the ANS concept and not to model
the exact dynamics or damage to the panel. The panel used for the simulation is 1.22 meter
square, 0.0064 mm thick and is modeled as being simply supported. A 10 by 10 ANS (shown in
Figure 5) is used. The arrangement of the nodes on the panel is exactly symmetric. The time step
used in computing the response is 1 microsecond and 200 vibration modes of the panel are used
in computing the response solution. The natural frequency of the 200th mode is 452 KHz.
Modeling of the electronic components representing the processing functions of the biological
nerve cell is discussed briefly. A 1 M-ohm resistor (signifying the resistance of the oscilloscope)
was connected to the output of each neuron, and each neuron signal is amplified by a factor of
10. The bridge rectifier was simulated by taking the absolute value of the neuron signal which
produces only a positive rectified signal whenever the neuron voltage exceeds the 0.2 volt firing
level. The absolute value of the signal along with an on/off switch models the characteristic of
the bridge rectifier. The neurons are assumed to be connected in series for this simulation. The
code developed can be used for any number of sensor elements and neurons.
The excitation was located at the center of the plate. Two loading cases were considered in the
simulation: (a) an impulse input to represent a very high frequency excitation (such as an
Acoustic Emission), (b) a half-sine input to represent an excitation of a specified frequency (such
33
as a hammer impact). Table 3 shows the input values provided to the code to generate Figures 10
and 11. All the conditions were maintained constant between the two cases except for the
frequency and amplitude of the input.
Table 3. Analysis conditions for the 10x10 simulation.
Case
Description
Half Sine Excitation
Impulse Excitation
1.
Length of the plate (inches)
48
48
2.
Width of the plate (inches)
48
48
3.
Number of Modes used
100
200
4.
Number of time steps used
1000
1000
5.
Time step dt (sec)
1e-6
1e-6
6.
Frequency of input (Hz)
550
Dirac Delta Function
7.
Max Amplitude
-6.58N
-2e-5N-Sec
7.
Impact Location (x, y, inches)
(24, 24)
(24, 24)
Figure 9 shows the response of the plate for a simulated impulse excitation at the center of the
simply supported glass fiber composite panel. Figure 10 shows the voltage generated by
individual neurons due to the low frequency half-sine input of 550Hz. Figure 11 was generated
by simulating an impulse which generates high frequency waves. The graphs clearly indicate that
the sensor is able to pick up both low frequency and high frequency simulated inputs. The high
frequency is obtained due to simulated impulse excitation whereas low frequency is obtained due
to the simulated half-sine low frequency input.
34
t=0.000099 sec
t=0.000705sec
t=0.0013 sec
t=0.000402
t=0.0010sec
t=0.0019 Sec
Figure 9. Response of the plate due to an impulse at the center of the plate.
35
The algorithm used to simulate the wave propagation assumes a linear solution and is efficient
for design of the sensor system. A nonlinear algorithm such as LS-DYNA 3-D would be needed
to simulate a projectile penetrating the plate. The voltage output of all the 20 neurons (Figures 10
and 11) and the sequential firing of the 10 column neurons (Figure 12) are shown. The firing of
the row neurons is not shown as they fire in the same order as shown for column neurons. The
time of firing of the row neurons is different compared to the column neurons because the plate
used is an orthotropic composite plate. In the initial part of the response, neurons 5, 6 (YNeurons), and 15 and 16 (X-Neurons) are firing. The intersection of these row and column
neurons is at the center of the panel. Later in the response the voltage output increases because
the strain levels in the panel are increasing and because more modes are being strained. The
output of the neurons adds and the row and column output voltages increase due to the addition
of all the neurons that are firing. Note that in the beginning of the response only two neurons are
firing and later they all are firing. The symmetry in the panel causes the signals to overlap. There
are actually 20 curves in Fig. 10 and 11, but, due to overlapping, only ten are obvious. These
figures show that the ANS can locate the source of an impact by the intersection of the row and
columns that are firing. The row and column outputs give a composite response that
characterizes the frequency and amplitude level of the excitation. The ANS presented is an
efficient method for parallel processing of structural responses and detecting impact and the
health of structures.
36
Figure 10. Simulation of neuron responses due to a half-sine excitation
(this is a low frequency excitation of 550 Hz).
37
Figure 11. Simulation of the neuron responses due to an impulse (dirac delta function).
Figure 12. Firing of the column (Y) neurons due to an impulse excitation.
38
In the response of Figure 13, the plate is excited at the center and hence neurons 5 and 6 fire
together which are closest to the center. As the wave propagates, different neurons fire together
due to the symmetry between the structure and the simulated impact. Figure 14 indicates that the
ANS has detected a very high frequency signal. Figure 12 indicates that the neurons
corresponding to colors yellow and magenta have fired. The graph clearly indicates that a very
high frequency is picked up by the ANS and later on the low frequency dominates. The column
outputs are combined and shown in Figure 14. The column combined output is the signal
recorded by the signal processing system. The amplitude of the initial part of the column
combined outputs also shows the high frequency content and roughly indicates the level of
damage caused by the impact. Figure 12 and Figure 14 are the outputs of the ANS that the user
would see, based on the design concept proposed in this thesis. The other figures would not be
available because they are signals internal to the ANS electronics and would require separate
channels of data acquisition for each neuron to acquire. The advantage of the ANS is that the
reduced information in Figure 12 and Figure 14 allow the damage to be located and roughly
quantified using as few as four channels of data acquisition. The exact configuration of the
electronics is a subject of further research.
39
Figure 13. Individual responses of the column neurons after firing. The simulation conditions are
given in Table 5 (impulse excitation).
Figure 14. Combined output of the column neurons. The simulated conditions are given in table
3 (impulse excitation).
40
4.4
Simulation of a 2x2 neural system using a half-sine input
The wave simulation algorithm was also used to obtain the results for a 2x2 neural system. These
results are shown in the following tables and figures. Figure 15 shows the geometry of the plate
and the spatial location of the sensors on the plate. Table 4 gives the values of the sensor
locations on the glass fiber panel.
Y
X
Figure 15. Schematic diagram of the geometry of the plate with the four neurons.
41
Table 4. PZT Patch locations on the glass fiber panel.
Sensor
X-location
Y-location
(meters)
(meters)
X1
X2
X3
X4
1
0.400
0.413
0.406
0.413
2
0.419
0.432
0.406
0.413
3
0.800
0.813
0.406
0.413
4
0.832
0.845
0.406
0.413
5
0.406
0.419
0.832
0.838
6
0.432
0.445
0.832
0.838
7
0.792
0.805
0.787
0.794
8
0.818
0.831
0.787
0.794
Table 5 shows the input parameters used in the wave simulation algorithm. A simulated low
frequency input of 550Hz is used as the input impact frequency. Figure 16 was obtained by
simulating an impact (half-sine input) at (36, 18) inches from the coordinate axes.
Table 5. Analysis conditions for the 2x2 ANS with a half-sine input.
Case
Description
Half Sine Excitation
1.
Length of the plate (inches)
48
2.
Width of the plate (inches)
48
3.
Number of modes used
200
4.
Number of time steps used
4000
5.
Time step dt (sec)
2e-6
6.
Frequency of input (Hz)
550
7.
Max Amplitude of input impact
-6.58 N
8.
Impact Location (x, y, inches)
(36, 18)
42
Voltage (Volts) Voltage (Volts) Voltage (Volts) Voltage (Volts)
2
Neuron V1
0
-2
0
2
1
2
3
4
5
6
7
8
-3
x 10
Neuron V2
0
-2
0
2
1
2
3
4
5
6
7
8
-3
x 10
Neuron V3
0
-2
0
2
1
2
3
4
5
6
7
8
-3
10
Neuron xV4
0
-2
0
1
2
3
4
Time (Sec)
5
6
7
8
-3
x 10
Figure 16. Simulation voltages of the four neurons due to a half-sine input at (36, 18) inches.
4.5
Simulation of a 2x2 Neural System using an impulse input
Similar to Section 4.4 the wave simulation algorithm was used to generate results for an impulse
input. Figure 17 shows the plots obtained corresponding to the analysis conditions shown in
Table 6. As expected (refer to the geometry of the plate shown in Figure 15), neurons V2 and V3
pick the high frequency first compared to the other neurons. As time progresses, waves reach
sensors 7 and 8 causing neurons V2 and V4 to fire simultaneously. High frequency waves damp
out quickly and hence the response of neuron V1 shows very attenuated high frequency waves.
Table 6. Analysis Conditions for the 2x2 system for an Impulse Input.
Case
Description
Impulse Excitation
1.
Length of the plate (inches)
48
43
Voltage (Volts) Voltage (Volts) Voltage (Volts) Voltage (Volts)
2.
Width of the plate (inches)
48
3.
Number of Modes used
200
4.
Number of time steps used
2000
5.
Time step dt (sec)
2e-7
6.
Frequency of input (Hz)
Dirac delta function
7.
Max Amplitude
-35e-5 N-sec
8.
Impact Location (x, y, inches)
(36, 18)
0.1
Neuron V1
0
-0.1
0
0.1
0.5
1
1.5
2
2.5
3
3.5
4
-4
x 10
Neuron V2
0
-0.1
0
0.1
0.5
1
1.5
2
2.5
3
3.5
4
-4
x 10
Neuron V3
0
-0.1
0
0.1
0.5
1
1.5
2
2.5
3
3.5
4
-4
x 10
Neuron V4
0
-0.1
0
0.5
1
1.5
2
Time (Sec)
2.5
3
3.5
4
-4
x 10
Figure 17. Simulation voltages of the four neurons due to an impulse input at (36, 18) inches.
44
5.
Experimentation
Experimentation was performed to validate the simulation model. A model of a 2x2 neural
system on a panel was developed and tested in laboratory. The panel has the same dimensions
and properties as modeled in the simulations. The experimental set-up is shown in Figures 18 and
19. Shown in Figure 18 are: (a) the fiberglass composite panel, (b) eight PZT sensors forming
four neurons, and (c) an adjustable frame with turn screws to level the panel. Shown in Figure 19
are: (a) an impact hammer, (b) a Kronhite filter, (c) two Lecroy wave runner oscilloscopes, and
(d) a laptop computer for data acquisition.
Figure 18. Experimental panel with 4 neurons on a fiberglass simply supported plate.
45
Figure 19. Signal processing instrumentation for the panel.
The simulation model represents a simply supported plate with the plate being supported on its
edges by a steel frame. The structure is a orthotropic glass fiber composite panel with dimensions
1.22 m. by 1.22 m. by 0.0064 m. Since the plate used in the experiment is a thin plate, classical
thin plate theory has been used in the simulation to generate the plate response. In order to obtain
a comparable result in the experiment, the plate is supported by a steel angle in a simply
supported condition and care has been taken to level the plate with the help of the turn screws.
Eight PZT wafers (a special small design from ACX, Inc.) have been used in the experiment.
5.1
Measurement of physical properties of the panel
The young’s modulus of the panel was backcalculated by measuring the wave speed in the panel.
As the symmetric waves (longitudinal waves) are nondispersive they are used in the calculation
of the mechanical properties of the fiberglass panel. A pencil lead break was used to excite the
46
fiberglass panel at the edge to produce the symmetric waves. Two PZT’s were used to capture
the response of the system and the time taken for the wave to travel between the two sensors was
used to back calculate the young’s modulus of the panel. Values of typical coupon properties
were also obtained from the manufacturer to validate the obtained results. Table 7 shows the
comparison of the properties of the glass fiber panel. The Youngs modulus of the panel in the ydirection agrees very closely to that of the prescribed typical coupon properties. On the other
hand, the value of young’s modulus in the x-direction varies a lot from the specified properties.
This can be attributed to the fact that the specified values are only of a typical coupon property
and are not the exact values. The values of the poisson ratio and shear modulus were assumed as
specified by the manufacturer. To verify if the obtained values are indeed correct an experiment
to predict the natural frequencies of the system was perfomed and the results are shown in the
next section.
Table 7. Comparison of the properties of the glass fiber panel.
Properties
Experimental
Young’s Modulus in y-direction E11 (Pa)
Young’s Modulus in x-direction E22(Pa)
Density (kg/m3)
16.8 * 10
9
28.52* 10
9
Prescribed typical coupon
properties
11.8 * 109
0.30
(Avg.
(Standard
Value)
Deviation)
27.72 * 109
0.54
(Avg.
(Standard
value)
Deviation)
2020.10
1719 to 1941
Poisson ratio in x-direction
12
-
0.15
Poisson ratio in y-direction
21
-
0.3
-
3.1 * 109
Shear Modulus (Pa)
47
Extensional leading edge wave speed in xdirection Ce11 (m/sec)
Extensional leading edge wave speed in ydirection Ce22(m/sec)
5.2
2942
2523 - 2681
3845
3838 - 4078
Mechanical resonance method
Experimentation was performed to predict the natural frequencies of the panel. A PZT patch
actuator that is 1inch by 2 inch by 0.01 inch in size was used to excite the plate at different
frequencies. The frequency of excitation was varied to determine the resonant frequencies of the
panel. The spatial location of the sensor and actuator are important for determining the resonant
frequencies of the panel. The actuator (color red) and sensor (color green) are placed as shown in
Figure (20). These locations are away from the vibration nodal points (points of zero
displacement for a particular vibration mode) and will allow most of the lower frequency
resonances to be determined. The dotted line in Figure 20 represents the nodal line for each
mode shape. Figure 20 shows the mode shapes obtained and the corresponding voltage of the
PZT patch for the resonant excitation. Table 8 compares the natural frequencies obtained from
both the experiment and theory. From Figure 20 and Table 8, it can be seen that mode (2,1) did
not get properly excited because the actuator exciting the plate at that frequency was placed on
the nodal line. The amplitude of mode (2,2) may be an average of the response of mode (1,2) and
mode (2,1). The response of mode (2,3) and mode (3,1) could not be predicted properly because
of the lack of resolution in the signal generator. The plate was well excited at modes (3,2) and
(3,3). The results in Table 8 show that the natural frequencies of the model and experiment agree
well for the modes that were able to be exicted with high fidelity. The correspondence of the
48
natural frequencies indicates that the modeling of wave propagationin the panel is also
satisfactorly accurate for design of the ANS.
49
1
n -->
2
3
1
m
Amplitude = 60 mv
Frequency = 11 Hz
Amplitude = 40 mv
Frequency = 27 Hz
Amplitude = 5 mv
Frequency = 32 Hz
Amplitude = 25 mv
Frequency = 42-44 Hz
Amplitude = 100 mv
Frequency = 55 Hz
2
not obtained
3
not obtained
Amplitude = 130 mv
Frequency = 75-77 Hz
Amplitude = 120 mv
Frequency = 104-110 Hz
Figure 20. Natural frequencies and sensor voltage of a simply supported orthotropic glass fiber
panel.
50
Table 8. Comparison of theoretical and experimental natural frequencies of the panel.
Amplitude
Natural Frequency
(Hz)
Mode
5.3
% Error
at
Resonance
Theory
Experiment
1,1
10.99
10.8
1.7
60
1,2
26.64
26.7
-0.2
40
2,1
32.43
31
4.4
5
2,2
44
42-44
0
25
1,3
55
56
-1.7
100
2,3
68.68
--
--
3,1
69.44
be obtained
--
--
3,2
78.73
75 - 77
2.2
130
3,3
99
104-110
5.1
120
(mv)
Could not
be obtained
Could not
Comparison of theoretical and experimental wave speeds in the panel
A tone burst (sinusoidal signal of 8 cylces) of a specified frequency was used to generate waves
in the panel. The generation of the sinusoidal excitation signal was done using a PC with a
Pentium III processor consisting of 128 MB RAM. A SC2070 board coupled with PC-AT-M1016E-10 supplied by national instruments is used to communicate between the sensors and the
computer. The VIRTUAL BENCH software is used to generate the required tone burst signals.
The board has a sampling rate of 100 ks/s. Figure 21 shows the response of a PZT transducer in
the X-direction. The system was excited with a center freuquency of 6 kHz for 8 sinusoidal
51
cycles. Figure 22 shows the Fourier transform of the sensor response. The response was filtered
using a high pass filter with a cutoff frequency of 1000 Hz.
Figure 21. Response of a PZT patch for an excitation of 6 kHz.
Figure 22. FFT of the response of the PZT patch.
52
Table 9 compares the theoretical wave speed obtained in the fiber glass panel to the experimental
wave speed. The tone burst was generated and the plate was excited using a PZT actuator.
Table 9. Comparison of the theoretical and the experimental longitudinal wave speed in the
panel.
Group Velocity
Frequency (kHz)
5.4
(m/sec)
Time ( -sec)
% error
Experimental
Theory
10
155.4
1184
1166
-1.5 %
8
170
1083
1043
-3.8%
6
186
990
903
-9.6%
Verifying responses of simulation and experiment
The far field response of a single sensor is compared between the experiment and the simulation.
Figure 23 and Figure 24 show the response of a single sensor for an high frequency acoustic
emission (pencil lead break). Since shear deformation is ignored in the simulated model the
waves appear to have reached the sensor much faster than that in the experiment. In order to
closely compare between the experiment and the simulation a higher order model has to be used
in the simulation for predicting the exact response of the structure for a high frequency acoustic
emission. The experimental response (Figure 24) shows that for an excitation at the surface the
PZT is able to pick up both the anti-symmetric and the symmetric waves. The amplitude of the
flexural waves dominates over the amplitude of the extensional waves. This is because of the
excitation of the plate at the surface. On the other hand if the plate was excited over the edge the
extensional waves would have dominated the results.
53
0.03
Voltage (Volts)
0.02
0.01
0
-0.01
-0.02
-0.03
0
0.5
1
1.5
2
2.5
Time (Sec)
3
3.5
4
4.5
-4
x 10
Figure 23. Simulated response of a PZT patch due to an acoustic emission (impulse).
0.06
Flexural wave
Voltage (Volts)
0.04
0.02
0
-0.02
-0.04
-0.06
0
Extensional wave
0.5
1
1.5
2
2.5
Time (Sec)
3
3.5
4
4.5
-4
x 10
Figure 24. Experimental Response of a PZT patch due to an acoustic emission (lead break).
54
5.5
Detecting Acoustic Emissions in the panel using a 2x2 Neural System
A 2x2 neural system is used to detect damage in the panel. The damage is represented using a
lead break from a 0.5mm pencil lead. The lead break produces an acoustic wave similar to the
wave produced by fiber breaking in a composite. The lead break is located at (36, 18) inches on
the glassfiber panel and the response of the system was filtered between a frequency range of 50
kHz to 100 kHz. All the low frequency displacement of the plate is eliminated and only the high
frequency remains making analysis of the plots much easier. Figure 25 shows the time response
of the sensor due to the lead break. Note that neurons V2 and V3 pick the high frequency
acoustic emission that is closer to these sensors. As the damping in a composite is high, the other
sensors do not pick up the acoustic emission. The intersection of these two neurons predicts the
Voltage (Volts) Voltage (Volts) Voltage (Volts) Voltage (Volts)
location of the crack on the panel.
Plot of Filtered Neuron time channels (Experimental)
0.02
Neuron V1
0
-0.02
-1
-0.8
-0.6
-0.4
-0.2
0
x V2
10
Neuron
0.02
-3
0
-0.02
-1
-0.8
-0.6
-0.4
-0.2
0
x V3
10
Neuron
0.02
-3
0
-0.02
-1
-0.8
-0.6
-0.4
-0.2
0.02
0
x V4
10
Neuron
-3
0
-0.02
-1
-0.8
-0.6
Time (Sec)
-0.4
-0.2
0
x 10
-3
Figure 25. Measured voltages of the neurons filtered between 50,000 Hz and 100,000 Hz due to
a lead break excitation at (36, 18) inches.
55
5.6
Analysis of the impact signal from a supercavitating projectile
The Naval Undersea Warfare Center (NUWC) provided a time history signal from the impact of
a supercavitating projectile on a panel. This signal and the panel geometry are compared to the
results presented in the previous sections of this thesis to infer if the ANS could be used to form a
Smart Target to locate impacts on an underwater target. Figure 26 shows the experimental setup
of the tow tank and the spatial location of sensors on it. The tank is simply supported on two of
its edges and it has a free edge on the other two edges. Three ACX Inc. QP10N PZT sensors have
been used to capture the raw data signal. Figure 27 shows the raw data signal obtained by
impacting a supercavitating projectile on the Panel. Figure 28 shows the arrival part of the signal
of Figure 27. The initial part of the signal shown in Figure 28 contains a frequency of the order of
10,000Hz. Such a high frequency could be simulated in a lab environment by breaking a pencil
lead. The simulation studies show that ANS can sense high frequency data and can also locate
the impact location. Therefore, the ANS should be suitable for locating impact of Supercavitating
projectiles on a panel. Damage to the sensors due to the impact may require locating the sensors
toward the edges of the panel. The distance between individual nodes plays an important role in
identifying the location of the impact of the supercaviting projectile, and this would have to be
determined by simulation of the panel response and by experimentation. Also, the ACX sensor is
too large to measure the high frequency part of the impact. It is suggested that smaller sensors, as
in Figure 1, be used to capture the high frequency response.
56
1”
Simply – Supported Edge
A – 36 Steel Plate
1
b=24 ¼”
R=14”
48”
Free
Edge
b
Free
Edge
b
b
3
2
Simply – Supported Edge
48”
Figure 26. Experimental setup at the NUWC.
Plot of Data from NUWC
0.6
0.4
Voltage(Volts)
0.2
0
-0.2
-0.4
-0.6
0
0.02
0.04
0.06
0.08
0.1
Time(Sec)
0.12
0.14
0.16
0.18
0.2
Figure 27. Raw voltage signal from the NUWC.
57
Plot of data from NUWC
0.6
0.4
Voltage(Volts)
0.2
0
-0.2
-0.4
-0.6
0
0.5
1
1.5
2
Time(Sec)
2.5
3
3.5
4
-3
x 10
Figure 28. Raw voltage signal from the NUWC (arrival part).
6. Conclusions
The different conclusions reached in this thesis related to the verification of the wave
propagation simulation model developed and the applicability of the use an ANS for structural
health monitoring are listed by topic.
6.1
Crack Detection
The laboratory experimentation has shown that the ANS is able to detect acoustic emissions on a
fiberglass panel. The accuracy can be improved if more sensor nodes are used and the distance
between sensors is reduced. The number of sensor nodes can be increased while the number of
58
channels of data acquisition can remain at two because of the efficient signal processing
technique using the artificial neural system. A neuron on/off firing switch is also needed for each
neuron.
6.2
Measurement of physical properties of the glass fiber composite
The physical properties of the system were measured based on the propagation of lamb waves in
the composite panel. The panel was excited using a pencil lead on its edge. The breaking of a
pencil on the panel top or bottom surface would initiate dispersive flexural waves making it
difficult to predict the properties of the composite. Hence the acoustic emission was initiated at
the edge and interested zone was restricted to lower frequencies causing only nondispersive lamb
waves (So) to propagate in the composite. This procedure was initiated in both the principal
material directions to predict the properties of the system. The Young’s modulus of the system in
the y-direction was close to that specified by the manufacturer. The young’s modulus in the xdirection provided by the manufacturer was not equal to that determined in the experiment. This
could be due to the fact that the specified property is only a typical coupon values. Another test
predicting the natural frequencies of the system at resonance was performed to validate the
determined Young’s modulus of the system. The first few low frequencies matched with the
theoretical prediction of the natural frequencies of the system. This test helped to validate the
predicted physical properties of the system. Also a tone burst with a varied center frequency was
used to excite the system and the response was captured using a PZT sensor. The wave speed
obtained using the experimental method was close to that obtained through the theoretical
method. This proved that the assumed properties of the system were correct.
59
6.3
Advantages of using an ANS
The number of data acquisition channels can be reduced remarkably using ANS. It has been
shown in this thesis that when using 100 sensors, only 20 channels of data acquisition are
required to monitor a huge structure. Individual nodes have been connected in series to form a
continuous sensor that can monitor a large area of a structure. This system is potentially scalable
to monitor large structures. Further work is continuing to reduce these 20 channels to only 4
channels of data acquisition system. Also, a new type of Active Fiber Sensor (AFS) has been
designed that can replace the existing PZT’s. These new sensors are uni-directional and are more
sensitive to acoustic emissions. The ANS is a new health monitoring technique that is more
practical to monitor large structures than many existing techniques.
60
7. Recommended continuing work
The work suggested for further development of the ANS is listed below.
1. Use the active fiber sensors manufactured at the UC to build a new sensor system.
2. Calibrate the sensor coefficients for use in the simulation.
3. Build the neuron circuit in order to reduce the number of data acquisition channels.
4. Test the neuron circuit on structures consisting of rivets and holes.
5.
Incorporate frequency dependent damping ratios for the higher frequency modes to model
the decay of the higher frequency modes more accurately in the simulation.
6. Investigate with the NUWC other applications that can use this signal processing
architecture.
61
8. References
1.
Ness, S.,Sherlock, C.N., “Nondestructive Testing Handbook (10) Nondestructive Testing
Overview,” ASNT,1996
2.
Nondestructive Testing Handbook, Second Edition, Volume 7, Ultrasonic Testing, Paul
McIntire, ASM.
3.
R.K.Miller and P.McIntire, Eds., Nondestructive Testing Handbook, Vol. 5, Second
Edition, Acoustic Emission Testing, American Society for Nondestructive Testing,
1987.
4.
Cordell, T.M.,”Life Management of aging air force aircraft: NDE perspective, “SPIE (34),
vol.2455,1995.
5.
Komsky,I.N., Achenbach,J.D.,”Ultrasonic imaging of corrosion and fatigue crack in
multilayered airplane structures”SPIE Vol.2945, 1/96.
6.
Smith, C.D., “FAA Inspection Research and Development Program,“ SPIE Vol.2495,
1/96.
7.
Sundaresan, M.J., Schulz, M.J., Ghoshal, A., Pratap, P., “A Neural System for
Structural Health Monitoring,” SPIE 8th international Symposium on Smart Materials and
Structures, March 4-8, 2001.
8.
Zhang, H., Schulz,M.J., Naser,A.S., Ferguson,F., Pai,P.F., ”Structural Health Monitoring
using Transmittance Functions,” Mechanical Systems and Signal Processing, 1999 13(5),
765-787.
9.
Lichetenwalner,P.F., Dunne,J.P., Becker, R.S., Baumann,E.W.,”Active Damage
Interrogation system for Structural Health Monitoring,” Proceedings, SPIE SSM, San
Diego,CA,1997.
62
10.
Chang,F., “Structural Health Monitoring:demands and challenges,” SPIE 7th
International Symposium on SSM, Keynote Paper 3990-17, March 5-9, 2000.
11.
Sun, F., C.A.Rogers., and C.Liang., 1995. “Structural Frequency Response Function
Acquisition Via Electric Impedance Measurement of Surface-Bonded Piezoelectric
Sensor/Actuator”, AIAA-95-1127-CP, pp.3450-3458.
12.
Blanas,P., Wenger, M.P., Shuford,R.J., and Das-Gupta, D.K., “ Active Composite
Materials and Damage Monitoring,” Structural Health Monitoring, Current Status and
Perspective, Fu-Kuo Chang, International Conference on Structural Health
Monitoring,1997.
13.
Wang, C., Chang, F., “Diagnosis of Impact Damage in Composite Structures with BuiltIn Piezoelectrics Network”, Proceedings of the SPIE, Vol. 3990, p. 13, 2000.
14.
Schwartz, W.G., Read, M.E., Kremer, M.J., Hinders, M.K., Smith, B.T., "Lamb Wave
Tomographic Imaging System for Aircraft Structural Health Assessment," SPIE
Conference on NDE of Aging Aircraft, Airports, and Aerospace Hardware III, Vol. 3586,
P. 292, 1999,Newport Beach, CA.
15.
William N. Martin, “An Artificial Neural System for Structural Health Monitoring,” Ph.D.
Dissertation, North Carolina A&T State Univeristy, 2001.
16.
Patent: "Sensor Array System," (6,399,939 B1) M. J. Sundaresan, A. Ghoshal and M. J.
Schulz.
17.
Patent Pending: “Linear Location of Acoustic Emission Sources with a Single Channel
Distributed Sensor,” M. J. Sundaresan, and M. J. Schulz.
18.
William N. Martin Jr., Anindya Ghoshal, Gary Lebby, Mannur J. Sundaresan, Mark J.
Schulz, Promod R. Pratap, “An Artificial Neural System for Structural Health
63
Monitoring,” Third Workshop on Structural Health Monitoring, Stanford, CA, September
12-14, 2001.
19.
Mannur Sundaresan, Mark J.Schulz, Goutham Kirikera, Saurabh Datta, “Evaluation of a
Neural System for Structural Health Monitoring”, First European Workshop on Structural
Health Monitoring, Ecole Normale Supérieure, Cachan, Paris, July 10-12, 2002.
20.
Goutham R.Kirikera, Saurabh Datta, Mark J.Schulz, Mannur J. Sundaresan,
Proceedings,“An Artificial Neural System for detection of crack growth in large
structures”, Ninth International Conference on Composites Engineering, 397 pp, SanDiego, California, July 1-6, 2002
21.
Saurabh Datta, Goutham R.Kirikera, Mark J.Schulz, Mannur J.Sunderesan Proceedings,
“Sensor Design for an Artificial Neural System”, Ninth International Conference on
Composites Engineering, San-Diego, California, July 1-6, 2002.
22.
William N. Martin, Anindya Ghoshal, Mannur J. Sundaresan, Mark J. Schulz,
“StructuralHealth Monitoring using an Artificial Neural System,” book chapter
in Recent Research Developments in Sound and Vibration, Transworld Research Network,
Reference number TRN/SV/UA/S0008, to be published Dec, 2002.
23. Sundaresan, M.J., Schulz, M.J., Ghoshal, W.Martin, and P.Pratap, “A neural system for
structural health monitoring,” SPIE Proceedings 4328-13, pp. 130-141, 2001
24.
Graff, K.F., 1991,“Wave Motion in Elastic Solids”, Dover Publications
25.
Piezo System, Inc., Piesoelectric Generator/Sensor Kit Manual. Piezo Systems, Inc.,186
Massachusetts Ave., Cambridge, MA 02139,1997.
26.
Johnson, D.E.., Hilburn, J.L., Johnson, J.R., “Basic Electric Circuit Analysis, 4th ed.,
Prentice Hall, Englewood Cliffs, NJ 07632, 1990.
64
27.
I.A.Viktorov, “Raleigh and lamb waves”, plenum, New York,1967.
28.
H.Kolsky, “Stress waves in solids”, Dover publications, Inc, New York.
29.
Iam Searle., Steve Ziola., Paul Rutherford., “ Crack Detection in Lap-Joints Using
Acoustic Emission”, 212/SPIEVol.2444.
30.
Inman, D.J., 1994, “Engineering Vibration”, Prentice Hall
31.
Erwin Kreyszig ,”Advanced Engineering Mathematics” , 8th ed.,John Wiley & Sons, Inc.
32.
Wilfred Kaplan, “Advanced Mathematics for Engineers”, Addison-Wesley Publishing
Company.
33.
Robert L.Borrelli, Coutney S.Coleman, “ Differential Equations, A Modeling Perspective”
John Wiley & Sons,Inc.
34.
S.Timoshenko, S.Woinowsky-Krieger,”Theory of plates and shells”, 2nd ed., McGraw-Hill
Book company, 1959.
35.
F.Leighton and W.Blake, “Rock Noise Source Location Techniques”, Bureau of Mines
Report of Investigations 7432, U.S. Department of Interior, Washington, DC(1970).
36.
F.Leighton and W.I.Duvall, “A Least Squares Method for Improving the Source Location
of Rock Noise”, Bureau of Mines Report of Investigations 7626, U.S. Department of the
Interior, Washington, DC (1972).
37.
F.R.Redfern and R.D. Munson, “Acoustic Emission Source Location – A Mathematical
Analysis”, Bureau of Mines Report of Investigations 8692, U.S. Department of the
Interior, Washington, DC(1982).
38.
B.Castagnede, W.Sachse and K.Y.Kim, “Location of Pointlike Acoustic Emission sources
in anisotropic plates”, J. Acoust.Soc. Am. 86,1161 (1989).
39.
http://www.ipm.virginia.edu/process/cons/pubs/thesis19/chapter7.pdf
65
Appendix I
Wave simulation algorithm
This program computes the wave propagation response or vibration response of a composite
plate with active fiber sensors or monolithic PZT sensors. The code is named as “wave
simulation code”. This code includes a circuit model of a PZT. It computes the wave propagation
response of a simply supported rectangular plate and from this computes the sensor response.
This code has the option of choosing between automatic location of sensors around the plate and
the manual location of sensors on the plate. In the present condition shown in this report the
option of a 2 by 2 system and an automatic location of sensors are used. The 2 by 2 system has a
predetermined set of sensor locations (same as in the experiment in the SSBN lab of University
of Cincinnati) and has only 2 row outputs and 2 column outputs. The automatic location of
sensors has an option of choosing any number of rows and columns.
The option of choosing different types of sensors is also available. Currently the code works
for two types of sensors, these are the Active Fiber sensor and the monolithic PZT. The
properties of these sensors have been loaded as specified by the manufacturer. Different types of
inputs can be chosen in the wave simulation algorithm. For this project, the simulations
concentrated more on the impulse and half-sine excitations. The solution runs depending on the
number of modes chosen and the time up to which the user is interested in studying the wave
forms. The wave simulation algorithm works on a closed form solution in computing the
waveforms. The location of impact can be specified by the user.
66
clear;close all;clc;
delete cntarray6.mat
delete t.mat
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This program computes the wave propagation response or vibration response
% of a composite plate with Active Fiber Composite or monolithic PZT Neural Sensors.
% The code name is: wavesimu_ortho_iso.m, last updated 08/05/03.
% Developed by W. N. Martin, A. Ghoshal , M. J. Schulz, Goutham R.Kirikera,Saurabh Datta
%
% It is the authors'wish that readers/viewers may freely reproduce/manipulate
% and otherwise consume or modify this program ONLY if full credit is given to
% the authors and the authors are contacted. Any failure to include credit will
% constitute a copyright infringement.
%
% This code includes a circuit model of an AFC. It computes the wave propagation response
% of a simply supported rectangular plate and from this computes the sensor
% response. In this model, the AFC is divided into an aribitrary number of segments
% that can have specified poling directions and other parameters.
% The segments can be connected in series or parallel. It is assumed that the segments
% have equal properties, that is, R and C, but the voltage from each segment depends on the
% wave propagation or vibration analysis.
%
% It is assummed that the AFC covers only a small surface area of the plate, electroded
% only at specific locations. An example of a sensor arrangement is below.
%
%
^ Y
%
|
%
%
*********************
%
*
*
%
* xxxxxxxxxxxxxx *
%
* x s13-16 x *
% Ly * x
x *`
%
* x s1-4 s5-8 x *
%
* x
x *
%
* x s9-12 x *
%
* xxxxxxxxxxxxxx *
%
*
*
%
********************* -> X
%
Lx
%
%****************************************************************************
******
67
%****************************************************************************
**
pack
%****************************************************************************
*********
%All the important input parameters are to be modified in this area
%****************************************************************************
*******
%dt=1e-5;%tstart=0.0 1e04
%ntp=2000;%500
5000
% number of time points in solution
%modeend=100;%100
% = the ending mode number in the response calculation
fire=0.2; % Level of voltage at which neuron will fire
%****************************************************************************
*******
istep=0;
impulsefrc=0;
isteady=0;
PZT=0;
AFC=0;
%****************************************************************************
********
%Entering the type of sensing required PZT or Bi-Directional AFC
sensing=input('
Enter the type of sensing required 1. PZT or 2.Bi-Directional AFC (Default=1)
='
);
if isempty(sensing), sensing=1;
end
if sensing==1
PZT=1;
elseif sensing==2
AFC=1;
end
%****************************************************************************
****
%This gets an input for isotropic or orthotropic plate
inputtype=input('
Enter the type of plate used 1. Isotropic or 2.Orthotropic (Default=2) ='
);
if isempty(inputtype), inputtype=2;
end
iso=0;
ortho=0;
if inputtype==1
iso=1;
elseif inputtype==2
ortho=1;
68
end
%****************************************************************************
*********
%Entering the type of input required '
STEP INPUT'or '
IMPULSE INPUT'
%NOTE:Steady state will not work
inputforce=input('
Enter the type of input required 1.Step Input or 2.Impulse Input 3.SteadyState
4.Impact Hit (Default=4) = '
);
%This by default takes Impulse force as the input
if isempty(inputforce), inputforce=4;
end
istep=0;
impulsefrc=0;
isteady=0;
halfsineinput=0;
freeresponse=0;
if inputforce==1
istep=1;
elseif inputforce==2
impulsefrc=1;
elseif inputforce==3
isteady=1;
elseif inputforce==4
halfsineinput=1;
end
%****************************************************************************
*****
ipztactuator=0;
imovieplot=1;
showplot=1;
printfreq=0;
plotfreq=100;
saveset=0;
%=0 then skip movie
%=0 skip plots
% 1=print frequencies
% plot every plotfreq time steps
%=1 save data for testing
lxplate=48;%inches
platelength=lxplate;
lyplate=48;
platewidth=lyplate;
%lxplate=48; %Values entered here are in inches
%lyplate=48; % Values entered here are in inches
% NOTE: All units are meters, Newtons, Kg.
% general input variables (1 lb = 4.4482 N )(1m=39.37in)
69
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%
gravity=9.806 ;
% SI units m/sec^2
%****************************************************************************
*************
%Coding for generation of location of sensors Automatically
%****************************************************************************
**************
Numberrow=input('
Enter the Number of outputs needed in Rows
(Default=2)
='
);
if isempty(Numberrow), Numberrow=2;
end
Numbercolumn=input('
Enter the Number of outputs needed in Columns (Default=2)
='
);
if isempty(Numbercolumn), Numbercolumn=2;
end
%Choose between the setup of location of sensors (option 1. Setup at university of cincinnati or
2. Automatic location of sensors)
sensorinput=input('
1. 2*2 system or 2. Automatic (Default=1)='
);
if isempty(sensorinput), sensorinput=1;
end
if sensorinput==2
sensorlength=input('
Enter the Length (X-Direction) of the sensor which senses in the ydirection(inches) (Default=0.5)
='
);
if isempty(sensorlength), sensorlength=0.5;
end
sensorwidth= input('
Enter the Width (Y-Direction)of the sensor whcih senses in the y-dirction
(inches) (Default=0.25)
='
);
if isempty(sensorwidth), sensorwidth=0.25;
end
end
%manual sensor locations(Locations loaded into the code in accordance with the plate at
university of cincinnati)
if PZT==1
if sensorinput==1
sensorlength=0.5;
70
sensorwidth=0.25;
%sensor
x1
x2
y1
y2
%sg=[3
16.25
16.75
15.875
16.125;
% 4
32.25
32.75
15.875
16.125;
% 1
16.75
17.25
32.625
32.875;
% 2
31.75
32.25
30.875
31.125];%Sensor locations on the plate
sg=[3
4
1
2
0
0
23.5
0
% sg=[3
% 4
% 1
% 2
0
0
16.75
0
%sg=[3
% 4
% 1
% 2
0
0
16.5
0
0
0
24.00
0
0
0
0
16.25
0
0
0
17.25
0
0
0
0
17
0
0
0
0;
0;
16.5;
0];
0
0;
0;
32.625
32.875;
0];%Response of sensor 5
0
0;
0;
16.25;
0];%Response of sensor 2
16
%%%%Automatic sensor location
elseif sensorinput==2
%This part of the code is for sensor which strains only in the y-direction
splitx=lxplate/(Numbercolumn+1); %Dividing the length of the plate for placing of sensors
splity=lyplate/(Numberrow+1); %Dividing the length of the plate in the Y-direction
% for placing of sensors
% Array for loading the location positions of all the sensors
sg=zeros(Numberrow*Numbercolumn,5);
counter=1;
for z=1:(Numberrow*Numbercolumn)
sg(z,2)=splitx-(sensorlength/2);
sg(z,3)=splitx+(sensorlength/2);
sg(z,4)=splity-(sensorwidth/2);
sg(z,5)=splity+(sensorwidth/2);
counter=counter+1;
splitx=splitx+(lxplate/(Numbercolumn+1));
if counter==(Numbercolumn+1)
splitx=lxplate/(Numbercolumn+1);
splity=splity+(lyplate/(Numberrow+1));
counter=1;
end
end
clear counter z splitx splity
71
end
elseif AFC==1
%This part of the code is for sensor which strains only in the y-direction
splitx=lxplate/(Numbercolumn+1); %Dividing the length of the plate for placing of sensors
splity=lyplate/(Numberrow+1); %Dividing the length of the plate in the Y-direction
% for placing of sensors
% Array for loading the location positions of all the sensors
sg=zeros(Numberrow*Numbercolumn,5);
counter=1;
for z=1:(Numberrow*Numbercolumn)
sgy(z,2)=splitx-(sensorlength/2);
sgy(z,3)=splitx+(sensorlength/2);
sgy(z,4)=splity-(sensorwidth/2);
sgy(z,5)=splity+(sensorwidth/2);
counter=counter+1;
splitx=splitx+(lxplate/(Numbercolumn+1));
if counter==(Numbercolumn+1)
splitx=lxplate/(Numbercolumn+1);
splity=splity+(lyplate/(Numberrow+1));
counter=1;
end
end
clear counter z splitx splity
%%%This part of the code is for sensor which strains in the x - direction
splitx=lxplate/(Numbercolumn+1); %Dividing the length of the plate for placing of sensors
splity=lyplate/(Numberrow+1); %Dividing the length of the plate in the Y-direction
% for placing of sensors
% Array for loading the location positions of all the sensors
sgx=zeros(Numberrow*Numbercolumn,5);
counter=1;
for z=1:(Numberrow*Numbercolumn)
sgx(z,2)=splitx-(sensorwidth/2);
sgx(z,3)=splitx+(sensorwidth/2);
sgx(z,4)=splity-(sensorlength/2);
sgx(z,5)=splity+(sensorlength/2);
counter=counter+1;
splitx=splitx+(lxplate/(Numbercolumn+1));
72
end
if counter==(Numbercolumn+1)
splitx=lxplate/(Numbercolumn+1);
splity=splity+(lyplate/(Numberrow+1));
counter=1;
end
end
clear counter z
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
sensors=Numberrow+Numbercolumn;
output)
%Total Number of Outputs(Row output+column
if PZT==1
sg(:,2:5)=sg(:,2:5)/39.37; % change sensor parameters to meters
numseg=length(sg(:,1)); % number of sensors
elseif AFC==1
sgx(:,2:5)=sgx(:,2:5)/39.37; % change sensor parameters to meters
sgy(:,2:5)=sgy(:,2:5)/39.37;
numseg=length(sgx(:,1)); % number of sensors
end
%************************************************************************
%Specifying dt,Number of modes and Number of timesteps
%************************************************************************
modestart=input('
Enter the Starting Mode Number(Default=1)
='
);
if isempty(modestart), modestart=1;
end
modeend=input('
Enter
the
Number
of
modes
required
(Default=100)
='
);
if isempty(modeend), modeend=100;
end
ntp=input('
Enter the Number of time steps (Default=2000)
='
);
if isempty(ntp), ntp=2000;
end
dt=input('
Enter
the
Time
Increment
for
integration
loop
(Default=1e-6)
='
);
if isempty(dt), dt=1e-6;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if halfsineinput==1;
73
freq_input=input('
Enter the Frequency of Impulse Input (Hz) (Default=55000)Hz='
);
if isempty(freq_input), freq_input=55000;
end
omega_input=2*pi*freq_input;%rad/sec
impact=input('
Enter the type of impact (1. cyclic impact or 2. Half sine impact)'
);
if isempty(impact),impact=1
end
if impact==1
no_cycles=input('
Enter the number of cycles you want the input to act upon (Default=8)
='
);
if isempty(no_cycles), no_cycles=8;
end
end_forced_response=no_cycles/freq_input;
elseif impact==2
end_forced_response=input('
Enter the Time Upto which the Impact is to be acted upon
(Default=1/(2*freqency input) Sec='
);
if isempty(end_forced_response), end_forced_response=1/(2*freq_input);
end
end
end
Hcutoff=input('
Enter the filters High cut off frequency ='
);
Lcutoff=input('
Enter the filters lower cutt off frequency='
);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%
% POLARITY ORIENTATION OF THE SENSORS
%1. Same = [+ + + + + + +]
%2.Altenating = [+ - + - + -]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%
counter=1;
polarity=0;
%if u input polarity as 1
%solution is "SAME"
%if u input polarity as 2
%solution is "ALternating"
74
%polarity=input('
Enter the type of polarity needed 1.Same 2. Alternating (Default=1)
='
);
%f isempty(polarity), polarity=1;
% end
%****************************************************************************
*******************************
polarity=1;
if polarity==1
pol(1:numseg,1)=1;
elseif polarity==2
poling=ones(Numberrow,Numbercolumn);
for k=1:Numberrow
for z=1:Numbercolumn
poling(k,z)=(-1)^(z+k);
pol(counter,1)=poling(k,z);
counter=counter+1;
end
end
end
clear z k counter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%
%lxplate=34.5/39.37;
%lyplate=47.75/39.37;
%delx=(sg(:,3)-sg(:,2)); dely=(sg(:,5)-sg(:,4));
%divide x and y length of sensors for calculation of the average strain
k=1; % number of divisions per width and length
for qq=1:numseg
X2=sg(qq,3); X1=sg(qq,2); LX=X1-X2;
Y2=sg(qq,5); Y1=sg(qq,4); LY=Y1-Y2;
LXo(1,1)=X2; LXo(1,2:(k+1))=(LX/k)*[1:k]+X2;
LYo(1,1)=Y2; LYo(1,2:(k+1))=(LY/k)*[1:k]+Y2;
LX2(qq,1:k)=LXo(1:k); LX1(qq,1:k)=LXo(2:k+1);
LY2(qq,1:k)=LYo(1:k); LY1(qq,1:k)=LYo(2:k+1);
end
75
%AFC or PZT sensor&actuator Parameters/Properties
%****************************************************************************
******
pztwidth=sensorwidth/39.37 ;
% width of the PZT (meters)
pztlength=sensorlength/39.37 ;
% width of the PZT (meters)
nupzt=0.31;
% Poisson'
s ratio
eo=8.854e-12 ; %permittivity of free space (C^2/(N*m^2))% ?dielectric constant for
air(Farad/m = coulomb/(Volt*meter) )
%eo=eo*1.00054
%dielectric constant of air with respect to free space(vacuum)=1.00054
gammapzt=7700*gravity; %weight density (N/m^3)
rhopzt=gammapzt/gravity; %mass Density for AFS (kg/m^3)
if PZT==1
tpzt=0.01/39.37; % Thickness of the PZT actuator (meters)
CE11=61e9;
d31=(-10.9e-11);d32=d31;
% PZT induced strain constant, (m/volt)
Ae=pztlength*pztwidth;
%Area of the PZT
eTr=800 ;
% PZT dielectric constant relative to air, kair=1.00054
e=(1/(1-nupzt^2))*(d31+d32*nupzt)*CE11; %induced stress constant of PZT
eS=eTr*eo-2*e*d31;
% dielectric constant, constant strain (coulomb/(V*m) )
Cp=eS*Ae/tpzt;
% capcitance of PZT in farads =er*eo*Ae/h
elseif AFC==1
CE11=56e9;%/gravity; % short circuit stiffness or modulus PZT (N/m^2)
d31=(-155e-12);d32=d31;
% PZT induced strain constant, (m/volt)
eTr=500 ;
% PZT dielectric constant relative to air, kair=1.00054
e=d31*CE11; % induced stress constant of PZT ( N/(Volt*m) or coulomb/m^2)
eS=eTr*eo-d31*CE11*d31;
% dielectric constant, constant strain (coulomb/(V*m) )
%%%%%%%%%Calculating the area of the AFC patch
tfiber=265e-6;
wfiber=3*tfiber;
nfiber=12;
lenfiber=pztwidth;
Ae=nfiber*lenfiber*wfiber; % electrode area of PZT (m^2)
Cp=eS*Ae/tfiber;
% capcitance of PZT in farads =er*eo*Ae/h
end
% Plate vibration analysis input variables
%****************************************************************************
******
76
lxplate=lxplate/39.37;
lyplate=lyplate/39.37;
%width of the composite plate (meters)
%length of plate (meters)
if iso==1
Eplate=28.52e9;%Youngs modulus of the plate being used at University of Cincinnati
%Eplate=16.8e9;
nu=0.3;
nuplate=nu;
gammaplate=2.2e03*gravity;%2.2e03*gravity;%(.08*4.4482*39.37^3);%weight
density
fiberglass (.059Lb/in^3*4.4482N/lb*39.37^3in^3/m^3=N/m^3)
%rhoplate=gammaplate/gravity; %mass Density composite beam (kg/m^3)
rhoplate=2020.10; %kg/m3 This is calculated by weighing the plate at University of
Cincinnati. The weight was 42Pounds.
tplate=0.25/39.37;
D=Eplate*(tplate^3)/(12*(1-nuplate^2));
elseif ortho==1
%%%These values are only to check if the orthotropic equations isotropic value when the
values are same.
E2=28.52e9;%Pa
E1=16.8e9; %Pa
nu21=0.3;
nu12=0.15;
rhoplate=2020.10;%kg/m3
%G12=E1/(2*(1+nu12));%Isotropic condition
G12=3.1e9;
tplate=0.25/39.37;%inches/converstion = meters
%E2=27.72e9;%Pa
%E1=11.8e9; %Pa
%nu21=0.3;
%nu12=0.15;
%rhoplate=1941;%kg/m3
%G12=3.1e9;
%tplate=0.25/39.37;%inches/converstion = meters
%CALCULATE THE VALUES OF D11 D12 D66 D22
Q11=E1/(1-nu12*nu21);
Q12=nu12*E2/(1-nu12*nu21);
Q22=E2/(1-nu12*nu21);
Q66=G12;
D11=Q11*tplate^3/12;
77
D22=Q22*tplate^3/12;
D12=Q12*tplate^3/12;
D66=Q66*tplate^3/12;
end
%modestart=1;
% = the starting mode number in the response calculation
%modeend=10%100
% = the ending mode number in the response calculation
nmode=1+modeend-modestart;
%======================
%======================
%======================
%nxpoints=platelength;
%nypoints=platewidth;
nxpoints=platelength;%30 %100
nypoints=platewidth;%40 %100
x=( (0:1:nxpoints)*lxplate/nxpoints ).'
;
y=( (0:1:nypoints)*lyplate/nypoints ).'
;
% grid pattern for plotting wave displacements
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%
% EXCITATION LOCATION
%centre = 24,24
lxcrack=input('
Enter the Location of the crack on the plate in the X-direction (Default=24)= '
);
if isempty(lxcrack), lxcrack=24;
end
%24/39.37; %29.250/39.37; %17.25/39.37; %
%23.2500/39.37; %11.2500/39.37; %
(lxplate/2); %% ; X - LOCATION OF EXCITATION
lycrack=input('
Enter the Location of the crack on the plate in the Y-direction (Default=24)=
'
);%24/39.37; %7.250/39.37; %23.875/39.37; %
%15.5625/39.37; %32.1875/39.37; %
(lyplate/2); %% ; Y - LOCATION OF EXCITATION
if isempty(lycrack), lycrack=24;
end
lxcrack=lxcrack/39.37;
lycrack=lycrack/39.37;
%lxcrack=17.20/39.37; %5.250/39.37; %29.250/39.37; % %23.2500/39.37; %11.2500/39.37;
% (lxplate/2); %% ; X - LOCATION OF EXCITATION
%lycrack=40.500/39.37;
%24.375/39.37;
%7.250/39.37;
%
%32.1875/39.37;
%15.5625/39.37; % (lyplate/2); %% ; Y - LOCATION OF EXCITATION
%*************************************************************************
78
%Sensor array analysis input matrices/Variables
%These were generated using Kirchoffs Voltage law
%*************************************************************************
c=Numberrow+Numbercolumn;
d=Numberrow*Numbercolumn;
W5=zeros(c,d);
Wx=zeros(Numberrow,d);
Wy=zeros(Numbercolumn,d);
z=1;
%Generation of W5 array (Column output only)
for counter=1:Numbercolumn
f=counter;
while z<=Numberrow
W5(counter,f)=1;
f=f+Numbercolumn;
z=z+1;
end
z=1;
end
W5y=W5((1:Numbercolumn),:);
clear counter z f
%Generation of w5 array (Row output only)
z=1;
f=1;
for counter=(Numbercolumn+1):(Numbercolumn+Numberrow)
while z<=Numbercolumn
W5(counter,f)=1;
f=f+1;
z=z+1;
end
z=1;
end
W5x=W5((Numbercolumn+1):(Numbercolumn+Numberrow),:);
clear counter z c d f
%****************************************************************************
******
% ************************** plate Vibration Analysis *****************************
%
% The static deflection times Q is a rough check on the dynamic deflection
%****************************************************************************
******
%****************************************************************************
******
79
% Initialize variables
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%
if isteady==1
fdr=10
% frequency of sine Hz, steady or half sine shock input
T=1/fdr
Tpdt=T+dt;
wdr=2*pi*fdr; % driving frequency of sine input in rad/sec
end
t=zeros(ntp,1);
epsilon=zeros(ntp,1); % zero time and strain column vectors
nxpts=modeend*10 + 1; epsilondt=zeros(ntp,1);
alp=(1/4); del=(1/2); alp2=(1/4); del2=(1/2);% Newmark-beta integration parameters
alp3=(1/4); del3=(1/2); alp4=(1/4); del4=(1/2);
nspts=floor(ntp/plotfreq), isample=1;
%nspts=10;
tp=0; mnfreq=zeros(nmode,nmode);
ils=zeros(4,ntp);
iafc=zeros(ntp,1);
vafc=zeros(ntp,1);vafc_2=zeros(ntp,1);
ilso=[0; 0; 0; 0]; V=zeros(ntp,1); Vdt=0; % column vector of currents and current rates
xr=0; vr=0; ar=0; xrp1=0; vrp1=0; arp1=0; vold=0.;
xrx=0; vrx=0; arx=0; xrp1x=0; vrp1x=0; arp1x=0;
xry=0; vry=0; ary=0; xrp1y=0; vrp1y=0; arp1y=0;
xr4=zeros(sensors,1); vr4=zeros(sensors,1); ar4=zeros(sensors,1);
xr4x=zeros(Numberrow,1); vr4x=zeros(Numberrow,1); ar4x=zeros(Numberrow,1);
xr4y=zeros(Numbercolumn,1); vr4y=zeros(Numbercolumn,1); ar4y=zeros(Numbercolumn,1);
xrp14=zeros(sensors,1); vrp14=zeros(sensors,1); arp4=zeros(sensors,1);
xrp14x=zeros(Numberrow,1); vrp14x=zeros(Numberrow,1); arp4x=zeros(Numberrow,1);
xrp14y=zeros(Numbercolumn,1);
vrp14y=zeros(Numbercolumn,1);
arp4y=zeros(Numbercolumn,1);
arp14x=zeros(Numberrow,1);arp14y=zeros(Numbercolumn,1);
%=========================
%+++++++++++++++++++++++++
%+++++++++++++++++++++++++
%For dirac delta input
if impulsefrc==1 | isteady==1
%fo=-35e-05; % impulse excitation force (Newton)*(RISE TIME (sec))
%fo=-35e-3;
%fo=-20e-5;
%fo=-2.0927e-005;
%fo=-0.0206;
80
%fo=-0.00381;
fo=-2e-5;
end
%For half sine impulse input
if halfsineinput==1;
sensitivity_hammer=0.01;%volts/1 lbf Sensitivity of the hammer used at University of
Cincinnati
impulse_impact_volts=input('
Enter the Maximum amplitude of the impact (Default=-0.0148
Volts)='
);
if isempty(impulse_impact_volts), impulse_impact_volts=-0.0148;
end
impulse_impact_newtons=(impulse_impact_volts/sensitivity_hammer)*4.448;%Newtons ->where 4.448 is the conversion factor from lbf to Newtons
end
if istep==1
fo=-0.75; %-(0.500)*gravity;
% step excitation force (Newton) This value was computed
by william
end
if ipztactuator==1
%**************************
plate
Vibration
*****************************
%
% portion added for AFC patch actuation.
% actuator portion.
% PZT variables
%d31=150e-12;%110e-12;
%d31=0.0001
%d32=d31;%d32=0.0001
Epzt=CE11;%5.2e10%CE%5.2e10;%modulus of pzt.
inputV=-10;% input voltage actuation.
actx1=15.75/39.37; %5/39.37%19/39.37%5/39.37
actx2=16.25/39.37;%7/39.37%21/39.37%7/39.37
acty1=40.125/39.37;%5/39.37%19.5/39.37%5/39.37
acty2=40.375/39.37;%6/39.37%20.5/39.37%6/39.37
epsixpzt=d31*inputV/tpzt;
epsiypzt=d32*inputV/tpzt;
K=-(tpzt^2+tpzt*tplate)/(tpzt^2+((tplate^2)/6)+(4*(tpzt^3))/(3*tplate));
P=Epzt*(1-nuplate^2)*K/(Eplate*(1-nupzt^2));
GP11=(1-P);GP12=(nuplate-nupzt*P);
GP21=GP12;GP22=GP11;
GP=[GP11 GP12; GP21 GP22];
GPZT=[1 nupzt; nupzt 1];
EPZT=[epsixpzt;epsiypzt];
EP=inv(GP)*GPZT*EPZT*(-P);
epsixplate=EP(1,1);
Analysis
81
epsiyplate=EP(2,1);
C1=((tplate^2)/6)*(Eplate/(1-nuplate^2));
% pZt variables end with moment calculation
deltat=1e-05;
Fconst=4*deltat/(lxplate*lyplate*rhoplate*tplate);
%Fconst=4/(lxplate*lyplate*rhoplate*tplate);
end
if istep==1 | impulsefrc==1 | isteady==1
Mmnconst=4*fo/(rhoplate*tplate*lxplate*lyplate); %*(lxplate*lyplate)
end
if halfsineinput==1
Mmnconst=(impulse_impact_newtons*4)/(lxplate*lyplate*rhoplate*tplate);
end
w=zeros(nxpoints+1,nypoints+1,nspts);w_init=zeros(nxpoints+1,nypoints+1);
wx=zeros(nxpoints+1,nypoints+1,nspts); wx_init=w_init;
wy=zeros(nxpoints+1,nypoints+1,nspts); signd=zeros(numseg,1); %told=0.;
zeta=0.005
% damping ratio of plate for all modes
%zeta=0;
%zeta=zeta*ones(nmode,nmode);
theta=atan(zeta/sqrt(1-zeta^2));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%
%Calculation of flexural wave speed for the type of input chosen
%
%^ Initialize Modal parameters
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%
Amn1=zeros(nmode,nmode);Amn2=zeros(nmode,nmode);
spa=zeros(nmode,nmode,numseg);spax=zeros(nmode,nmode,numseg);spay=zeros(nmode,nmod
e,numseg);
tmp1=0.0;sigmam=zeros(1,nmode);sigman=zeros(1,nmode);wmn=zeros(nmode,nmode);wdmn=
zeros(nmode,nmode);
Mmn=zeros(nmode,nmode);
sinfun_natural_forced=0;
cosfun_natural_forced=0;
sinfun_impact_forced=0;
cosfun_impact_forced=0;
time_counter=0;
sinfun_natural_free1=0;
sinfun_natural_free2=0;
82
cosfun_natural_free1=0;
cosfun_natural_free2=0;
Amn_freeresponse=0;
Amn_freeresponsedt=0;
omega_counter=0;
speed_counter=0;
h = waitbar(0,'
Calculating Modal parameters...'
);
i=0;j=0; Alead0=(pi*(0.15e-4)^2); Alead=((6e-3)^2); sqrtAlead=sqrt(Alead);
for m=modestart:modeend
% loop on number of modes in response, m=mode no.
i=i+1;
for n=modestart:modeend
% loop on number of modes in response, n=mode no.
j=j+1;
sigmam(i)=m*pi/lxplate;
sigman(j)=n*pi/lyplate;
if ipztactuator==1
Moconst(i,j)=Mo1*(m*lyplate/(n*lxplate))+Mo2*(n*lxplate/(m*lyplate));
alpha1(i)=sigmam(i)*actx1; alpha2(i)=sigmam(i)*actx2;
beta1(j)=sigman(j)*acty1; beta2(j)=sigman(j)*acty2;
Fmn(i,j)=Fconst*Moconst(i,j)*(-1)*(cos(alpha1(i))-cos(alpha2(i)))*(cos(beta1(j))cos(beta2(j)));
end
if impulsefrc==1 | istep==1 | isteady==1
%Mmn(i,j)=Mmnconst*(Alead0/Alead)/(Alead)*(cos(sigmam(i)*(lxcrack+sqrtAlead))cos(sigmam(i)*(lxcrack)))*(cos(sigman(j)*(lycrack+sqrtAlead))-cos(sigman(j)*(lycrack)));
%Mmn(i,j)=Mmnconst*(Alead0/Alead)/(Alead)*sin(sigmam(i)*lxcrack)*sin(sigman(j)*lycrack)
;
Mmn(i,j)=Mmnconst*sin(sigmam(i)*lxcrack)*sin(sigman(j)*lycrack);
%Mmn(i,j)=Mmnconst*(Alead0/Alead)/(Alead)*sin(sigmam(i)*lxcrack)*sin(sigman(j)*lycrack)
;
end
if iso==1
wmn(i,j)=pi*pi*((m/lxplate)^2+(n/lyplate)^2)*sqrt(D/(rhoplate*tplate));
elseif ortho==1
wmn_square(i,j)=( pi^4/(rhoplate*tplate) )*(
D11*(m/lxplate)^4
2*(D12+2*D66)*(m/lxplate)^2*(n/lyplate)^2 ) + D22*(n/lyplate)^4 );
wmn=sqrt(wmn_square);
end
+
(
wdmn(i,j)=wmn(i,j)*sqrt(1-zeta^2);
%Calculation of flexural wave speed
if (iso==1)
Cf(i,j)=[D/(rhoplate*tplate)]^(1/4)*(wdmn(i,j))^(1/2);
end
83
%omega_counter=omega_counter+1;
%speed_counter=speed_counter+1;
%damped_omega(omega_counter)=wdmn(i,j);
%flexural_speed(speed_counter)=Cf(i,j);
if ipztactuator==1
Amn(i,j)=Fmn(i,j)/wdmn(i,j);
end
if impulsefrc==1
Amn(i,j)= Mmn(i,j)/wdmn(i,j) ; % IMPULSE or steady
end
if halfsineinput==1
%These are derived by Goutham
c_half(i,j)=zeta*wmn(i,j);
fo(i,j)=Mmnconst*sin(sigmam(i)*lxcrack)*sin(sigman(j)*lycrack);
B_halfsine(i,j)=(
fo(i,j)*(wmn(i,j)^2-omega_input^2)
)/(
(wmn(i,j)^2omega_input^2)^2 + (4*c_half(i,j)^2*omega_input^2)
);
A_halfsine(i,j)=(-B_halfsine(i,j)*2*c_half(i,j)*omega_input)/(wmn(i,j)^2omega_input^2);
c1_halfsine(i,j)=-A_halfsine(i,j);
c2_halfsine(i,j)=-(
(B_halfsine(i,j)*omega_input
+
A_halfsine(i,j)*c_half(i,j))/wdmn(i,j)
);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%
end
if istep==1
Amn1(i,j)= Mmn(i,j)/(wmn(i,j)^2) ;
Amn2(i,j)=Mmn(i,j)/(wmn(i,j)*wdmn(i,j));
STEP
end
if isteady==1
Amn3(i,j)= Mmn(i,j)/(wmn(i,j)^2) ;
end
%smn(i,j)=-sigmam(i)/sigman(j)sigman(j)/sigmam(i)+(sigmam(i)/sigman(j))*(sigman(j)/sigmam(i));
%
for p=1:numseg
%spa(i,j,p)=(tplate*0.5)*(smn(i,j))*sum(sum(((cos(sigmam(i)*LX2(p,:))cos(sigmam(i)*LX1(p,:)))'
*(cos(sigman(j)*LY2(p,:))-cos(sigman(j)*LY1(p,:))))));
if PZT==1
tmp1=0.0;%This is for PZT
84
tmp1=(cos(sigmam(i)*sg(p,3))-cos(sigmam(i)*sg(p,2)))*(cos(sigman(j)*sg(p,5))cos(sigman(j)*sg(p,4)));
spa(i,j,p)=(-tplate*0.5)*(((sigmam(i)/sigman(j))*tmp1)+((sigman(j)/sigmam(i))*tmp1)((-sigmam(i)/sigman(j))*(-sigman(j)/sigmam(i))*(tmp1^2)));
spax(i,j,p)=(-tplate*0.5)*(sigmam(i)/sigman(j))*tmp1;%Strain of PZT in x-direction
spay(i,j,p)=(-tplate*0.5)*(sigman(j)/sigmam(i))*tmp1;%Strain of PZT in y-direction
spaxy(i,j,p)=spax(i,j,p)+spay(i,j,p)+spax(i,j,p)*spay(i,j,p);
elseif AFC==1
tmpx=0.0;%This is for AFC
tmpy=0.0;%This is for AFC
tmpx=(cos(sigmam(i)*sgx(p,3))-cos(sigmam(i)*sgx(p,2)))*(cos(sigman(j)*sgx(p,5))cos(sigman(j)*sgx(p,4)));
tmpy=(cos(sigmam(i)*sgy(p,3))-cos(sigmam(i)*sgy(p,2)))*(cos(sigman(j)*sgy(p,5))cos(sigman(j)*sgy(p,4)));
%spa(i,j,p)=(tplate*0.5)*(smn(i,j))*sum(sum(((cos(sigmam(i)*LX2(p,:))cos(sigmam(i)*LX1(p,:)))'
*(cos(sigman(j)*LY2(p,:))-cos(sigman(j)*LY1(p,:))))));
%To calculate strain in the x and y direction separately
spax(i,j,p)=(-tplate*0.5)*(sigmam(i)/sigman(j))*tmpx;
spay(i,j,p)=(-tplate*0.5)*(sigman(j)/sigmam(i))*tmpy;
end
%tsum=tsum+spa(i,j,p);
end
end, j=0; waitbar(m/modeend,h)
end, i=0;close(h)
t0=0.0; %2.919e-03;
diff=0.0;
crossingsensors=zeros((Numberrow+Numbercolumn),1);
crossingsensors(1:Numbercolumn)=Numberrow;
crossingsensors(Numbercolumn+1:Numberrow+Numbercolumn)=Numbercolumn;
%This is for calculating the area (Prefarably used for AFC)
if AFC==1
diff=((sgx(p,3)-sgx(p,2))*(sgx(p,5)-sgx(p,4)));
end
halfsineinput_counter=1;
%^ Begin Time Analysis
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%
h = waitbar(0,'
Calculating Strains and Voltages...'
);
%This line runs twice for an half sine input or else it runs only once if it is for any other type of
input
it=0;
for it=1:1:ntp % loop on time points
85
t(it,1)=dt*(it-1)+t0; it=it;
if isample==plotfreq
timeconstants=t(it,1)
tp=tp+1
end
% tic
sumom=zeros(1,numseg) ;
sumomdt=zeros(1,numseg) ; tsum=zeros(nmode,nmode);
%sum over the modes
sumomx=zeros(1,numseg) ;
sumomdtx=zeros(1,numseg) ;sumomy=zeros(1,numseg) ;
sumomdty=zeros(1,numseg) ;
sumom1=zeros(nmode,nmode,numseg) ;
sumomdt1=zeros(nmode,nmode,numseg) ;
sspa=zeros(nmode,nmode,numseg); %sum over the modes
sumom1x=zeros(nmode,nmode,numseg) ;
sumomdt1x=zeros(nmode,nmode,numseg)
;sumom1y=zeros(nmode,nmode,numseg) ; sumomdt1y=zeros(nmode,nmode,numseg) ;
% Compute strain responses of plate for step input
if istep==1
sinfun=sin((wdmn*t(it,1))-theta); cosfun=cos((wdmn*t(it,1))-theta);
expfun=exp(-zeta*(wmn*t(it,1)));
%Tmn=Amn1-Amn2.*expfun.*cosfun;
Tmn=Amn1-Amn2.*expfun.*cosfun;
Tmndt=Amn2.*(zeta*wmn).*expfun.*cosfun+Amn2.*expfun.*wdmn.*sinfun;
Tmn2dt=Amn2.*(-(zeta*wmn).^2).*expfun.*cosfun
+
Amn2.*(zeta*(wdmn.*wmn)).*expfun.*sinfun + Amn2.*(-zeta*wmn).*expfun.*wdmn.*sinfun +
Amn2.*expfun.*(wdmn.^2).*cosfun;
end
% Compute strain responses of plate for impulse input
if impulsefrc==1 | ipztactuator==1
sinfun=sin(wdmn*t(it,1)); cosfun=cos(wdmn*t(it,1));
expfun=exp(-zeta*wmn * t(it,1));
Tmn=Amn.*expfun.*sinfun;
Tmndt=Amn.*(-zeta*wmn).*expfun.*sinfun + Amn.*expfun.*wdmn.*cosfun;
Tmn2dt=Amn.*((-zeta*wmn).^2).*expfun.*sinfun
+
Amn.*(zeta*(wdmn.*wmn)).*expfun.*cosfun
+
Amn.*(-zeta*wmn).*expfun.*wdmn.*cosfun
+
Amn.*expfun.*(wdmn.^2).*sinfun;
end
if halfsineinput==1
%This set of coding is for the forced response of the system
if t(it,1)<=end_forced_response
%This is derived by Goutham
86
Tmn=exp(-c_half.*t(it,1)).*(
c1_halfsine.*cos( wdmn.*t(it,1) )+ c2_halfsine.*sin(
wdmn.*t(it,1) )
) + A_halfsine.*cos( omega_input.*t(it,1) )
+
B_halfsine.*sin(
omega_input.*t(it,1) );
Tmndt=-omega_input.*A_halfsine.*sin(
omega_input.*t(it,1)
)
+
B_halfsine.*omega_input.*cos( omega_input.*t(it,1) ) +
exp( -c_half.*t(it,1) ).*(
c1_halfsine.*(-wdmn).*sin( wdmn.*t(it,1) ) + c2_halfsine.*cos( wdmn.*t(it,1) ).*wdmn ) +
exp( -c_half.*t(it,1) ).*(-c_half).*( c1_halfsine.*cos( wdmn.*t(it,1) ) + c2_halfsine.*sin(
wdmn.*t(it,1) ) );
time_counter=it;
Tmnlast=Tmn;
Tmndtlast=Tmndt;
tlast=t(it,1);
elseif t(it,1)>end_forced_response
expfun_halfsine=exp(-c_half.*t(it,1));
cosfun_halfsine=cos(wdmn.*t(it,1));
sinfun_halfsine=sin(wdmn.*t(it,1));
expfun_halfsine1=exp(-c_half.*tlast);
cosfun_halfsine1=cos(wdmn.*tlast);
sinfun_halfsine1=sin(wdmn.*tlast);
A_freeresponse=((Tmndtlast.*sinfun_halfsine1./expfun_halfsine1)-(
(Tmnlast./expfun_halfsine1).*(
(wdmn.*cosfun_halfsine1) - (c_half.*sinfun_halfsine1) )
) )./(
(
(cosfun_halfsine1.*(-c_half) wdmn.*sinfun_halfsine1).*sinfun_halfsine1)
- ( (wdmn.*cosfun_halfsine1 - c_half.*sinfun_halfsine1).*cosfun_halfsine1 )
);
B_freeresponse=((Tmnlast./expfun_halfsine1)
(A_freeresponse.*cosfun_halfsine1) )./sinfun_halfsine1;
Tmn=expfun_halfsine.*(A_freeresponse.*cosfun_halfsine
+
B_freeresponse.*sinfun_halfsine );
Tmndt=expfun_halfsine.*(-A_freeresponse.*sinfun_halfsine.*wdmn
+
B_freeresponse.*cosfun_halfsine.*wdmn ) + Tmn.*(-c_half);
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if isteady==1
sinfun=sin(wmn*t(it,1));cosfun=cos(wmn*t(it,1));
%Equation assumed is A*cos(wt)+B*sin(wt)
Tmn=Amn3*sinfun/(2*zeta);
Tmndt=Amn3*cosfun*wmn/(2*zeta);
Tmn2dt=-Amn3*sinfun*(wmn^2)/(2*zeta);
87
end
for r=1:numseg
if PZT==1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%
%STRAIN OF PZT
sumom1(1:nmode,1:nmode,r)=Tmn.*spaxy(1:nmode,1:nmode,r)/Ae; %(delx*dely);
%where Ae is the area (delta x * delta y) in the formulae
% sum strain for mode mn
sumomdt1(1:nmode,1:nmode,r)=Tmndt.*spaxy(1:nmode,1:nmode,r)/Ae; %(delx*dely);
% sum strain rate for mode mn
% sum of strains for all sensor segments
sumom(r)=sum(sum(sumom1(1:nmode,1:nmode,r)));
sumomdt(r)=sum(sum(sumomdt1(1:nmode,1:nmode,r)));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%
%STRAIN OF PZT IN X-DIRECTION
sumom1_x(1:nmode,1:nmode,r)=Tmn.*spax(1:nmode,1:nmode,r)/Ae; %(delx*dely);
sumomdt1_x(1:nmode,1:nmode,r)=Tmndt.*spax(1:nmode,1:nmode,r)/Ae; %(delx*dely);
%Sum of strains for all sensor segments
sumom_x(r)=sum(sum(sumom1_x(1:nmode,1:nmode,r)));
sumomdt_x(r)=sum(sum(sumomdt1_x(1:nmode,1:nmode,r)));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%
%STRAIN OF PZT IN Y-DIRECTION
sumom1_y(1:nmode,1:nmode,r)=Tmn.*spay(1:nmode,1:nmode,r)/Ae; %(delx*dely);
sumomdt1_y(1:nmode,1:nmode,r)=Tmndt.*spay(1:nmode,1:nmode,r)/Ae; %(delx*dely);
%Sum of strains for all sensor segments
sumom_y(r)=sum(sum(sumom1_y(1:nmode,1:nmode,r)));
sumomdt_y(r)=sum(sum(sumomdt1_y(1:nmode,1:nmode,r)));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%
%Strain of PZT in x and y direction combined together
sumom1xy(1:nmode,1:nmode,r)=Tmn.*spaxy(1:nmode,1:nmode,r)/Ae; %(delx*dely);
%where Ae is the area (delta x * delta y) in the formulae
% sum strain for mode mn
sumomdt1xy(1:nmode,1:nmode,r)=Tmndt.*spaxy(1:nmode,1:nmode,r)/Ae;
%(delx*dely);
% sum strain rate for mode mn
% sum of strains for all sensor segments
sumomxy(r)=sum(sum(sumom1xy(1:nmode,1:nmode,r)));
88
sumomdtxy(r)=sum(sum(sumomdt1xy(1:nmode,1:nmode,r)));
elseif AFC==1
%Average strain in x-direction
sumom1x(1:nmode,1:nmode,r)=Tmn.*spax(1:nmode,1:nmode,r)/diff;%(delx*dely); %
sum strain for mode mn
%where diff is the area of the AFC patch
%Average strain in the y-direction
sumom1y(1:nmode,1:nmode,r)=Tmn.*spay(1:nmode,1:nmode,r)/diff; %(delx*dely);
%First derivative of the term amn which is Tmn in the code written as Tmndt
%X-direction
sumomdt1x(1:nmode,1:nmode,r)=Tmndt.*spax(1:nmode,1:nmode,r)/diff; %(delx*dely);
% sum strain rate for mode mn
%Y-direction
sumomdt1y(1:nmode,1:nmode,r)=Tmndt.*spay(1:nmode,1:nmode,r)/diff; %(delx*dely);
% sum strain rate for mode mn
% sum of strains for all sensor segments
sumomx(r)=sum(sum(sumom1x(1:nmode,1:nmode,r)));
sumomy(r)=sum(sum(sumom1y(1:nmode,1:nmode,r)));
sumomdtx(r)=sum(sum(sumomdt1x(1:nmode,1:nmode,r)));
sumomdty(r)=sum(sum(sumomdt1y(1:nmode,1:nmode,r)));
end
end
strain_pzt(it,:)=sumom;%Strain of PZT '
derived by william'
strain_pztx(it,:)=sumom_x;% strain of PZT in x-direction only
strain_pzty(it,:)=sumom_y;%strain of PZT in y-direction only
strain_pztxy(it,:)=sumomxy;%Strain of PZT ....This is to check if the variable strain_pzt is
same as
%variable strain_pztxy. strain_pztxy is obtained by directly doing the
following
%Strain_pztxy = strain_pztx + strain_pzty - (strian_pztx)(strain_pzty)
w_cnt(it,1)=sum(sum(Tmn.*((
sin(
sigmam*(lxcrack)
)'
*(sin(sigman*(lycrack))))));%Displacement of the plate
wx_cnt(it,1)=sum(sum((tplate/2)*(sigmam.^2)*(Tmn.*((sin(sigmam*(lxcrack)))'
*(sin(sigman*(lycrack)))))));%Strain
of the plate
wy_cnt(it,1)=sum(sum((tplate/2)*(sigman.^2)*(Tmn.*((sin(sigmam*(lxcrack)))'
*(sin(sigman*(lycrack)))))));%Strain
of the plate
%accel_cnt(it,1)=sum(sum(Tmn2dt.*((sin(sigmam*(lxcrack)))'
*(sin(sigman*(lycrack))))));
%volt_cnt(it,1)=((accel_cnt(it,1))/gravity)*(0.110);
)
x
y
89
z=tplate/2;% change this when the actuator/sensor is embedded. Right now
% it is modeled as actuator/sensor placed on the surface of the place.
% displacement and strain responses of S-S-S-S plate
if isample==plotfreq & showplot==1
for ii=1:nxpoints
for jj=1:nypoints
% displacement normal to plate
tempmat=Tmn.*((sin(sigmam*x(ii)))'
*(sin(sigman*y(jj))));
w(ii,jj,tp)=sum(sum(tempmat));
% strain in x direction
wx(ii,jj,tp)=sum(sum(z*(sigmam.*sigmam)*tempmat));
% strain in y direction
wy(ii,jj,tp)=sum(sum(z*(sigman.*sigman)*tempmat));
% wy(:,:,tp)=wy(:,:,tp) + tplate*sigman*sigman*tempmat;
end
end
end %isample
if isample>=plotfreq
isample=-1;
end
isample=isample+1;
sumondt5=0.0;
if PZT==1
sumomdt5=sum(sumomdt);
elseif AFC==1
sumomdt5x=sum(sumomdtx);
sumomdt5y=sum(sumomdty);
end
% Newmark-beta integration for sum of , and individual, sensor voltages.
Re=1.0e6+3;% Re= impedance of the oscilloscope+resistance due to wire and area
tol=1e-12; newmarkconverge= 1e2;
arp=0.0;arp1=0.0;%vr=0;
if PZT==1
for iter=1:newmarkconverge
arp1=-(e*Ae*sumomdt5+numseg*vr)/(Re*Cp);
vrp1=vr+((1-del)*ar+(del)*arp1)*dt;
xrp1=xr+vr*dt+((0.5-alp)*ar+(alp)*arp1)*dt*dt;
90
err=arp1-arp;
if abs(err) < tol
break
end
arp=arp1;
end
xr=xrp1;
vr=vrp1;
ar=arp1; %iter
vafc(it,1:numseg)=-vr*Re;svafc(1,it)=-vr*Re;
epsilon(it,1:numseg)=sumom; epsilondt(it,1:numseg)=sumomdt;
sepsilon(1,it)=sum(sumom); sepsilondt(1,it)=sum(sumomdt);
charge(it,1:numseg)=xr;
%%%%%%%%%%%%%% end of first Newmark-beta integration
elseif AFC==1
for iter=1:newmarkconverge
%Only in the X-Direction
arp1x=-(e*Ae*sumomdt5x+numseg*vrx)/(Re*Cp);
vrp1x=vrx+((1-del)*arx+(del)*arp1x)*dt;
xrp1x=xrx+vrx*dt+((0.5-alp)*arx+(alp)*arp1x)*dt*dt;
errx=arp1x-arp;
if abs(errx) < tol
break
end
arpx=arp1x;
%Only in the Y-Direction
arp1y=-(e*Ae*sumomdt5y+numseg*vry)/(Re*Cp);
vrp1y=vry+((1-del)*ary+(del)*arp1y)*dt;
xrp1y=xry+vry*dt+((0.5-alp)*ary+(alp)*arp1y)*dt*dt;
erry=arp1y-arp;
if abs(erry) < tol
break
end
arpy=arp1y;
end
xrx=xrp1x; vrx=vrp1x;
xry=xrp1y; vry=vrp1y;
arx=arp1x; %iter
ary=arp1y;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
91
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%% Newmark-beta integration for the (6) Continuous array output voltages.
Re=1.0e6;% Re= impedance of the oscilloscope+resistance due to wire and area
tol4=1e-11;
if PZT==1
for iter=1:newmarkconverge
%In the below mentioned equation Re+crossingsensors*1 denotes the resistence
encountered
%by the closed circuit due to Re (oscilloscope resistance)and crossingsensors*1 indicates
%the resistance due to the number of sensors in that neuron and each wire is given a
%resistance of 1ohm
%arp14 is the first derivative of current
arp14=((e*Ae)*(W5)*(sumomdtxy'
.*pol)(crossingsensors.*vrp14))./(Cp*(Re+crossingsensors*1));
%arp14=((e*Ae/Cp)*(W5)*(sumomdt'
.*pol))((crossingsensors.*vrp14)./(Cp*(Re+crossingsensors*1)));
%vrp14 is the current that is generated
vrp14=vr4+((1-del4)*ar4+(del4)*arp14)*dt;
err4=arp14-arp4;
if abs(err4)<tol4
break
end
arp4=arp14;
end
xr4=xrp14; vr4=vrp14;
ar4=arp14; %iter
%cntarray6 displayed here is the voltage generated due to an impulse
% the voltage generated is across the oscilloscope
cnvt6(1,1:sensors)=(vr4)'
; cntarray6(it,:)=cnvt6.*Re;
elseif AFC==1
for iter=1:newmarkconverge
% Only for x-direction
arp14x=((e*Ae)*(W5x)*(sumomdtx'
.*pol)(crossingsensors(Numbercolumn+1:Numberrow+Numbercolumn).*vrp14x))./(Cp*(Re+crossing
sensors(Numbercolumn+1:Numberrow+Numbercolumn)*1));
vrp14x=vr4x+((1-del4)*ar4x+(del4)*arp14x)*dt;
err4x=arp14x-arp4x;
if abs(err4x)<tol4
break
end
92
arp4x=arp14x;
% Only for y-direction
arp14y=((e*Ae)*(W5y)*(sumomdty'
.*pol)(crossingsensors(1:Numbercolumn).*vrp14y))./(Cp*(Re+crossingsensors(1:Numbercolumn)*1))
;
vrp14y=vr4y+((1-del4)*ar4y+(del4)*arp14y)*dt;
err4y=arp14y-arp4y;
if abs(err4y)<tol4
break
end
arp4y=arp14y;
end
xr4x=xrp14x; vr4x=vrp14x;
xr4y=xrp14y; vr4y=vrp14y;
ar4x=arp14x; %iter
ar4y=arp14y; %iter
%cntarray6 is the voltage generated across the oscilloscope which is obtained by multiplying the
value of the current
%obtined from the newark beta integration
cnvt6x(1,1:Numberrow)=(vr4x)'
; cntarray6x(it,:)=cnvt6x.*Re;
cnvt6y(1,1:Numbercolumn)=(vr4y)'
; cntarray6y(it,:)=cnvt6y.*Re;
end
%%%%%%%%%%%%%% end of fourth Newmark-beta integration
waitbar(it/ntp,h)
end % time loop
% toc
close(h);
m_mode=modestart:modeend;
n_mode=modestart:modeend;
wavelength_lambda=(2*lxplate)./m_mode;
freqn_hz_max=wmn(nmode,nmode)/(2*pi)
w=w*1e6; % micro-m units
wx=wx*1e6; wy=wy*1e6; ifigure=1;
% micro-strain units
if printfreq==1
figure(ifigure), surf( mnfreq ), ifigure=ifigure+1;
for m=1:nmode
wavelength(m)=2*lxplate/m;
end
figure(ifigure), plot( wavelength.*39.37 ),
ifigure=ifigure+1;
93
title('
Wavelength of Modes');
xlabel('
Mode Number'
)
ylabel('
Wavelength (inches)'
)
end
%Displacement (W) plots and movie of displacement wave propagation
minaxis=-1; maxaxis=1;
%minaxis=-2; maxaxis=2;
wxpy=wx+wy;
if imovieplot==1
for iterplot=1:nspts
%for iterplot=1:10
scrsz=get(0,'
Screensize'
);
ff=figure('
Position'
,[scrsz(1),scrsz(2),scrsz(3),scrsz(4)]);
%surf( wxpy(:,:,iterplot) );%activate this for strain displ. plots
%mesh( wxpy(:,:,iterplot) );
cmap=colormap;
colormap([cmap;flipud(cmap)]);
%colormap([0 0 0])
%colormap([0 0 0])
surf( w(:,:,iterplot) )%activate this for displacement plots
%axis( [ 0 nxpoints 0 nypoints minaxis maxaxis]);
%axis( [ 0 50 0 50 -0.005 0.05 ]);
Movwcnt7_03(iterplot)=getframe;
%zlabel('
Displacement (micro-m)'
)
%title('
Displacement (W) Wave Propagation');
zlabel('
Strain wx+wy (micro-strain)'
)
title('
Strain Wave Propagation');
% asymmetric lamb waves or plate waves
% make viewgraph of wave types
xlabel('
X Axis'
)
ylabel('
Y Axis'
)
close(ff)
end
% movie file name **************
% statement for movie file save
save '
Movie_03.mat'Movwcnt7_03
end% end imovieplot
save w.mat
save nspts.mat
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
94
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if showplot==1
for iterplot=1:nspts
%iterplot=iterplot
figure(ifigure)
%scrsz=get(0,'
Screensize'
);
%figure('
Position'
,[scrsz(1),scrsz(2),scrsz(3),scrsz(4)])
%urf( wxpy(:,:,iterplot) );%activate this for strain displ. plots
%mesh(wxpy(:,:,iterplot));
%colormap([0 0 0])
surf( w(:,:,iterplot) )%activate this for displacement plots
%mesh(w(:,:,iterplot));
cmap=colormap;
colormap([cmap;flipud(cmap)]);
%colormap([0 0 0])
%axis( [ 0 nxpoints 0 nypoints -0.5 0.5]);
%axis( [ 0 50 0 50 -0.005 0.05 ]);
%axis( [ 0 50 0 50 -0.05 0.05 ]);
%axis( [ 0 50 0 50 0 0.05 ]);
% movie file name *****************
%contour(w(:,:,iterplot))
%Movwcnt7(iterplot)=getframe;
%COLORBAR('
vert'
)
zlabel('
Displacement (micro-m)'
)
title('
Displacement (W) Wave Propagation');
% zlabel('
Strain wx+wy (micro-strain)'
)
%title('
Strain Wave Propagation');
% asymmetric lamb waves or plate waves
% make viewgraph of wave types
xlabel('
X Axis'
)
ylabel('
Y Axis'
)
ifigure=ifigure+1;
%close
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%
%Plotting of results starts here
if iso==1
for loop1=1:modeend
wavespeed(loop1)=Cf(loop1,loop1);
Frequency(loop1)=wdmn(loop1,loop1)/(2*pi);
end
95
figure(ifigure)
plot(Frequency,wavespeed)
title('
Plot of Frequency Vs wavespeed'
)
xlabel('
Frequency '
)
ylabel('
Wave speed'
)
grid
ifigure=ifigure+1;
clear loop1
end
figure(ifigure)
plot(t,w_cnt)
title('
Plot of Displacement of the plate'
)
xlabel('
Time (Sec)'
)
ylabel('
Displacement (Metres)'
)
grid
ifigure=ifigure+1;
figure(ifigure)
plot(t,wx_cnt)
title('
Plot of Strain of the plate (X-Direction)'
)
xlabel('
Time (Sec)'
)
ylabel('
Strain (Non-Dimensionless)'
)
grid
ifigure=ifigure+1;
figure(ifigure)
plot(t,wy_cnt)
title('
Plot of Strain of the plate (Y-Direction)'
)
xlabel('
Time (Sec)'
)
ylabel('
Strain (Non-Dimensionless)'
)
grid
ifigure=ifigure+1;
figure(ifigure)
plot(t,strain_pztx)
title('
Plot of Strain of PZT (X-Direction)'
)
xlabel('
Time (Sec)'
)
ylabel('
Strain (Non-Dimensionless)'
)
grid
ifigure=ifigure+1;
figure(ifigure)
plot(t,strain_pzty)
title('
Plot of Strain of PZT (Y-Direction)'
)
96
xlabel('
Time (Sec)'
)
ylabel('
Strain (Non-Dimensionless)'
)
grid
ifigure=ifigure+1;
figure(ifigure)
plot(t,strain_pzt)
title('
Plot of Strain of the PZT'
)
xlabel('
Time (Sec)'
)
ylabel('
Strain (Non-Dimensionless)'
)
grid
ifigure=ifigure+1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%
figure(ifigure)
subplot(2,1,1);plot(t,strain_pztx(:,3))
title('
Plot of Strain of PZT 1 (X-Direction)'
)
ylabel('
Strain (Dimensionless)'
)
subplot(2,1,2);plot(t,strain_pztx(:,4))
title('
Plot of Strain of PZT 2 (X-Direction)'
)
xlabel('
Time (Sec)'
)
ylabel('
Strain (Dimensionless)'
)
grid
ifigure=ifigure+1;
figure(ifigure)
subplot(2,1,1);plot(t,strain_pzty(:,3))
title('
Plot of Strain of PZT 1 (Y-Direction)'
)
ylabel('
Strain (Dimensionless)'
)
subplot(2,1,2);plot(t,strain_pzty(:,4))
title('
Plot of Strain of PZT 2 (Y-Direction)'
)
xlabel('
Time (Sec)'
)
ylabel('
Strain (Dimensionless)'
)
grid
ifigure=ifigure+1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%
figure(ifigure)
plot(t,strain_pztxy)
title('
Plot of Strain of the PZT for checking with the previous graph'
)
xlabel('
Time (Sec)'
)
ylabel('
Strain (Non-Dimensionless)'
)
grid
97
ifigure=ifigure+1;
figure(ifigure)
plot(m_mode,wavelength_lambda)
title('
Plot of wavelength as a function of mode number'
)
xlabel('
Mode Number'
)
ylabel('
Wavelength (metre)'
)
grid
ifigure=ifigure+1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%
%Plotting the impact time signal for the simulation part
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%
figure(ifigure)
plot(t,w_cnt)
title('
Plot of Displacement of the plate'
)
xlabel('
Time (Sec)'
)
ylabel('
Displacement (Metres)'
)
grid
ifigure=ifigure+1;
if halfsineinput==1
signal=impulse_impact_newtons*sin(omega_input.*t(1:time_counter));
figure(ifigure)
plot(t(1:time_counter),signal)
title('
Plot of Impact Time history generated in simulation'
)
xlabel('
Time (Sec)'
)
ylabel('
Voltage (Volts)'
)
ifigure=ifigure+1;
%To calculate the area under the simulated half sine excitation
summation=0;
abs_impact=abs(signal);
diff_time=abs(t(1)-t(2));
for loop=1:length(signal)
summation=(abs_impact(loop)*diff_time)+summation;
end
clear loop
Area=summation
end
98
%Hcutoff=35000;
%Lcutoff=45000;%Filtering the neurons
figure(ifigure)
plot( t, cntarray6)
title('
Plot of Voltages'
)
xlabel('
Time (Sec)'
)
ylabel('
Voltage (Volts)'
)
title('
Plot of Neuronal outputs'
)
legend('
Voltage 1'
,'
Voltage 2'
,'
Voltage 3'
,'
Voltage 4'
)
grid
ifigure=ifigure+1;
raw_signal=cntarray6;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%For Amplificiation
raw_signal10=abs(raw_signal).*10; % Voltage after rectifiction and amplification
for kk=1:(Numberrow+Numbercolumn)
for z=1:length(raw_signal10)
if raw_signal10(z,kk)>=fire
switch1(z,kk)=1;
elseif raw_signal10(z,kk)<fire
switch1(z,kk)=0;
end
system_vol(z,kk)=raw_signal10(z,kk)*switch1(z,kk);
end
end
clear kk
output_c_vol=zeros(ntp,1);
output_r_vol=zeros(ntp,1);
for kk=1:Numbercolumn
output_c_vol=system_vol(:,kk)+output_c_vol; % Sum of the array voltage column-wise
end
clear kk
for kk=(Numbercolumn+1):(Numbercolumn+Numberrow)
output_r_vol=system_vol(:,kk)+output_r_vol;
end
figure(ifigure)
plot(t,system_vol(:,1:Numbercolumn)); % Voltage of column sensors after switch
title('
Individual Sensor Response after amplification(Column Sensors)'
)
xlabel('
Time (Sec)'
)
ylabel('
Voltage (volts)'
)
ifigure=ifigure+1;
figure(ifigure)
99
plot(t,system_vol(:,Numbercolumn+1:Numbercolumn+Numberrow)); % Voltage of row
sensors after switch
title('
Individual Sensor Response after amplification(Row Sensors)'
)
xlabel('
Time (Sec)'
)
ylabel('
Voltage (volts)'
)
ifigure=ifigure+1;
for loop=1:Numbercolumn
switch1(:,loop)=switch1(:,loop).*loop;
end
clear loop
figure(ifigure)
plot(t,switch1(:,1:Numbercolumn),'
.'
)
title('
Firing of the Neuron Switches in the Y-Direction'
)
xlabel('
Time (Sec)'
)
ylabel('
Neuron Number'
)
ifigure=ifigure+1;
loop=1;
for rowloop=(Numbercolumn+1):(Numberrow+Numbercolumn)
switch1(:,rowloop)=switch1(:,rowloop).*loop;
loop=loop+1;
end
clear rowloop loop
figure(ifigure)
plot(t,switch1(:,Numbercolumn+1:Numberrow+Numbercolumn),'
.'
)
title('
Firing of the Neuron Switches in the X-Direction'
)
xlabel('
Time (Sec)'
)
ylabel('
Neuron Number'
)
ifigure=ifigure+1;
figure(ifigure)
plot(t,output_r_vol) % System output for row of sensors
title('
Output voltage from a set of sensors(Row Sensors)'
)
xlabel('
Time (Sec)'
)
ylabel('
Voltage (volts)'
)
legend('
System Ouput Voltage(Row)'
)
ifigure=ifigure+1;
figure(ifigure)
plot(t,output_c_vol) % System output for column of sensors
title('
Output voltage from a set of sensors(Column Sensors)'
)
100
xlabel('
Time (Sec)'
)
ylabel('
Voltage (volts)'
)
legend('
System Ouput Voltage(Column)'
)
ifigure=ifigure+1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%This the new type of analysis signal which we plan to use for the disclosure
%Do not use this for any results that are being shown until the prof approves this
%for disclosure
%Different levels of firing voltage set to the system.
fire1=fire+0.2;
fire2=fire1+0.2;
fire3=fire2+0.5;
raw_signal10=abs(raw_signal).*10; % Voltage after rectifiction and amplification
for kk=1:(Numberrow+Numbercolumn)
for z=1:length(raw_signal10)
if raw_signal10(z,kk)>=fire
switch1(z,kk)=1;
elseif raw_signal10(z,kk)<fire
switch1(z,kk)=0;
end
system_vol(z,kk)=raw_signal10(z,kk)*switch1(z,kk);
end
end
clear kk
figure(ifigure)
for loop=1:Numbercolumn
switch1(:,loop)=switch1(:,loop).*loop;
for counter=1:length(t)
if (system_vol(counter,loop)>=fire)&(system_vol(counter,loop)<fire1)
plot(t(counter),switch1(counter,loop),'
.r'
)%Blue color
elseif (system_vol(counter,loop)>=fire1)&(system_vol(counter,loop)<fire2)
plot(t(counter),switch1(counter,loop),'
.b'
)%Green color
elseif (system_vol(counter,loop)>=fire2)&(system_vol(counter,loop)<fire3)
plot(t(counter),switch1(counter,loop),'
.g'
)%Red color
elseif system_vol(counter,loop)>=fire3
plot(t(counter),switch1(counter,loop),'
.y'
)%cyan color
end
hold on
end
end
101
clear loop counter
ifigure=ifigure+1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(ifigure)
subplot(4,1,1),plot(t,cntarray6(:,1));
grid
title('
Plot of Unfiltered Simulated data with Impact Input'
);
subplot(4,1,2),plot(t,cntarray6(:,2));
grid
subplot(4,1,3),plot(t,cntarray6(:,3));
grid
subplot(4,1,4),plot(t,cntarray6(:,4));
grid
ifigure=ifigure+1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%
%Plot of FFT of the signal
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%
final_t=t(length(t));
delta_t=t(2)-t(1);
df=1/final_t;
final_f=1/delta_t;
freq_axis=0:df:final_f;
fft_signal=abs(fft(raw_signal));
new_f=freq_axis( 1:length(freq_axis)/2 );
new_fft=fft_signal( 1:length(fft_signal)/2
);
figure(ifigure)
plot(new_f,new_fft)
grid
title('
Plot of FFT of the signal'
)
xlabel('
Frequency(Hz)'
)
ylabel('
Amplitude'
)
ifigure=ifigure+1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
102
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%This part of the code is to filter out frequencies and pass on only the high frequency content
only
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%The value of dt which is the time increment is obtained from the user.This value of
%"dt" is used to calculate the Sampling Frequency which is used for normalization in the
%"ellip" command. This is because the command "ellip" accepts values for Wn only between the
range
%0 and 1 and so in order to normalize it we use the Sampling Frequency to divide it.
dt=abs(t(1)-t(2));
Fs=0;b=0;a=0;
Fs=1/dt;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%
%High Pass Filter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%
[bH,aH]=ellip(4,0.5,40,Hcutoff*2/Fs,'
High'
);
bH=bH'
;aH=aH'
;
Filtered_1=filter(bH,aH,cntarray6(:,1));
Filtered_2=filter(bH,aH,cntarray6(:,2));
Filtered_3=filter(bH,aH,cntarray6(:,3));
Filtered_4=filter(bH,aH,cntarray6(:,4));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%
%Low Pass Filter
[bL,aL]=ellip(4,0.5,40,Lcutoff*2/Fs);
bL=bL'
;aL=aL'
;
Filtered1=filter(bL,aL,Filtered_1);
Filtered2=filter(bL,aL,Filtered_2);
Filtered3=filter(bL,aL,Filtered_3);
Filtered4=filter(bL,aL,Filtered_4);
clear Filtered_1 Filtered_2 Filtered_3 Filtered_4 aH bH bL aL
clear cntarray6;
cntarray6=[Filtered1 Filtered2 Filtered3 Filtered4];
final_t=t(length(t));
delta_t=t(2)-t(1);
df=1/final_t;
103
final_f=1/delta_t;
freq_axis=0:df:final_f;
fft_signal=abs(fft(cntarray6));
new_f=freq_axis( 1:length(freq_axis)/2 );
new_fft=fft_signal( 1:length(fft_signal)/2
);
%figure(ifigure)
%plot(new_f,new_fft)
%grid
% title('
Plot of FFT of the signal'
)
% xlabel('
Frequency(Hz)'
)
% ylabel('
Amplitude'
)
%ifigure=ifigure+1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%
%To plot the filtered Time domain signals
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%
figure(ifigure)
subplot(4,1,1),plot(t,Filtered1);
title('
Plot of Filtered time domain signals (Simulated)'
)
ylabel('
Voltage (Volts)'
)
grid
subplot(4,1,2),plot(t,Filtered2);
ylabel('
voltage (Volts)'
)
grid
subplot(4,1,3),plot(t,Filtered3);
ylabel('
Voltage (Volts)'
)
grid
subplot(4,1,4),plot(t,Filtered4);
ylabel('
Voltage (Volts)'
)
xlabel('
Time (Sec)'
)
grid
ifigure=ifigure+1;
figure(ifigure)
plot(t,cntarray6(:,1))
grid
title('
V1-Simulation'
)
ifigure=ifigure+1;
104
figure(ifigure)
plot(t,cntarray6(:,2))
grid
title('
V2-Simulation'
)
ifigure=ifigure+1
figure(ifigure)
plot(t,cntarray6(:,3))
grid
title('
V3-Simulation'
)
ifigure=ifigure+1;
figure(ifigure)
plot(t,cntarray6(:,4))
grid
title('
V4-Simulation'
)
ifigure=ifigure+1
figure(ifigure)
mesh(m_mode,n_mode,wdmn./(2*pi))
title('
Plot of Frequency as a function of mode numbers'
)
xlabel('
Mode M'
)
ylabel('
Mode N'
)
zlabel('
Frequency (Hz)'
)
ifigure=ifigure+1;
if iso==1
figure(ifigure)
mesh(m_mode,n_mode,Cf)
title('
Plot of wave speed as a function of Mode numbers'
)
xlabel('
Mode M'
)
ylabel('
Mode N'
)
zlabel('
Flexural Wave Speed (m/sec)'
)
ifigure=ifigure+1;
end
%damped_frequency=damped_omega./(2*pi);
%figure(ifigure)
%plot(damped_frequency,flexural_speed)
%title('
Variation of Frequency with Flexural Wave speed'
)
105
%xlabel('
Frequency (Hz)'
)
%ylabel('
Flexural wave speed (m/sec)'
)
%grid
%ifigure=ifigure+1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%
%To run the MOVIE
%fps=1; %frames per second
%load Movie_03.mat;
%scrsz=get(0,'
Screensize'
);
%ff1=figure('
Position'
,[scrsz(1),scrsz(2),scrsz(3),scrsz(4)]);
%movie(Movwcnt7_03,1,fps);
%close(ff1);
%Plotting of impact time signal
save cntarray6.mat
save t.mat
save raw_signal.mat
norm=raw_signal(:,1)/max(raw_signal(:,1));
save norm.mat
figure(ifigure)
plot(t,norm)
grid
ifigure=ifigure+1;
106
© Copyright 2026 Paperzz