92
Engineering, Computer Programming, and Technology Department of Electrical and Computer Engineering Technology - ECET EET 4950 Senior Design Project An Accurate, Inexpensive Scintillometer Submitted by Ben Reber, Christopher Smith & Marc Bradman Supervised by Professor Ali Notash December 5, 2016

Senior Design Project - Scintillometer

Embed Size (px)

Citation preview

Page 1: Senior Design Project - Scintillometer

i

Engineering, Computer Programming, and Technology

Department of Electrical and Computer Engineering Technology - ECET

EET 4950

Senior Design Project

An Accurate, Inexpensive

Scintillometer

Submitted by

Ben Reber, Christopher Smith & Marc Bradman

Supervised by

Professor Ali Notash

December 5, 2016

Page 2: Senior Design Project - Scintillometer

i

Abstract

A scintillometer is a scientific instrument that is used to measure small fluctuations of the

refractive index of air caused by variations in temperature, humidity, and pressure. It

consists of an optical or radio wave transmitter and a receiver at opposite ends of an

atmospheric propagation path. The receiver detects and evaluates the intensity fluctuations

of the transmitted signal through the atmosphere, called scintillation.

The magnitude of the refractive index fluctuations is usually measured in terms of

Cn2, which is the structure constant of refractive index fluctuations. Costly types of

scintillometers can measure the inner scale of refractive index fluctuations, which are the

smallest size eddies in the inertial subrange, allow measurements of the transfer of heat

between the Earth’s surface and the air above, called the sensible heat flux, and can also

measure the dissipation rate of turbulent kinetic energy and the momentum flux.

Scintillometers are also useful in free space optical (FSO) communications systems

development. FSO communication offers enormous bandwidth, is cost effective and offers

highly secure data links. However, it has some potential drawbacks as well. FSO

communication links deteriorate significantly due to atmospheric turbulence and weather

conditions (fog or clouds). This makes scintillometers a valuable tool in measuring the

disturbances in the atmosphere that would disrupt line-of-sight optical communications

systems. These disturbances in the atmosphere cause scintillation, a flash or sparkle of light.

Major effects include beam wandering and beam breathing.

For this project, a two-aperture scintillometer will be executed with the purpose of

measuring the refractive index structure Cn2, scintillation index, and inner scale values

along a low trajectory range at Kennedy Space Center. This varies from other scintillometer

designs through the use of a single transmitter signal and multiple apertures at a fraction of

the cost of commercially available scintillometers.

Page 3: Senior Design Project - Scintillometer

ii

Acknowledgements

The team would like to thank the following people for their influence on this project:

Dr. Larry Andrews for his tireless work and patient explanations of the intricate

mathematics of scintillation index and inner scale calculations.

Dr. Ronald Phillips for his hardware advice and physical theory, as well as his infinite

patience.

Mr. Robert Crabbs for assistance with funding and perspective on the mounting hardware.

Mr. Joseph Coffaro for his assistance with hardware and theory.

Professor Ali Notash for his guidance, direction and encouragement.

Christopher would also like to thank Sara Belichki for her support in embedded system data

collection and operations.

Page 4: Senior Design Project - Scintillometer

iii

Table of Contents

Abstract ................................................................................................................................𝒊

Acknowledgements ........................................................................................................... 𝒊𝒊

List of Figures ..................................................................................................................... 𝒗

List of Tables .................................................................................................................... 𝒗𝒊

Chapter 1 General Introduction ....................................................................................... 1

1.1 Introduction and Problem Statement ................................................................................... 2

1.2 Principles of Scintillation .................................................................................................. 2

1.3 Organization of the Report ............................................................................................... 5

Chapter 2 Pedagogy ........................................................................................................... 7

2.1 Introduction ................................................................................................................ 8

2.2 Scientific Principles .................................................................................................... 8

2.2.1 Interactions between Light and Matter ................................................................ 8

2.2.2 Components and Circuits .................................................................................... 9

2.2.3 Optical Detectors and Systems .......................................................................... 11

2.2.4 Principles of Diode Lasers................................................................................. 14

2.2.5 Optical Filters .................................................................................................... 17

2.2.6 Geometry of Light Signals ................................................................................ 18

2.2.7 Digital Signal Processing .................................................................................. 21

2.3 Mathematical Theory of Scintillation ...................................................................... 27

Chapter 3 Contribution ................................................................................................... 33

3.1 Introduction .............................................................................................................. 34

3.2 Scintillometer Design ............................................................................................... 34

3.2.1 Transmitter Design ............................................................................................ 34

3.2.2 Channel .............................................................................................................. 38

3.2.3 Receiver Design ................................................................................................ 39

3.3 Results and Discussion ............................................................................................. 45

Chapter 4 Non-Technical Issues ..................................................................................... 49

4.1 Budget ...................................................................................................................... 50

4.2 Environmental Aspects ............................................................................................ 50

4.3 Health and Safety ..................................................................................................... 51

4.4 Ethical Aspects ......................................................................................................... 52

4.5 Social Aspects .......................................................................................................... 52

4.6 Sustainability ............................................................................................................ 53

Chapter 5 Conclusion ...................................................................................................... 55

5.1 Summary and Conclusions ....................................................................................... 56

5.2 Suggestions for Future Work ................................................................................... 56

Page 5: Senior Design Project - Scintillometer

iv

References ......................................................................................................................... 58

Appendix A: Variables & Data ....................................................................................... 61

Appendix B: Code ............................................................................................................ 64

Page 6: Senior Design Project - Scintillometer

v

List of Figures

Figure 1 Propagation Geometry for an Extended Medium ........................................4

Figure 2 Photograph of Intensity Beam Profile

after Propagating through Extended Turbulence .........................................5

Figure 3 Basic NPN Transistor ................................................................................10

Figure 4 Integral Laser Processes .............................................................................15

Figure 5 Fabry-Perot Diode Laser Cavity ................................................................16

Figure 6 Traditional Optical Filter Construction ......................................................18

Figure 7 Two Dimensional Angle (L) and Three Dimensional Angle (R) ..............19

Figure 8 Radiant Power Transfer from Transmitter to Receiver..............................20

Figure 9 Aperture Stop Limiting Field of View .......................................................21

Figure 10 Digital Signal Processing System ..............................................................21

Figure 11 Discrete vs. Continuous Signal ..................................................................22

Figure 12 Sampling Frequency vs. Signal Frequency ................................................23

Figure 13 Analog to Digital Conversion ....................................................................24

Figure 14 Infinite vs. Finite Precision ........................................................................24

Figure 15 Quantized Error ..........................................................................................25

Figure 16 Temporal vs. Spectral Components ...........................................................26

Figure 17 24-hour Cn2 Profile .....................................................................................29

Figure 18 CAD Rendering of L660P120 Laser Diode ...............................................35

Figure 19 Transmitter Design Schematic Part A ........................................................36

Figure 20 Transmitter Design Schematic Part B ........................................................36

Figure 21 CAD Drawing of LTN330-C .....................................................................37

Figure 22 Constructed Transmitter mounted on Backplane .......................................38

Figure 23 Transmission Profile of FB660-10.............................................................39

Figure 24 SM05PD1B Photodiode Responsivity .......................................................40

Figure 25 Detector 1 Schematic .................................................................................41

Figure 26 Detector 2 Schematic .................................................................................41

Figure 27 Uncalibrated ...............................................................................................42

Figure 28 Partially Calibrated ....................................................................................43

Figure 29 Fully Calibrated .........................................................................................43

Figure 30 LED Bar Graph Display Circuit ................................................................44

Page 7: Senior Design Project - Scintillometer

vi

Figure 31 Constructed Receiver before Enclosure .....................................................45

Figure 32 BLS vs. D1 Aperture..................................................................................46

Figure 33 RAW (11/19/2016) ....................................................................................47

Figure 34 MODEM (11/19/2016) ..............................................................................48

Figure 35 Class IIIB Danger Signage .........................................................................51

Figure 36 Common Diode Laser Failure Modes ........................................................53

List of Tables

Table 1 Bill of Component Materials .....................................................................50

Page 8: Senior Design Project - Scintillometer

- 1 -

Chapter 1

General Introduction

1.1 Introduction and Problem Statement

1.2 Principles of Scintillation

1.3 Organization of the Report

Summary

In this chapter, the topic of scintillometry is introduced, as are the key players in the

field, and the role of the project. Next presented are the basic principles of

scintillation. The first step in solving any problem is identifying the traits of the

problem being solved. Finally in this chapter, the remainder of this report is laid out

for the reader.

Page 9: Senior Design Project - Scintillometer

- 2 -

1.1 Introduction and Problem Statement

Commercial scintillometry is a relatively new field, with only a couple of companies

making scintillometers, primarily for meteorological applications. Scintec, the major

producer of commercial scintillometers, has its main offices in Rottenburg, Germany, with

North American offices in Boulder, Colorado since 2012. Much of the technology for

scintillometers is still being developed through research. The primary contributors to the

field are Dr. Ronald Phillips and Dr. Lawrence Andrews. Their work in scintillation theory

and inner-scale measurement outlined in Laser Beam Scintillation with Applications [1]

has led directly to the development of commercial scintillometers. Their theory continues

to push the boundaries of understanding of scintillation through quantifying inner- and

outer-scale, and measurement of scintillation indices and the refractive index structure, Cn2.

Currently, only the Scintec SLS20 measures inner-scale values, at the cost of tens of

thousands of dollars. To further Dr. Phillips’ and Dr. Andrews’ work, a custom short-range

scintillometer is to be built with the intent of experimentation and theory validation.

1.2 Principles of Scintillation

Scintillation can be seen when stars twinkle in the sky, or when the heat rises off the

pavement, causing light rays to bend along the optical axis with respect to a viewer, also

known as a mirage. Rapid changes in the brightness of a light source viewed at distance

causes different light rays to bend and expand or focus as a result of optical turbulence. The

atmosphere interacts with light due to the composition of the atmosphere which, under

normal conditions, consists of a variety of different molecules and small suspended

particles called aerosols. This interaction produces a wide variety of optical phenomena,

including selective attenuation of radiation that propagates in the atmosphere, absorption

at specific optical wavelengths due to the molecules, and generation of scattering loss.

Scintillation due to the variation of the air’s refractive index under the effects of

temperature, such as star twinkle, also occur due to refraction as a result of propagation

effects through the layered quasi-homogeneous structure of the atmosphere as a gaseous

continuum, causing optical rays to propagate in paths curving towards the ground.

Atmospheric turbulence is generated by the temperature difference between the

Earth’s surface and the atmosphere, and exist in the form of eddies. The severity of the

Page 10: Senior Design Project - Scintillometer

- 3 -

turbulence is based on how big these eddies are, and the strength of the wind shear, which

is the difference in wind speed and/or direction between the outside of the eddy and the

inside. These eddies mix and churn the atmosphere, causing water vapour, smoke, aerosols

and other substances, as well as energy, to become distributed both vertically and

horizontally.

Atmospheric turbulence near the Earth’s surface differs from that at higher

altitudes. Within a few hundred meters of the surface, turbulence has a marked diurnal

variation under partly cloudy and sunny skies, reaching a maximum about midday. This

occurs due to solar radiation heating the surface of the planet, the air above it becomes

warmer and more buoyant. The cooler denser air descends to displace it. The resulting

vertical movement of air, combined with flow disturbances around surface obstacles, makes

low-level winds extremely irregular.

At night, the surface of the Earth cools rapidly, chilling the air near the ground.

When that air becomes cooler than the air above it, a stable temperature inversion is created,

and wind speed and gustiness both decrease sharply. When the sky is overcast, low-level

air temperatures vary much less between day and night, and turbulence remains nearly

constant.

Scintillation is the product of light interacting with the medium of the Earth’s

atmosphere and the particulates within it. Light passing through a homogeneous medium,

such as the vacuum of space, moves in a straight line called a ray. However, when light

travels from one medium to another, several things happen at the interface, including

reflection, refraction, absorption, and scattering effects.

Page 11: Senior Design Project - Scintillometer

- 4 -

The index of refraction of air in the atmosphere is dependent upon several factors

– pressure, temperature, and composition.

Figure 1. Propagation Geometry for an Extended Medium [18]

This means that over longer paths through the atmosphere, the variations in these

conditions will produce different indices of refraction, and bend the light ray. This is the

measurement of turbulence in the atmosphere and scintillation.

The two most common results of scintillation are beam wandering and beam

breathing. The result of the beam wandering and beam breathing is a skewed center profile

from the perspective of the receiver. In free-space optical communication systems, this

translates into signal degradation, a higher Bit-Error Rate, and distortion of the beam image.

A scintillometer measures these variations of light intensity over time. The

instrument consists of an optical transmitter and receiver at opposite ends of an atmospheric

propagation path. The receiver detects the beam’s average intensity I and evaluates the

normalized variance of irradiance fluctuations of the transmitted signal, which is also

known as scintillation. The scintillation index can also be thought of as the variance of the

intensity fluctuations divided by the mean squared. The formula for scintillation index 𝜎2

is described as,

𝜎2 =<𝐼2>−<𝐼>2

<𝐼>2=

<𝐼2>

<𝐼>2− 1 [unitless] (1.1)

Page 12: Senior Design Project - Scintillometer

- 5 -

The magnitude of the refractive index fluctuations is usually measured in terms of

Cn2 which is the structural constant of refractive index fluctuations. Modulation transfer

functions describe how lenses faithfully reproduce images. When applied to the

atmosphere, they can also be measurable in Cn2. Some types of scintillometers, such as

displaced beam scintillometers or multiple aperture scintillometers, can also measure the

inner scale refractive index fluctuations, which is the smallest size of turbulent eddies in

the inertial subrange.

Figure 2: Photograph of Intensity Beam Profile after Propagating through Extended

Turbulence. [18]

1.3 Organization of the Report

Chapter 2 of this report attempts to encompass the scientific foundations that have led to

the building of a scintillometer capable of measuring inner-scale and refractive indices of

turbulence over a low, open area with a short range of 150m. Topics will also cover the

theoretical mathematics of scintillation and inner-scale calculations from Dr. Lawrence

Andrews’ work.

Chapter 3 defines the design and build of the scintillometer, the role it plays in the

research at TISTEF, and the validation of this build compared to a Scintec commercially

available scintillometer, the BLS900.

Page 13: Senior Design Project - Scintillometer

- 6 -

Chapter 4 will explore the budget restrictions of the project, environmental impacts,

health and safety issues, the ethical challenges faced, social impacts of the project, and

sustainability.

Chapter 5 will summarize the findings of the project, as well outline intended ideas

for future improvements.

Page 14: Senior Design Project - Scintillometer

- 7 -

Chapter 2

Pedagogy

2.1 Introduction

2.2 Scientific Principles

2.3 Mathematical Theory of Scintillation

Summary

In this chapter, we present the scientific foundations and learning that contributed

to the knowledge and understanding making this project possible. Initially, a brief

introduction defines the purpose of this chapter.

Following the introduction is a survey of various topics covered in the degree

programs as they pertain to the project.

Lastly in this chapter is the mathematical theory of scintillation and how it is to be

calculated from measured light signals.

Page 15: Senior Design Project - Scintillometer

- 8 -

2.1 Introduction

To understand the problem fully, a background on the science and mathematics behind the

various components and processes is in order. The topics come from classes taken by the

authors of this report, and theory will be explored from the texts with appropriate in-text

citation. The intent is to provide sufficient understanding of the underlying concepts for

someone with a technical background to understand the design and processes of the

scintillometer build.

2.2 Scientific Principles

2.2.1 Interactions between Light and Matter

Visible light is an electromagnetic wave occurring at wavelengths between approximately

380nm and 750nm [2], [3], [7].

Reflection of light waves occur because the frequency of the light wave does not

match the natural frequency of vibration of the material. When light waves of these

frequencies strike an object, the electrons in the atoms of the material begin vibrating. The

material’s electrons do not vibrate in resonance at a large amplitude, but instead vibrate for

brief periods of time with small amplitudes of vibration. The energy is re-emitted as a light

wave. If the object is transparent to the light, then the vibrations of the electrons are passed

on to neighbouring atoms through the bulk of the material and re-emitted on the opposite

side of the object. Such frequencies are said to be transmitted. If the object is opaque to the

incoming light wave frequency, then the vibrations of the electrons are not passed from

atom to atom through the bulk of the material, and the surface atoms re-emit the energy as

a reflected light wave.

Absorption occurs when the light wave frequency is resonant with the vibration

frequency of the electrons in the material, the electrons will absorb the energy of the light

wave, and transform it into vibrational motion. During this vibrational motion, the electrons

interact with adjacent atoms in such a manner as to convert its vibrational energy into

thermal energy. Subsequently, the light wave with that frequency is absorbed by the object.

Refraction occurs during transmission of a light wave. The index of refraction of a

material is a measure of the change in speed and wavelength of a light wave within the new

Page 16: Senior Design Project - Scintillometer

- 9 -

material. As this happens, the light wave bends its trajectory. The severity of this bend

depends upon the incident angle of the ray, and the index of refraction of the material as

defined by the Law of Refraction, or, Snell’s Law [2], [3], [7]:

𝑛1𝑠𝑖𝑛𝜃1 = 𝑛2𝑠𝑖𝑛𝜃2 (2.1)

where n1 and n2 are the indices of refraction for two mediums at their interface, and θ1

and θ2 are the angles the ray of light makes with the normal of the interface.

In the atmosphere, clear air is approximated at an index of refraction of 1. Water

has an index of refraction of 1.33. Other aerosols will have other indices. As light of

different wavelengths interact within the atmosphere, all of these effects are taking place.

It is the interaction of shorter blue wavelengths with water droplets high in our atmosphere

that cause our sky to appear blue. This is Rayleigh scattering, where the molecules and

particles are very tiny – less than 1/10th the wavelength of the light wave. Larger particles

produce Mie scattering, which is not strongly wavelength dependent and produces the

almost white glare around the sun [2].

2.2.2 Components and Circuits

Electrical and electronic circuits are typically designed using components such as resistors,

capacitors, inductors, transistors and more. These basic building blocks make up every

integrated circuit and device used in the modern world. Circuits are designed using three

fundamental scientific laws – Ohm’s law and Kirchhoff’s voltage and current laws [4].

They are the laws that explain how electric potential (voltage) is drawn through a device at

a current (amperes). The power of a device is the product of its necessary voltage and the

rate at which it consumes that voltage.

Direct current (DC) sources provide a unidirectional flow of electric charge. It is

the type of source batteries, power supplies, and dynamos are. The electrons flow in a

constant direction, distinguishing from alternating current (AC) sources. Alternating

current sources provide an electric current which periodically reverses direction [4]. This

is the type of power typically found in receptacles. The typical frequency of AC power

receptacles in the United States is 60Hz.

Circuits with both inductance and capacitance can exhibit the property of resonance,

which is important in many types of applications. Resonance is the basis for frequency

Page 17: Senior Design Project - Scintillometer

- 10 -

selectivity in communication systems [4]. The reactance of inductors and capacitors

determine whether a circuit is predominantly capacitive or inductive. When the reactance

of the inductors and capacitors in a circuit are equal, they cancel out, being 180o out of

phase [4].

In electronics, noise is a random fluctuation in an electrical signal, a characteristic

of all electronic circuits. Thermal noise is unavoidable at non-zero temperatures. In

communication systems, noise is an error or undesired random disturbance of a useful

information signal. The noise is a summation of unwanted or disturbing energy from natural

and man-made sources [7]. Stray magnetic fields from transformers and power lines can

induce a harmonic 60Hz in nearby circuits.

Transistors are the components that make many circuits possible. They are critical

as control sources, switches, nonlinear mixers, and amplifiers. Fundamentally, transistors

are three-terminal devices. On a bipolar junction transistor (BJT) the three terminals are

labelled collector, base, and emitter.

Transistors rely on semiconductors to function. A semiconductor is a material that

acts as an insulator or as a conductor, depending upon variables such as temperature or the

presence of more or less electrons. Transistors are made by doping a piece of intrinsic

silicon so part is n-type and the other part is p-type [5].

Figure 3. Basic NPN Transistor [5]

Page 18: Senior Design Project - Scintillometer

- 11 -

The n-type material, usually silicon atoms and pentavalent impurity atoms such as

antimony, possess extra electrons. The p-type material, usually silicon atoms and trivalent

impurity atoms such as boron, possess holes in their atomic structure – places where

electrons would be to make fully stable atoms. Since the number of protons and the number

of electrons are equal throughout the p-type material, there is no net charge in the material,

so it is neutral [5].

The boundary between the two regions is a pn-junction. This pn-junction creates a

diode. The p-region has many holes (majority carriers) from the impurity atoms and only a

few thermally generated free electrons (minority carriers). The n-region has many free

electrons (majority carriers) from the impurity atoms and only a few thermally generated

holes (minority carriers) [5].

At the instant the pn-junction is formed, the free electrons near the junction in the n

region begin to diffuse across the junction into the p region, where they combine with holes

near the junction. When the pn-junction is formed, the diffusion of charges creates a layer

of negative charges near the junction. These two layers of positive and negative charges

form a depletion region, which carries a barrier potential. The depletion region expands

until equilibrium is established [5].

Biasing, in essence, is applying a voltage at the collector of the transistor that sets

the value of the barrier potential. Thus, acting as a switch, the signal entering at the base

must overcome the biasing voltage at the collector, or exit the transistor via the emitter. The

typical potential drop across the emitter is 0.7V. This is important as at voltages less than

0.7V, the transistor will not be active. For an accurate switch response, the minimum

potential must be maintained for the transistor to be active.

2.2.3 Optical Detectors and Systems

When a beam of light leaves a source, it displays a spreading of the beam, or divergence.

Light also diverges when it is purposefully collimated, or unidirectional, such as a laser

beam. The power contained in the beam at a source, will still be the same power if measured

from a short distance. However, since the light diverges, a receiver will only detect a portion

of the light power being transmitted. This is why most optical receivers have larger

apertures than the transmitters. These are all concerns to be taken into consideration when

designing the receiver portion of a light-based communications system.

Page 19: Senior Design Project - Scintillometer

- 12 -

When an ideal laser beam leaves its source, it will display a spot size of radius 𝜔

on a projected surface normal to the optical axis the light is pointed along. This point is

referred to as the 𝐼0/𝑒2 point, and is the radial distance at which the light intensity falls to

roughly 13.5% and is barely detectable by the human eye. At a point where z = 0 closest

to the source, or at the point beyond a laser’s collimating lens where the laser’s spot is the

smallest intensity projection, is called the beam’s waist, 𝜔0. This is an estimation as light

measurement is limited by the accuracy of the instruments involved, but an ideal laser

closely imitates a Gaussian beam [9]. It is of note that a diode laser beam is not circular in

shape, but elliptical, having a fast-diverging axis and slow-diverging axis. This is discussed

in section 2.2.4. This affects the following intensity calculations and will have to be

considered.

Identifying the beam’s waist, 𝜔0, and the separation distance, z, away from the

source, it is possible to calculate the size of the beam waist at distance z by the following,

𝜔 = 𝜔02 [1 + (

𝜆𝑧

𝜋𝜔02)

2

]1/2

(2.2)

With the calculated spot radius 𝜔 at distance z from the transmitter, and knowing

the intensity at the closest point to the source, it is possible to calculate the approximate

intensity given for light passing through an aperture of radius 𝛼 by,

𝐼 = 𝐼0𝑒−2(𝛼

𝜔)

2

(2.3)

Identifying the irradiance seen at the detector is a crucial step in any light-based

systems link. However, knowing the intensity seen by the receiver is not the only important

step involved. The photoelectric material used in photodetectors in incapable of perfect

efficiency. The photodetector must be chosen to match the optical wavelength being

transmitted [7].

When light hits the surface of the detector material in a photodiode, the energy in

the photon is wavelength dependent.

Page 20: Senior Design Project - Scintillometer

- 13 -

𝐸 = ℎ𝑐/𝜆 (2.4)

The reaction of the material in a photodiode creates electron movement within the

pn-junction due to the photoelectric effect. A negative photo-current, I, is induced as the

energy of the photon overcomes the inertia of the electron in its orbit, dislodging it. The

incident optical power is then converted imperfectly. Quantum efficiency 𝜂 can be

characterized as the number of electron-hole pairs generated divided by the number of

incident photons detected on the material within the diode. The process is described by

𝐼𝑃ℎ𝑜𝑡𝑜𝑐𝑢𝑟𝑟𝑒𝑛𝑡 = 𝑒𝜂𝑃/𝐸 (2.5)

Thus, the photodetector characteristic of responsivity can be defined as the ratio of

photocurrent generated over the incident power, or the efficiency electrons are dislodged

in proportion to the energy of the incoming photons.

ℜ =𝐼𝑝

𝑃= 𝜂𝑒/𝐸 (2.6)

Responsivity plays a key role in optical detectors as it is used to compare the strengths and

weaknesses of different detectors for given wavelengths. A higher responsivity factor is

desired.

Noise is also an important consideration in electro-optical designs, as it can be

sourced from both the optical side and the electronics side. Considerations must be made

for temperature, material composition, the ambient electrical noise contained in Wi-Fi and

RF signals among others. Leakage noise is produced by the material composition of the

photodiode, as it is not an ideal device. Leakages noise 𝐼𝑁 behaves as a Poisson distribution

and is related to the amount of dark current 𝐼𝑑 of the photodiode under normal operation

and no light. Shot noise 𝐼𝑆𝐻, is signal dependent, and rises as the amount of light is incident

on the diode. It also behaves as a Poisson distribution and appears as fluctuations in the

photocurrent 𝐼𝑃 for both biased and unbiased configurations. Johnson noise, or thermal

noise 𝐼𝐽, is attributed to thermal movement of electrons which can be observed in linear

Page 21: Senior Design Project - Scintillometer

- 14 -

passive resistors [7]. The formulas for noise, where B represents bandwidth, R is resistance,

T is temperature in degrees Kelvin, and K is the Boltzmann’s constant are as follows,

𝐼𝑁 = (2𝑒𝐵𝐼𝑑)1

2 (2.7)

𝐼𝑆𝐻 = (2𝑒𝐵𝐼𝑃)1

2 (2.8)

𝐼𝐽 = (4𝐾𝑇𝐵/𝑅)1

2 (2.9)

𝐼𝑡𝑜𝑡𝑎𝑙 = (𝐼𝑁2 + 𝐼𝑆𝐻

2 + 𝐼𝐽2)

1

2 (2.10)

2.2.4 Principles of Diode Lasers

The interaction of radiation and matter within semiconductors give rise to light emitting

diodes (LEDs) and diode lasers. The dual nature of light as both particle and wave must be

considered in the case of diode lasers. The particle nature is useful in understanding the

process of photon production. The wave nature is useful in understanding how a coherent

beam of light is produced within the laser’s optical resonant cavity [7].

The emission process in semiconductors relies on the construction of the

semiconductor outlined earlier. When an electron drops from the bottom of the conduction

band to the top of the valence band, the energy shows up as a photon with wavelength λ

[7].

𝜆 =ℎ𝑐

𝐸𝑔 (2.11)

This equation is known as Planck’s law, where h is Planck’s constant, c is the speed

of light, and Eg is the band gap energy needed for the transition to occur. This is the

interaction of radiation and matter at the quantum level. This process is fundamental to all

optoelectronic devices since the photon is the basic unit of energy exchange [3], [7].

In the construction of the semiconductor, attention must be paid to the lattice

structure of the crystal itself. The structure in a typical diode laser is a homojunction, where

the lattice constant has no mismatches; the spacing between lattice structures does not

increase beyond a certain amount or non-radiative emission occurs. Usually, the lattice is

Page 22: Senior Design Project - Scintillometer

- 15 -

made of Gallium Arsenide (GaAs). The structure consists of a pn-junction from which

radiation can be either emitted or absorbed. When the structure is forward biased, carriers

become trapped between the barrier potentials. The net result of the mechanisms of carrier

and optical confinement work together to provide a device of high efficiency and high

radiance [7].

The basic principles of lasers extend to diode lasers as well. The word laser is an

acronym for Light Amplification through Stimulated Emission of Radiation. To produce

laser action or stimulated emission, three basic processes are involved: photon absorption,

spontaneous emission, and stimulated emission [3], [7].

Figure 4. Integral Laser Processes [11]

Firstly, an electron becomes excited through the addition of energy, causing it to

attain a higher level than its normal ground state. This excited energy state lasts an atomic

lifetime, and the electron emits the energy as a photon as it seeks to return to ground level.

The photon emitted is of a wavelength equal to the energy level decrease. This is

spontaneous emission, where the photon emitted travels in a random direction. If a photon

of the same wavelength passes an excited electron, the electron will emit a photon in the

same direction and phase as the passing photon per Planck’s law.

The probability distribution of particles in a system over various possible states is

known as a Boltzmann distribution [10]. It states that a system will be in a certain state as

a function of that state’s energy and the temperature of the system. In an at-rest laser system,

the active medium has a population of atoms in a non-excited, or ground state. To achieve

lasing action, population inversion must be achieved. Population inversion is the pumping

of energy into the active medium to invert the Boltzmann distribution, placing the majority

of the atoms in the active medium into an excited state. Thus, many instances of stimulated

emission occur, with light being spatially and temporally coherent.

Page 23: Senior Design Project - Scintillometer

- 16 -

To aid in magnifying this effect, an optical resonator must be created to direct and

trap the stimulated emission, magnifying it. In the structure of the diode laser, a double

heterojunction configuration confines both carriers and optical energy, creating a Fabry-

Perot resonator [7].

Figure 5. Fabry-Perot Diode Laser Cavity [11]

Typical dimensions of this cavity are approximately 250 to 500 micrometers long and 5

to 15 micrometers thick.

The output emission, or far-field pattern from a Fabry-Perot diode laser takes on an

elliptical shape. This is because of the geometry of the active layer and the mirror facets.

The Fabry-Perot structure contains cavity modes due to the resonance of the optical wave.

Characterizing the forward beam requires two specifications for beam divergence angle.

The beam angle 𝜃∥ is the beam angle at half-maximum for the divergence parallel to the

semiconductor active layer. The beam angle 𝜃⊥ is the beam angle at half-maximum for the

divergence perpendicular to the semiconductor active layer [7]. The perpendicular angle of

divergence spreads at a greater rate than the parallel angle. Thus, when discussing the

Page 24: Senior Design Project - Scintillometer

- 17 -

divergence angles, the perpendicular axis is referred to as the fast axis, whereas the parallel

axis is referred to as the slow axis.

The relatively short stimulated lifetime allows diode laser modulation at much

higher speeds than LEDs – more than 1GHz. This can be accomplished by modulating the

diode laser in its operating region above the threshold current. If the diode laser is

completely turned off during pulse modulation, it will take a time period that depends upon

the spontaneous lifetime before stimulated emission occurs again [7].

2.2.5 Optical Filters

Optical filters can be used to attenuate or enhance an image, transmit or reflect specific

wavelengths, and /or split an image into two identical images with controlled brightness

levels relative to each other [8], [25].

Some traits of optical filters are defined as follows. The center wavelength (CWL)

is the midpoint between the wavelengths where transmittance is 50% of the specified

minimum transmission, referred to as Full Width Half Maximum (FWHM). Bandwidth is

a wavelength range used to denote a specific part of the spectrum that passes incident

energy through a filter. Bandwidth is also referred to as FWHM. Optical Density (OD)

describes the blocking specifications of a filter and is related to the amount of energy

transmitted through it. A high optical density value indicates a very low transmission, and

low optical density indicates high transmission. The cut-on and cut-off wavelengths denote

the wavelengths at which the transmission increase or decrease respectively to 50%

throughput [8], [25].

Traditional optical bandpass filters consist of layers of glass substrate, dielectric and

metal coatings, colored glass and epoxy [8]. They pass quasi-monochromatic light.

Page 25: Senior Design Project - Scintillometer

- 18 -

Figure 6. Traditional Optical Filter Construction [25]

Bandpass filters have extremely narrow transmittance bands across the substrate.

They are particularly angle sensitive, so care must be taken when mounting and placing

within an optical setup. Wavelength matching should be kept in mind when designing a

system, so the wavelength transmitted will not be filtered out [9].

2.2.6 Geometry of Light Signals

The information signal in a free-space communication link is a modulated laser, in the case

of this project, a diode laser. The modulated signal diverges from the laser aperture in a

conical projection. As previously mentioned, the output profile of a diode laser is elliptical

rather than circular. Thus, a fast-diverging axis and a slow-diverging axis are referenced.

For estimation purposes, a circular profile is assumed, with the actual profile shape kept in

mind for alignment of elements later on.

The projection of a cone is measured in solid angle projection, or steradians (sr). In

three-dimensional geometry, a solid angle subtense is defined by the ratio of an area on the

surface of a sphere to the square of the radius. A sphere contains 4π steradians of solid

angle.

Page 26: Senior Design Project - Scintillometer

- 19 -

Figure 7. Two Dimensional Angle (L) and Three Dimensional Angle (R) [8]

The transmitter is treated as a point source. The optical power flux (ϕ) of the

transmitter is measured in Watts (W). Intensity (Ie) is the measure of flux over a projected

solid angle.

𝐼𝑒 =𝜙 (𝑊)

Ω (sr) (2.12)

This concept is an important part of a free-space optical system link budget, which

must be calculated to ensure proper signal strength at the receiver after all losses throughout

the system have been accounted for. The total power radiated from a source is usually not

a concern, because an optical system or a detector can collect only the power within a

limited solid angle projection. The solid angle of the detector is multiplied by the area of

the source and the radiance of the source to obtain the radiant power on the detector [8].

𝜙 = 𝐼𝑒 × Ω (2.13)

Page 27: Senior Design Project - Scintillometer

- 20 -

Figure 8. Radiant Power Transfer from Transmitter to Receiver [8]

This does not take any attenuation over the free-space link into account. The power

seen at the receiver is purely the optical power incident upon the leading plane of the

receiver, and does not reflect any losses through lenses, filters or opto-electronics.

In every optical system, there are apertures, or stops, which limit the passage of

energy through the system. These apertures are the clear diameters of the lenses and

diaphragms in the system. One of these apertures will determine the diameter of the cone

of energy which the system will accept from the axial point of the object. This is termed

the aperture stop, and its size determines the illumination (irradiance) at the image. Another

stop may limit the size or angular extent of the object which the system will image. This is

called the field stop [9], [12]. These are important concepts within the radiometry aspect of

the system.

Page 28: Senior Design Project - Scintillometer

- 21 -

Figure 9. Aperture Stop Limiting Field of View

Within the scope of this project, the field stop will be the optical baffles on each

channel. On one channel, the aperture stop will be the clear diameter of the photodetector

(4mm). On the other channel, the aperture stop will be determined by an iris diaphragm

set to a diameter of 1mm.

2.2.7 Digital Signal Processing

Digital signal processing (DSP) provides a translation between real world continuous

systems with infinite precision into finite instantaneous discrete values that can then be

measured, manipulated, stored, and reconstructed in the digital domain. Figure 10

illustrates the fundamental block diagram of a DSP system. The continuous infinite

precision physical signal of interest is converted into an electrical signal by means of a

transducer that converts various forms of energy into electrical energy. This electrical

energy is the basis for the analog input into the DSP system [13].

Figure 10. Digital Signal Processing System [13]

Page 29: Senior Design Project - Scintillometer

- 22 -

The time domain of the continuous signal is divided into discrete intervals and

defined as sample spacing. Figure 11 depicts the comparison of a continuous time signal

and a discrete interval signal where the spacing intervals is indirectly proportional to the

sample rate of the DSP system such that the sampling rate;

𝑓𝑠 =1

𝑇 (2.14)

Figure 11. Discrete vs. Continuous Signal [13]

In theory, a real world continuous signal has no instantaneous values. Continuous

signals are considered to always be in a state of transition. DSP systems approximate these

transitions into pseudo-instantaneous values of discrete time intervals. Accuracy of the

discrete conversion is directly proportional to the sample rate of the DSP system. Figure 12

illustrates that the sample rate has a lower bound where the signal can no longer be

accurately represented in a discrete form if the sample time interval is larger than the

transition time interval of the continuous signal being sampled [13]. The Nyquist-Shannon

Sampling Theorem defines the lower bound of the sample rate where;

𝑓𝑠 > 2 ∗ 𝑓𝑚𝑎𝑥 (2.15)

Page 30: Senior Design Project - Scintillometer

- 23 -

Figure 12. Sampling Frequency vs. Signal Frequency [13]

Additionally, continuous analog signals contain amplitude variations that

theoretically possess infinite precision. DSP systems quantize the amplitude values of a

continuous signal into discrete level approximations where the amplitude step size interval

is indirectly proportional to the accuracy of the analog signal amplitude such that for an ‘n’

bit DSP system the amount of quantization of levels is found to be

𝐿 = 2𝑛 (2.16)

With regards to the amount of quantization levels the subsequent calculations can be made

such that the voltage quantization step size is

𝛥 =𝑉𝑚𝑎𝑥−𝑉𝑚𝑖𝑛

𝐿 (2.17)

The integer digitization value is

𝑖 = 𝑟𝑜𝑢𝑛𝑑 (𝑉𝑚𝑎𝑥−𝑉𝑚𝑖𝑛

𝛥) (2.18)

Page 31: Senior Design Project - Scintillometer

- 24 -

Likewise the discrete voltage quantization value is

𝑣𝑞 = 𝑣𝑚𝑖𝑛 + 𝑖 ∗ 𝛥 (2.19)

In Figure 13, the analog input signal is quantized into a base 2 counting system

using the discrete reference level approximations of an 8 bit 256 level DSP system. Figure

14 further illustrates the discrepancy between the infinite precision of the analog input

signal with respect to the finite precision of the ADC quantization levels.

Figure 13. Analog to Digital Conversion [13]

Figure 14. Infinite vs Finite Precision [13]

Page 32: Senior Design Project - Scintillometer

- 25 -

Due to the infinite precision nature of the analog input signal the severity of the

amplitude quantization discrepancy is indirectly proportional to the amount of quantization

levels. Increasing the quantity of levels decreases the quantization interval and therefore

increases precision by reducing the average quantization error such that;

𝐸(𝑒𝑞2) =

𝛥2

12 (2.20)

Reduction of quantization error increases the quantization signal-to-noise ratio for

the DSP system where;

𝑆𝑁𝑅 =𝐸(𝑣𝑥

2)

𝐸(𝑒𝑞2)

(2.21)

Figure 15 depicts a graph of the line x = xq and the resulting quantization of the

line representative of an analog input signal shows that the maximum quantization error

deviation per discrete value is equal to half the quantization step size. Decreasing the

quantization step size therefore reduces the maximum possible quantization error.

Figure 15. Quantization Error [13]

A digitized periodic signal can be represented both temporally and spectrally.

Figure 16 depicts a digitized sinusoidal signal in both discrete time intervals as well as

discrete frequency intervals. When the input signal is comprised entirely of the fundamental

frequency of a sinusoidal waveform the resulting spectral contents will indicate a sole peak

Page 33: Senior Design Project - Scintillometer

- 26 -

at that fundamental frequency. The significance of the frequency components comprising

a periodic function are found by calculating the correlation between the function of a

continuous signal and that of both odd and even sinusoidal waves using the Fourier series

in equation 2.22. In this series the magnitude of the spectral contents are representative of

the magnitude of the spectral component coefficients when referencing nth harmonics of the

fundamental frequency.

𝑥(𝑡) = 𝑎0 + ∑ (𝑎𝑛 cos𝑛𝜋𝑡

𝑇+ 𝑏𝑛 sin

𝑛𝜋𝑡

𝑇)

𝑛=1 (2.22)

Figure 16. Temporal vs. Spectral Components [13]

With regards to a digital system, it is more practical to reference quantized discrete

values by the respective sample number ‘n’ of a sample set with a length of ‘N’. In this

form the Fourier transform in equation 2.23 can be used to calculate the respective

magnitudes of the discrete interval frequency components. Equation 2.24 is used to

calculate the frequency interval spacing between adjacent spectral components as a result

Page 34: Senior Design Project - Scintillometer

- 27 -

of an inverse relationship between the sample frequency and the total number of samples

per periodic sample set.

𝑋(𝑘) = ∑ 𝑥(𝑛)𝑒−𝑖2𝑛𝑘𝜋

𝑁

𝑁−1

𝑛=0 (2.23)

𝛥𝑓 =𝑓𝑠

𝑁=

1

𝑁∗𝑡𝑠=

1

𝑇0 (2.24)

Likewise the spectral contents of a periodic discrete set of values can be used to

calculate the respective temporal contents by performing the inverse method of the

Fourier transform in equation 2.25 and using the reciprocal of the sample frequency as the

respective time interval spacing for the temporal results.

𝑥(𝑛) =1

𝑁∑ 𝑋(𝑘)𝑒

𝑖2𝑛𝑘𝜋

𝑁

𝑁−1

𝑘=0 (2.25)

2.3 Mathematical Theory of Scintillation

Physically, the refractive-index structure parameter, 𝐶𝑛2 is a measure of the strength of the

fluctuations in the refractive index. The index of refraction of a medium is important when

propagating light through it. The atmosphere exhibits random fluctuations in refractive

index as the temperature and wind speed change. At a point R in space and time t, the index

of refraction can be mathematically expressed as

𝑛(𝑹) = 𝑛0 + 𝑛1(𝑹, 𝑡) (2.26)

where n0=⟨𝑛(𝑹, 𝑡)⟩ ≅ 1 is the mean value of the index of refraction and 𝑛1(𝑅, 𝑡) represents

the random deviation of 𝑛(𝑹, 𝑡) from its mean value; thus ⟨𝑛(𝑹, 𝑡)⟩ = 0. Typically, time

variations of the refractive index are slow compared to the frequency of the optical wave,

therefore the wave is assumed to be monochromatic. The expression in the above formula

can be written as

𝑛(𝑹) = 1 + 𝑛1(𝑹) (2.27)

where 𝑛(𝑹) has been normalized by its mean value n0.

Page 35: Senior Design Project - Scintillometer

- 28 -

The index of refraction for the atmosphere can be written for visible and IR

wavelengths as

𝑛(𝑹) = 1 + 77.6 × 10−6(1 + 77.6 × 10−3𝜆−2)𝑃(𝑹)

𝑇(𝑹) (2.28)

where 𝜆, the optical wavelength, is expressed in 𝜇m, P(R) is the pressure in millibars at a

point in space, and T(R) is the temperature in Kelvin at a point in space. It is noticed that

the wavelength dependence for optical frequencies is very small, therefore this equation

can be rewritten as

𝑛(𝑹) ≅ 1 + 79 × 10−6 𝑃(𝑹)

𝑇(𝑹) (2.29)

Since pressure fluctuations are usually negligible, the index of refraction exhibits

an indirect relation with the random temperature fluctuations. This simple approximation

only holds in the visible and near-IR range. Extending the wavelength into the far-IR

introduces other issues, such as humidity.

Since ⟨𝑛1(𝑹, 𝑡)⟩ = 0, the spatial covariance of 𝑛(𝑹) can be expressed as

𝑩𝑛(𝑹1, 𝑹2) = 𝐵𝑛(𝑹1, 𝑹1 + 𝑹) = ⟨𝑛1(𝑹1)𝑛1(𝑹1 + 𝑹)⟩ (2.30)

If the random field is both statistically homogeneous and isotropic, the spatial

covariance function can be expressed in terms of a scalar distance, 𝑅 = |𝑹2 − 𝑹1|.

Assuming statistically homogeneous and isotropic turbulence, the related structure function

exhibits asymptotic behavior.

𝐷𝑛(𝑅) = {𝐶𝑛

2𝑅2/3, 𝑙0 ≪ 𝑅 ≪ 𝐿0

𝐶𝑛2𝑙0

−4/3𝑅2, 𝑅 ≪ 𝑙0

(2.31)

𝐶𝑛2 is the index of refraction structure parameter, ℓ0 is the inner scale of turbulence,

and 𝐿0 is the outer scale of the turbulent eddies. The inner and outer scales of turbulence

act as a lower and upper bound, respectively, for the fluctuations of the refractive index.

Behavior of 𝐶𝑛2 at a point along the propagation path can be deduced from the temperature

structure function obtained from point measurements of the mean-square temperature

difference in two fine wire thermometers. With the use of equation 4, the index of refraction

structure parameter is defined as

Page 36: Senior Design Project - Scintillometer

- 29 -

𝐶𝑛2 = (79 × 10−6 𝑃

𝑇2)

2

𝐶𝑇2 (2.32)

Typical values for 𝐶𝑛2 are between 10-16 m-2/3 for weak fluctuations and 10-12 m-2/3

for strong fluctuations. Per David Wayne’s work in 2006 [2], when there is no sunshine,

𝐶𝑛2 is low, and as the sun begins to rise, 𝐶𝑛

2 increases until it reaches a maximum in the

middle of the day. As the sun begins to set, 𝐶𝑛2 decreases. The trend includes a dip in the

value of 𝐶𝑛2 before and after sunrise. These two dips are called the quiescent periods. The

corresponding drop in 𝐶𝑛2 occurs due to the temperature gradient between the ground and

atmosphere being minimal.

Figure 17. 24-hour 𝐶𝑛2 Profile [21]

The Rytov variance is a measure of the strength of scintillation; ray propagation

through a turbulent atmospheric medium will experience irradiance fluctuations called

scintillations. The relation between refractive index structure parameter 𝐶𝑛2 and the

relative variance of optical intensity 𝜎2 was set by Rytov as

𝜎𝑅2 = 𝐾 × 𝐶𝑛

2 × 𝑘7/6 × 𝐿11/6 (2.33)

where 𝐶𝑛2 is the refractive index structure parameter, k represents the wave number (2𝜋/𝜆),

and L is the distance between the transmitter and receiver of the optical wireless system,

and K is a constant equal to

Page 37: Senior Design Project - Scintillometer

- 30 -

𝐾 = {1.23 𝑓𝑜𝑟 𝑝𝑙𝑎𝑛𝑒 𝑤𝑎𝑣𝑒0.5 𝑓𝑜𝑟 𝑠𝑝ℎ𝑒𝑟𝑖𝑐𝑎𝑙 𝑤𝑎𝑣𝑒

(2.34)

A plane wave model is used for starlight and other exo-atmospheric sources, a

spherical wave model is used for a small-aperture source within or near the turbulent

atmosphere. For this project, a spherical wave model will be used, so from this point onward

only the spherical wave calculations are presented.

The scintillation index 𝜎𝐼2 [dB2] can be expressed by the relation

𝜎𝐼2 = 23.17 × 𝑘7/6 × 𝐶𝑛

2 × 𝐿11/6 (2.35)

where k (m-1) is the wave number, L (m) is the length of the link, and 𝐶𝑛2 (m2/3) is the

structure parameter of the refractive index, representing the turbulence intensity.

To understand the problem fully, the concept of Cn2 as a measurement of optical

turbulence must be outlined. The Cn2 model is a semi-empirical algorithm developed by the

U.S. Army Research Lab to provide realistic values for the refractive index structure

parameter over land given two vertical levels of conventional wind speed, temperature, and

humidity data as input [24]. Therefore, equations for the real index of refraction are

expressions in terms of temperature, pressure, and moisture – preferably the conserved

elements potential temperature and specific humidity.

The function of the scintillometer will be to measure the signal for an exposure time

of 30 seconds at a rate of 10,000 samples per second. The process used in the scintillometer

design is based on a technique known as aperture averaging, which will allow the

measurement of inner scale values (ℓ0). This requires the scintillometer design to have two

separate channels on the receiver, each with a different size aperture. From the array of data

collected for each lens, the computer will calculate the mean intensity, ⟨𝐼⟩.With reference

to the equation of variance

𝜎2 = ⟨𝐼2⟩ − ⟨𝐼⟩2 (2.36)

and the mean value of the signal is equal to

⟨𝐼⟩ =∑𝐼

𝑛 (2.37)

For each receiver channel, the scintillation index is calculated as

Page 38: Senior Design Project - Scintillometer

- 31 -

𝜎𝐼12 =

𝑛∑(𝐼2)

(∑𝐼)2− 1 = 𝐹𝑙𝑢𝑥𝑚1 (2.38)

𝜎𝐼22 =

𝑛∑(𝐼2)

(∑𝐼)2 − 1 = 𝐹𝑙𝑢𝑥𝑚2 (2.39)

In each of these calculations, 𝐶𝑛2 is a hidden variable within the data. As 𝐶𝑛

2 is an

unknown and is treated as a constant, the ratio of the two channels eliminates 𝐶𝑛2, and allows

for the rough calculation of the inner scale value from the sample in mm.

𝑅𝑎𝑡𝑖𝑜𝑀𝑒𝑎𝑠𝑢𝑟𝑒𝑑 = 𝐹𝑙𝑢𝑥𝑚1

𝐹𝑙𝑢𝑥𝑚2≈ ℓ0 (2.40)

This is noted as the measured ratio. The theoretical flux calculated per the Modified

Hill-Andrews Spectrum, for each channel is

𝐹𝑙𝑢𝑥𝑐1 =𝑆𝑆

[1+(𝑆𝑆

1.428𝜎𝑅2 )

57⁄

𝑑𝑑15

3⁄ ]

75⁄ (2.41)

𝐹𝑙𝑢𝑥𝑐2 =𝑆𝑆

[1+(𝑆𝑆

1.428𝜎𝑅2 )

57⁄

𝑑𝑑25

3⁄ ]

75⁄ (2.42)

where the Rytov variance is

𝜎𝑅2 = 1.23𝐶𝑛

2𝑘7

6⁄ 𝐿11

6⁄ (2.43)

𝑆𝑆 = 9.65𝑏02 [0.4 (1 +

9

𝑄𝑙2)

1112⁄

(𝑇1 + 𝑇2 − 𝑇3) −3.5

𝑄𝑙

56⁄] (2.44)

𝑏02 = 0.496𝑐𝑛

2𝑘7

6𝐿11

6 (2.45)

𝑑𝑑1 = (𝑘𝐷𝑅𝑋1

2

4𝐿)

1/2

(2.46)

𝑑𝑑2 = (𝑘𝐷𝑅𝑋2

2

4𝐿)

1/2

(2.47)

Page 39: Senior Design Project - Scintillometer

- 32 -

𝑄ℓ =10.89𝐿

𝑘ℓ02 (2.48)

𝑇1 = sin [11

6tan−1 (

𝑄𝑙

3)] (2.49)

𝑇2 =2.610

(9+𝑄𝑙2)

14

sin [4

3tan−1 (

𝑄𝑙

3)] (2.50)

𝑇3 =0.518

(9+𝑄𝑙2)

724

sin [5

4tan−1 (

𝑄𝑙

3)] (2.51)

Again, the ratio is taken. This is the theoretical ratio.

𝑅𝑎𝑡𝑖𝑜𝑇ℎ𝑒𝑜𝑟𝑒𝑡𝑖𝑐𝑎𝑙 =𝐹𝑙𝑢𝑥𝑐1

𝐹𝑙𝑢𝑥𝑐2 (2.52)

The difference of the two ratios is taken. Inner scale is identified when

𝑅𝑎𝑡𝑖𝑜𝑇ℎ𝑒𝑜𝑟𝑒𝑡𝑖𝑐𝑎𝑙 − 𝑅𝑎𝑡𝑖𝑜𝑀𝑒𝑎𝑠𝑢𝑟𝑒𝑑 ≅ 0 (2.53)

The accuracy of the measurement of the inner scale value will depend on the

resolution of the trial case calculations between 1 and 10 mm.

From the estimated inner scale value, 𝐶𝑛2 can be calculated as

𝐶𝑛𝑒𝑠𝑡𝑖𝑚𝑎𝑡𝑒𝑑

2 =

𝐹𝑙𝑢𝑥1𝑚[1+(𝑆𝑆

1.428𝜎𝑅2 )

57⁄

𝑑𝑑15

3⁄ ]

75⁄

9.65(0.5𝑘7

6⁄ 𝐿11

6⁄ )0.4(1+9

𝑄ℓ)

1112⁄

(𝑇1+𝑇2−𝑇3)−3.5

𝑄ℓ

56⁄

(2.54)

Page 40: Senior Design Project - Scintillometer

- 33 -

Chapter 3

Contribution

3.1 Introduction

3.2 Scintillometer Design

3.3 Results and Discussion

Summary

In this chapter, we present an analysis of the scintillometer design and build, as well

as a discussion on the results obtained in a side by side comparison with a

functioning commercial scintillometer.

Page 41: Senior Design Project - Scintillometer

- 34 -

3.1 Introduction

The transmitter signal is a square wave pulsing at 1 Hz. The focus of the transmitter is

adjustable based upon the receiver target area. The signal passes through the channel, which

is the open, low atmosphere of the range. While in the channel, the light is unbounded, as

there is no relative extent to be considered based upon the length of the range. The signal

is still subject to other effects in the channel similar to a light signal being passed in any

other medium such as a fiber optic. As the channel is unbounded, the signal does not get

redirected at an interface as a whole, but only through the intermediate particles and

aerosols which are considered at the ray level. This is the scintillation to be detected.

The receiver detects a portion of the overall signal, and detects deviations at the ray

level at a rate of 8168 Hz. The signal rays enter the receiver through a narrow band pass

filter and strike the photodiodes on each channel. The aperture on one channel is stopped

down to create two different size apertures to allow for the necessary aperture averaging

comparison. The photodiode converts the optical power of each sample into an electrical

current. This current is then processed at the channel level of the receiver on a

programmable system on chip, or PSoC. The PSoC on each channel is designed and

programmed to translate the different levels of current generated by the photodiode as a

value, and pass that value on to the common computer for processing. The common

computer used is a Beaglebone Black. This microcomputer is programmed to perform the

mathematical calculations using the inputs of the two signals to find the inner scale values

and refractive index structure parameter,𝐶𝑛2.

3.2 Scintillometer Design

3.2.1 Transmitter Design

The transmitter design is intentionally over-engineered. The centerpiece is the laser diode,

which operates at a wavelength of 660nm to allow for visible alignment of the system. This

is important as wavelength matching must be incorporated throughout the entire system.

The peak optical output of the laser diode is 120mW, which is more than enough power for

the expected range of 100-150m.

Page 42: Senior Design Project - Scintillometer

- 35 -

Figure 18. CAD Rendering of L660P120 Laser Diode

A PSoC is implemented in the transmitter to modulate the laser diode output. The

driver circuit modulates the laser diode with a square wave using a pulse width modulator

(PWM) hardware component in the PSoC. The PWM creates a square wave with a pulse

width of 500ms and a period of 1000ms. The LED pin is used as an indicator and a separate

pin was added to output the laser driver signal. Added to that was a differential operational

amplifier (Op-Amp) and digital-to-analog converter (DAC) hardware modules within the

transmitter design. The DAC is applied to the inverting input of the op-amp in order to

maintain control over the pulse amplitude of the LED driver signal. The DAC values are

set using firmware. Furthermore, a trans-impedance amplifier (TIA) and a delta-sigma

analog-to-digital converter (Del-Sig ADC) hardware module were implemented in the

transmitter design. The TIA takes in a current supplied by a photo-feedback diode and

converts the signal to a voltage. This voltage is read by the Del-Sig ADC where the value

is passed to the DAC by firmware and thus used to control the pulse amplitude. For the

given range of 100-150m, this value has been set to 32mW. A summing op-amp hardware

module is implemented within the transmitter design to allow the addition of a DC floor to

the signal of the transmitter driver circuit. The value is set such that the transistor and laser

diode operate just above cut-off. The end result is a regulated power output. A 100pF

capacitor was added in parallel with the TIA load resistor to filter out undesired frequencies

and remove oscillations in the control system. This ensures that all of the incoming signal

is output and not lost to turn-on voltage.

Page 43: Senior Design Project - Scintillometer

- 36 -

Figure 19. Transmitter Design Schematic Part A

Figure 20. Transmitter Design Schematic Part B

A USB connection was implemented, with software written to allow interfacing

with the USB through a computer to permit user input of any value between 0 and 65534

(216 𝑏𝑖𝑡 𝑖𝑛𝑡𝑒𝑔𝑒𝑟 𝑙𝑒𝑣𝑒𝑙𝑠) to control the pulse width. The calibration mode is accessed by

holding down switch 1 during power ON. The laser diode starts at 0 duty cycle and only

changes the pulse width when receiving the command from the USB port. It is of note that

the calibration mode does not support constant power functions. If switch 1 is not pressed

during the power ON, the laser will power on as usual, utilizing constant power correction

Page 44: Senior Design Project - Scintillometer

- 37 -

and 100% duty cycle. If switch 1 is pressed after power ON, the laser will cycle through

various pre-programmed pulse width and pulse period configurations.

The laser diode itself is mounted into an Electro-Static Discharge (ESD) protection

circuit and collimating lens system. The collimating lens system chosen for the transmitter,

ThorLabs adjustable collimation tube with optic LTN330-C, allows for an adjustable focus,

based upon the needs of the range at that time.

Figure 21. CAD Drawing of LTN330-C

This also allows greater control over the strength of the signal at the receiver, as

well as control over the length of the nominal hazard zone. The output profile of the laser

diode is an ellipse, which must be accounted for in all transmission calculations. At 150m,

the divergence used was 2mrad on the slow axis, and 17/5mrad on the fast axis.

The entire transmitter system runs on a 12.6V car battery. This allows for hours of use

in remote locations, and removes the 60Hz noise associated with typical power receptacles.

Page 45: Senior Design Project - Scintillometer

- 38 -

Figure 22. Constructed Transmitter mounted on Backplane.

3.2.2 Channel

The signal from the transmitter passes through the air on its way to the receiver. This

requires consideration on the behavior of the signal as it passes through the atmosphere.

The troposphere attenuates the square wave much the same way glass or plastic attenuates

the signal in a fiber optic. The square wave distorts, a phenomena known as pulse

broadening, and presents a more Gaussian profile when it arrives at the receiver as the

higher harmonics are filtered out.

The channel is relatively unbounded within a short range (<1 km), as within this

range in most any direction, the atmosphere is a relatively homogeneous gaseous

continuum. The relative density change from sea level to 1 km is 0.113 kg/m3, so if the

system were pointed normal to the atmosphere this would only be a slight factor within a

short range. The normal use for this system is along paths parallel to ground level over

relatively short distances. Thus, rays are not redirected in any way that the entire signal

power is focused at the receiver. This makes signal divergence a large part of the

Page 46: Senior Design Project - Scintillometer

- 39 -

transmitter, and links these two components of the system. As light doesn’t interact with

other light, the signal passes through the channel without effect from ambient light.

3.2.3 Receiver Design

The receiver design consists of two input channels to acquire the signal from the

transmitter. Sections of SM05 threaded tubing were affixed to the leading end of the

receiver as optical baffles with the intent of narrowing the field of view of the receiver to

allow only direct light into the system. The effective field of view is limited to ±4°. On

each channel, a narrow band pass filter, ThorLabs FB660-10, was placed in front of the

photodiode to eliminate incoming ambient light that was not of wavelength 660nm. The

filter is designed for a central wavelength of 660 ±2nm, and has a transmission at full width

half max (FWHM) of 10 ±2nm.

Figure 23. Transmission Profile of FB660-10

Behind the narrow band pass filter on each channel is an SM05PD1B photodiode.

Keeping both channels with the same photodiode provides the most consistent dark current

and system response. The rise/fall time of the photodiode is 10ns, making it capable of

Page 47: Senior Design Project - Scintillometer

- 40 -

sample rates of 100MHz. The effective diameter of the photodiode is 4mm. As aperture

averaging is being used, an adjustable iris is used to aperture down detector 1 to an effective

1mm diameter. The responsivity of the photodiode at 660nm is approximately 0.43A/W.

Figure 24. SM05PD1B Photodiode Responsivity

Each photodiode is connected to a dedicated PSoC. Each PSoC is designated as a

master SPI device communicating to a common slave microcomputer, a Beaglebone Black.

This allows for a fixed sample rate on both detectors. The PSoCs share a common clock

and communicate between each other to ensure acquiring data and transmission of data do

not take place at the same time, thus preventing serial transfer noise from being captured

by the detectors with a delta sigma ADC set to 216 = 65536 bit integer levels between 0

to 3.3 volts with a maximum offset of 20mV. This offset can be filtered out with software

later in the signal processing phase.

Page 48: Senior Design Project - Scintillometer

- 41 -

Figure 25. Detector 1 Schematic

Figure 26. Detector 2 Schematic

Page 49: Senior Design Project - Scintillometer

- 42 -

Due to the large gain of 32 on detector 1, a DC floor is added to the digitized signal.

The DC floor is a part of the trans-impedance amplifier design and initially adds

approximately 20mV. However, the large gain of the programmable gain amplifier (PGA)

increases this to just over 0.64V. This reduces the SNR of the ADC to approximately 10

with reference to the maximum positive voltage of 3.3V. By adding a positive reference

voltage to the negative input of the PGA, the DC floor is reduced back down to 20mV. As

the overall signal is reduced by the offset, more headroom exists to increase the gain of

detector 1. Thus it is moved to 48x, which allows the entire dynamic range of the ADC to

be used, increasing the SNR to approximately 100.

Similar implementations exist on detector 2, however, with a gain of 2. The DC

floor of detector 2 is reduced from 40mV back to 20mV. A buffer op-amp was added to the

input signal of the ADC which allows a voltage monitor LED bar graph to be implemented,

which will display the incoming signal without affecting the signal. Detector 1 possesses

approximately 1/16th the area, and therefore collects approximately 1/16th the energy of

detector 2. Thus, the signal is amplified for both detectors such that the full range of both

ADCs are used for the dynamic portion of the signal only.

Initially the system was uncalibrated.

Figure 27. Uncalibrated

The calibration process began with the electrical calibration, which involved the

lenses being covered. The system analyzed the internal noise, including dark current on the

photodiodes. These were stored as constants for later removal.

Page 50: Senior Design Project - Scintillometer

- 43 -

Figure 28. Partially Calibrated

The remainder of the calibration process took place in a controlled environment in

the lab. A 1 Hz square wave was transmitted to the receiver, representing a scintillation

index of 1.0. The system was then tuned until the receiver was able to read as close to the

1.0 scintillation index as possible. The obtained accuracy is 1.014 with a 1.4% error.

Figure 29. Fully Calibrated

A visual aid was implemented to make alignment of the transmitter easier in the

form of an LED bar display, which shows how much signal is appearing on each

photodiode. Each channel’s signal is driven to a three color, 10 segment LED display which

becomes brighter as the amount of signal onto the detectors becomes greater. The maximum

amount of signal seen for this range is 3.3V, at which point the PSoC’s ADC will become

Page 51: Senior Design Project - Scintillometer

- 44 -

saturated, and all ten segments will be lit. For the given parameters used, only the green

LED bars should illuminate. There are two identical circuits, one for each photodiode,

which are powered from a 5VDC supply.

Figure 30. LED Bar Graph Display Circuit

The final step in the receiver is the data processing in the Beaglebone micro-computer.

The collected data is in a raw digitized format from the PSoCs, and must be demodulated.

The data is divided into two vectors per channel: signal with noise (S+N) and noise (N).

All vectors are saved as a file mod.csv. The average of each vector is then calculated and

the difference is taken, yielding the average signal value.

𝜇𝑆 = 𝜇𝑆+𝑁 − 𝜇𝑁 (3.1)

The variance of each vector is calculated and subtracted to produce the variance of the

signal.

𝜎𝑆+𝑁2 − 𝜎𝑁

2 = 𝜎𝑆2 (3.2)

The scintillation index is defined as the variance divided by the mean-squared.

Page 52: Senior Design Project - Scintillometer

- 45 -

𝜎𝐼2 =

𝜎𝑆2

(𝜇𝑆)2 (3.3)

The ratio of scintillation indices between the channels yields the inner scale value, ℓ0. This

value is output as file sci.txt from the Beaglebone.

Figure 31. Constructed Receiver before Enclosure

3.3 Results and Discussion

The device was tested several times between late August and November of this year. It was

tested at the University of Central Florida’s TISTEF laser range at the Kennedy Space

Center in Merritt Island, FL. Testing usually began between the times of 11:00 AM and

ended at 5:00 PM where optical turbulence has been shown to reach a maximum during

midday hours.

Tested alongside this device was the commercially available BLS900 for

comparison data. The two systems were set up close to each other, but so as not to interfere

with each other. As the BLS900 is ineffective at 150m, it was set up parallel to the project

scintillometer with a distance between receiver and transmitter of 1km. The scintillometers

were set up such that the light from neither transmitter ended up in the receiver of the other

device – the BLS transmitter faced south and was further down range, whereas its receiver

pair was set up closer to the facility facing north, adjacent to the project transmitter. The

project transmitter was aligned to the receiver, which faced south towards the lab, roughly

150m away. Sources of radio frequencies that interfered with the data were shut off.

Page 53: Senior Design Project - Scintillometer

- 46 -

The data collected from the project scintillometer corresponds very closely with that

of the BLS900. Figure 32 shows the output Cn2 values for aperture one, as well as on the

BLS900 taken in parallel.

Figure 32. BLS vs. D1 Aperture

The data collected correlated with the data taken from the BLS in parallel. There

are minor deviations in 𝐶𝑁2 which can be attributed to the differences in propagation path

sizes. Longer ranges will have greater impacts on scintillation. It is shown that for a specific

time of day, the project scintillometer performs just as well as the BLS-900. It can also

predict the inner-scale size of turbulent eddies within acceptable error, which the BLS-900

cannot do [30]. Inner-scale results could not be validated by comparison, due to a lack of

inner-scale measurement on the available commercial devices. The accuracy regarding

inner-scale values is purely from research and estimation. Since the 𝐶𝑁2 values mimic each

other in each device, it can be safely assumed that it is within accurate range, since the

values for 𝐶𝑁2 are derived from the values assumed to be the true inner-scale size.

As shown in the raw data, the transmitted 1Hz optical signal is visible when looking

at the time domain and the frequency domain. It is of note that during the ‘off’ part of the

duty cycle, the ADC reads the voltage necessary to keep the transistors active, providing

an accurate response time and voltage. The gain from each channel is properly adjusted in

the PSoC software so this value will never deviate.

Page 54: Senior Design Project - Scintillometer

- 47 -

Figure 33. RAW (11/19/2016)

During the ‘on’ cycle, the square wave profile displays representations of

scintillation. The spiking variations in intensity are due to the randomly deviated rays

coming in and out of the photodiode’s field of view. This is a representation of what

viewing a single pixel on a time-lapse photograph of the transmitted beam would look like.

The time domain is visible in figure 33 on the left side for each aperture.

In the frequency domain, the peak fluctuations occur in the demodulated format at

frequencies between 10Hz and 250Hz. This is displayed below in figure 34 on the right

side for each aperture. This correlates with current findings regarding scintillation theory

provided by the team at TISTEF and Dr. Ronald L. Phillips and Dr. Larry C. Andrews of

U.C.F.

Page 55: Senior Design Project - Scintillometer

- 48 -

Figure 34. MODEM (11/19/2016)

Page 56: Senior Design Project - Scintillometer

- 49 -

Chapter 4

Non-Technical Issues

4.1 Budget

4.2 Environmental Aspects

4.3 Health and Safety

4.4 Ethical Aspects

4.5 Social Aspects

4.6 Sustainability

Summary

In this chapter, we will discuss the budget and the economic side of the project,

environmental hazards, health impacts and safety of the project, the ethicality of the

project, some social aspect and sustainability of the project’s major components.

Page 57: Senior Design Project - Scintillometer

- 50 -

4.1 Budget

The budget allotted for this project was initially between $1500.00 and $2000.00 for a

transmitter and single aperture receiver pair. The initial estimates ran approximately

$1600.00.

A scope change occurred and the design changed to include two apertures. This

required twice as many lenses, which were the most expensive components. The estimated

cost became closer to $2200.00. This included lenses and accompanying tubing.

A scope change occurred when the theory suggested smaller apertures and no

lenses. The redesign became the current build, eliminating the most expensive lenses. The

total budget spent was just over $1000.00 for the parts listed in Table 1 below.

Table 1. Bill of Component Materials

Transmitter 660nm Laser Diode, 120mW ThorLabs 96.22$ 1 $96.22

Adafruit USB to Serial Breakout Board Adafruit 14.99$ 1 $14.99

Laser Diode Collimator ThorLabs 228.00$ 1 $228.00

PSoC 5LP DigiKey 9.99$ 1 $9.99

ESD Protection and Strain Relief Cable ThorLabs 49.00$ 1 $49.00

$0.00

Receiver Si Photodiode ThorLabs 86.00$ 2 $172.00

1" Bandpass Filter, 660 +/- 2nm ThorLabs 84.67$ 2 $169.34

1" Dia. Stackable SM01 Lens Tube with Retaining Ring ThorLabs 15.30$ 4 $61.20

6" SMA Cables Amazon.com 6.99$ 2 $13.98

PSoC, 5LP DigiKey 9.99$ 3 $29.97

BeagleBone BlackMouser

Electronics89.99$ 1 $89.99

Various connectors and Electrical Components $40.00 1 $40.00

LED Bar Display 2.00$ 2 $4.00

1" End Caps ThorLabs 20.00$ 2 $40.00

$1,018.68

100.00$ Shipping & Handling

Subtotal

Software used encompassed the included free developer software for the PSoC

units, MatLAB for modeling and calculations, Microsoft Office for various reports, tables,

calculations, graphs and data tables, and the Beaglebone Black was programmed in Python.

4.2 Environmental Aspects

The system is safe for the environment. There are no hazardous materials involved in the

components. The laser output is in the visible spectrum, which is non-hazardous within the

limits of the output power.

Page 58: Senior Design Project - Scintillometer

- 51 -

While not a part of the system, 12.4V car batteries are used to power the transmitter

and receiver. Care must be taken by the user with regard to handling the batteries. The

batteries themselves are rechargeable, and at the end of their life, they should be disposed

of properly.

4.3 Health and Safety

The system developed is electrically safe and not harmful when used properly. All circuits

are appropriately grounded, and wires are not frayed or broken. The voltage levels used are

low level control voltages (max 12.4VDC).

The primary safety standard with respect to lasers is ANSI Z-136.5. The standards

are obtained by the Laser Institute of America in Orlando, FL. The L660P120 diode laser

used is class IIIB (5mW to 500mW), which produces visible emissions in the 660nm range.

It is considered a medium powered laser capable of producing eye injury when viewed

directly or with optics, even if momentarily viewed. The normal aversion response for

visible Class IIIB lasers is 0.25 seconds, and does not prevent injury [3].

Safety controls should be implemented when using the equipment, including a

controlled beam path, laser controlled area, entry limitations to the testing area by visitors,

education and training, warning signs and labels, and wearing eye protection with optical

density (OD) of 0.9 when at 32mW output, or OD of 0.4 when at 120mW output.

Figure 35. Class IIIB Danger Signage [3]

Page 59: Senior Design Project - Scintillometer

- 52 -

The nominal hazard zone (NHZ) is the region within which the level of direct,

reflected, or scattered (diffuse) laser radiation is above the allowable maximum permissible

exposure (MPE). The nominal hazard zone is calculated as

𝑁𝐻𝑍 = 𝑓0

𝑏(

4×𝑃

𝜋×𝑀𝑃𝐸)

12⁄

(4.1)

where P is the power of the laser, fo is the focal length of the focusing lens, b is the beam

diameter at the exit port, and MPE is the maximum permissible exposure [3]. For the

configuration of the transmitter, at an output power of 32mW, the nominal hazard zone is

48 meters, and at full output of 120mW, the nominal hazard zone is 141 meters.

The laser diode contains gallium arsenide (GaAs), which may seriously endanger a

person’s health even at very low doses. Please avoid treatment which may create GaAs

powder or gas, such as disassembly or performing chemical experiments, when handling

the product. When disposing of the product, please follow the laws of your country and

separate it from other waste such as industrial waste and household garbage [32].

4.4 Ethical Aspects

All references used for the completion of this project are properly cited in the references

section of this paper.

Ethically, the scintillometer itself has little ethical or unethical implications.

However, the research being performed using the scintillometer is able to be utilized in

ethical ways, through improving free-space optical communication links through prediction

of beam wandering to reduce Bit-Error Rates.

4.5 Social Aspects

The impact scintillometry has on society is found in the useful aspects of scintillometers

themselves.

The development of the scintillometer technology is advantageous in the

applications of measuring humidity levels and evaporation rates over wide swaths of

farmland. In 2008, Jan Kleissl and his students from the University of California – San

Diego used a large aperture scintillometer to monitor the loss of groundwater in California

Page 60: Senior Design Project - Scintillometer

- 53 -

to help farmers maximize production during a time of drought, when regulations restrict

the volume of water available to farmers [31].

Accurate estimation of latent heat flux based on remote sensing data is critical in

characterizing terrestrial ecosystems and modeling land surface processes. To that end,

scintillometers can play an integral part due to their basis in measuring sensible heat flux.

This may lead to understanding more about ecosystem processes that could lead to

colonization of deserts.

Predicting behavior of laser beam propagation and compensating of deviations can

reduce bit-error rates in free space optical communications systems. This could enable

faster communications on a broader scale.

4.6 Sustainability

The main component of the transmitter is the diode laser. The L660P120 diode laser uses

AlGaInAs as its semiconductor lasing material [32]. This material has shown to have a

mean time between failures (MTBF) of 1.3 ×106 hours (60% statistical confidence) at

higher output levels (6.5W, 25oC) [33].

Failure modes of diode lasers cause characteristics of the laser to change, affecting

the functionality of the system. As different parts of the diode laser degrade, different

characteristics of the laser will change. Figure # outlines common failure modes of diode

lasers and their causes.

Figure 36. Common Diode Laser Failure Modes [33]

Page 61: Senior Design Project - Scintillometer

- 54 -

The main component of the receiver is the Beaglebone Black, manufactured by

Texas Instruments. The mean time between failures (MTBF) estimated by Texas

Instruments is 50,000 hours for the processors.

These conditions are contingent upon both units being transferred into sealed,

NEMA-4 rated enclosures to protect against rain, humidity and pests. Silica gel packets are

required to manage humidity within the containers, keeping the circuit dry. Estimated

operating temperature for all calculations is 25oC.

Page 62: Senior Design Project - Scintillometer

- 55 -

Chapter 5

Conclusion

5.1 Summary and Conclusions

5.2 Suggestions for Future Work

Summary

In this chapter, the results of the project are summarized, with suggestions for future

improvements to develop the scintillometer into a full meteorological instrument.

Page 63: Senior Design Project - Scintillometer

- 56 -

5.1 Summary and Conclusions

The accuracy of the project scintillometer validates the function of the scintillometer. More

development is needed to turn this into a fully functioning meteorological instrument, with

suggestions laid out in the following section. The level of accuracy achieved is much

greater than the accuracy accepted in the other scintillometers created at TISTEF, largely

due to the intricacy and level of control displayed in the execution of the processing and

controls of the unit. The calibration of the project scintillometer yielded an error-rate of

1.4%, whereas the Triple Aperture Scanning Scintillometer (TASS) has an acceptable error

rate of 14%.

The addition of inner-scale calculations makes this scintillometer capable of more

than the BLS900. Scintec’s SLS20 has the capability to measure inner-scale, but does so

using two closely parallel red lasers and a single aperture [29]. The design of the project

scintillometer using a single transmitter and dual-channel receiver is unlike anything else

on the market currently.

5.2 Suggestions for Future Work

Given more time and budget, there are several additions to the design that could have

benefitted the project. In future generations of this build, additions to the hardware will

make this device a more complete and updated scientific instrument to collect data on the

atmosphere and optical turbulence.

Initial discussions sought to include a GPS unit to pinpoint and transmit location

data tags along with the collected scintillation data to a website. Adafruit stocks an

MTK3339-based GPS breakout board that has 66 channels w/ 10 Hz updates. Sensitivity

for this device is around -165 dB and only draws around 20mA. It can be used for high

sensitivity tracking or data logging. The data could be transmitted via this board and logged

to a computer, where it can be stored and updated to a secure web server for remote access

anywhere with an internet connection in real-time. This would have benefits for engineers

and scientists studying optical phenomena in the field and would provide convenience for

researchers in other parts of the world.

A temperature, humidity, and pressure sensor were to be added to the overall design

to allow for correlation of data to specific conditions. This would make the scintillometer

Page 64: Senior Design Project - Scintillometer

- 57 -

device an all-around scientific weather instrument like nothing else currently available.

Plans for this addition will likely come from another Adafruit product, such as the BME280

I2C/ SPI breakout board, which can output data on pressure, humidity, and temperature via

SPI, I2C link, or both. This particular board can be supplied with 3.3V or 5V and could

easily be added to the current hardware design.

Housing for both the receiver and transmitter were of the utmost importance. The

transmitter and receiver housing is not currently built for harsh outside climates. They are

both currently contained inside of temporary housing useful for prototyping, but not

designed for durable use in the elements. Considerations for more permanent housing

include humidity and condensation within the unit, as well as fogging of the narrow band

pass filter. External intruding elements, such as rain and insects, must also be protected

against. Time permitting, the next step would be to protect the hardware by placing it into

NEMA rated enclosures. This will be done to both the receiver and transmitter.

Page 65: Senior Design Project - Scintillometer

- 58 -

References

Books:

[1] L. C. Andrews, R. L. Phillips, and C. Y. Hopen, Laser Beam Scintillation with

Applications. Bellingham, WA: SPIE Press, 2001.

[2] H. D. Young, R. A. Freedman, A. L. Ford, and F. W. Sears, Sears and Zemansky's

University Physics. Boston: Addison-Wesley, 2012.

[3] D. Hull and D. J. Souders, Fundamentals of Light and Lasers, Second. Waco, TX:

OP-TEC, 2013.

[4] T. L. Floyd, Principles of electric circuits: conventional current version. Upper

Saddle River, NJ: Pearson Education, Prentice Hall, 2010.

[5] T. L. Floyd, Electronic devices: conventional current version. Upper Saddle River, N.

J., NJ: Pearson Education, Prentice Hall, 2012.

[6] W. H. Hayt, J. E. Kemmerly, and S. M. Durbin, Engineering Circuit Analysis. New

York, NY: McGraw-Hill, 2012.

[7] L. Desmarais, Applied Electro-Optics. Upper Saddle River, NJ: Prentice Hall, 1998.

[8] E. L. Dereniak and G. D. Boreman, Infrared Detectors and Systems. New York, NY:

Wiley, 1996.

[9] W. J. Smith, Modern Optical Engineering: The Design of Optical Systems, Fourth.

New York, NY: McGraw Hill, 2008.

[10] O. Svelto and D. C. Hanna, Principles of Lasers, Fourth. New York: Springer, 2009.

[11] W. T. Silfvast, Laser Fundamentals , Second. Cambridge, United Kingdom:

Cambridge University Press, 2004.

[12] E. Hecht and A. R. Ganesan, Optics, Fourth. New Delhi, India: Pearson Education,

2012.

[13] L. Tan and J. Jiang, Digital Signal Processing: Fundamentals and Applications,

Second. Waltham, MA: Academic Press, 2013.

[14] A. Ishimaru, Wave Propagation and Scattering in Random Media. New York, NY:

IEEE Press, 1997.

Page 66: Senior Design Project - Scintillometer

- 59 -

Journal Papers

[15] S. Lachinova and M. Vorontsov, "Giant irradiance spikes in laser beam propagation

in volume turbulence: analysis and impact", Journal of Optics, vol. 18, no. 2, p. 025608,

2016.

[16] M. Singh, V. Kapoor, V. Setia and R. Sihag, "Power Budget Performances of Free

Space Optical Link using Direct Line of Sight Propagation", Special Issue of

International Journal of Computer Applications on Electronics, Information and

Communications Engineering - ICEICE, vol. 3, no. 1, pp. 12-14, 2011.

[17]K. Su, L. Moeller, R. Barat and J. Federici, "Experimental comparison of terahertz

and infrared data signal attenuation in dust clouds", Journal of the Optical Society of

America A, vol. 29, no. 11, p. 2360, 2012.

Technical Papers and Theses

[18] D. Wayne, "Measuring optical Turbulence Parameters with a Three-Aperture

Receiver", M.S.E.E., University of Central Florida, College of Engineering and Computer

Science, Department of Electrical Engineering, 2006.

[19] "Scintillation Detectors", MIT Department of Nuclear Engineering, 2002.

[20] L. Wasiczko, "Techniques to Mitigate the Effects of Atmospheric Turbulence on

Free Space Optical Communication Links", Ph.D., University of Maryland, 2004.

[21] F. Thomas, "The Scintillation Index in Moderate to Strong Turbulence for the

Gaussian Beam Wave along a Slant Path", Master of Science, University of Central

Florida, College of Arts and Sciences, Department of Mathematics, 2003.

[22] M. Alrasheedi, "A Low-Cost, Man-Portable Free-Space Optics Communication

Device for Ethernet Applications", Master's Thesis, Naval Postgraduate School, 2005.

[23] J. Siegenthaler, E. Jumper and S. Gordeyev, "Atmospheric Propagation Vs. Aero-

Optics", Graduate Research Assistant, Department of Aerospace and Mechanical

Engineering, Hessert Laboratory, American Institute of Aeronautics and Astronautics,

2008.

[24] U.S. Army Research Laboratory, "Characterization of optical turbulence (Cn2) data

measured at the ARL A_LOT facility", U.S. Army Research Laboratory, Adelphi, MD,

2005.

Electronic Sources from the Internet

[25] “Optical Filters,” Optics - Imaging - Photonics - Optomechanics - Lasers, 2016.

[Online]. Available: http://www.edmundoptics.com/resources/application-

notes/optics/optical-filters/. [Accessed: 02-Dec-2016].

Page 67: Senior Design Project - Scintillometer

- 60 -

[26] Laser Institute of America, "American national Standard for Safe use of Lasers",

Laser Institute of America, Orlando, FL, 2007.

[27] X. Fernando, “Light Sources – II The Laser and External Modulation Optical

Communication Systems -Xavier Fernando,” Light Sources - II The Laser and Light

Sources – II The Laser and External Modulation Optical Communication Systems , 2016.

[Online]. Available: http://slideplayer.com/slide/1498179/. [Accessed: 01-Dec-2016].

[28] R. W. A. Wales, “Spectroscopy,” Spectroscopy :: Atomic Physics :: Rudi Winter's

web space. [Online]. Available: http://users.aber.ac.uk/ruw/teach/327/spec.php.

[Accessed: 01-Dec-2016].

[29] “Details of Selected Scintec Product,” Details of Selected Scintec Product. [Online].

Available: http://www.scintec.com/english/web/Scintec/Details/A012000.aspx.

[Accessed: 01-Dec-2016].

Large Aperture Scintillometer BLS900

[30] “Details of Selected Scintec Product,” Details of Selected Scintec Product. [Online].

Available: http://www.scintec.com/english/web/Scintec/Details/A001020.aspx.

[Accessed: 01-Dec-2016].

Surface layer Scintillometer SLS20

[31] S. Haughn, “Evaporation Station: Laser to Monitor Farm Water Use - Circle of

Blue,” Circle of Blue, 31-Dec-2008. [Online]. Available:

http://www.circleofblue.org/2008/north-america/evaporation-station-laser-to-monitor-

farm-water-use/. [Accessed: 01-Dec-2016].

[32] “HL65051DG PDF Datasheet - Oclaro, Inc. - Datasheets360.com,” HL65051DG

PDF Datasheet - Oclaro, Inc. - Datasheets360.com, 2013. [Online]. Available:

http://www.datasheets360.com/pdf/-5370734620615253607. [Accessed: 01-Dec-2016].

[33] “Ultra-reliable AlGaInAs Diode Laser Technology Impacts the Industrial Laser

Marketplace,” 2015. [Online]. Available:

https://www.lumentum.com/sites/default/files/technical-library-

items/cllfw03_wp_cl_ae_010506.pdf. [Accessed: 02-Dec-2016].

Page 68: Senior Design Project - Scintillometer

- 61 -

Appendix A Variables & Data

A1. Variable Definitions and Constants

A2. Validation Data vs. Scintec BLS900

A3. Link Budget

Summary

In this appendix we present the definitions of variables used in the calculation of

scintillation index, inner scale values, and display the validation data against the

commercial scintillometer.

Page 69: Senior Design Project - Scintillometer

- 62 -

A1. Variable Definitions and Constants

ℎ = 6.626 × 10−34 𝑚2 𝑘𝑔/𝑠 Planck’s Constant

𝑐 = 3 × 108 𝑚/𝑠 The Speed of Light

I Intensity, 𝑤𝑎𝑡𝑡𝑠/𝑐𝑚2

𝜎2 Scintillation Index

𝜎𝑅2 Rytov Variance

< 𝐼2 > Mean Square of Intensity

< 𝐼 >2 Intensity Mean Squared

𝐶𝑁2 Index of Refraction Structure Parameter

𝜇 Average

Page 70: Senior Design Project - Scintillometer

- 63 -

A2. Validation Data vs. Scintec BLS900

Page 71: Senior Design Project - Scintillometer

- 64 -

A3. Link Budget

Page 72: Senior Design Project - Scintillometer

- 65 -

Appendix B

Code

B1. MATLAB code: Nominal Hazard Zone

B2. MATLAB code: Optical Comparator

B3. MATLAB code: FFT Data

B4. PYTHON code: Cn2 Calculations

Summary

In this appendix we present the MATLAB and Python codes used in the development of

the scintillometer.

MatLAB codes were developed for several subjects, including nominal hazard zone for

safety and link budget, an optical comparator to allow faster assessment of combinations

of components for optimal efficiency, and Fast Fourier Transform analysis of the

recovered data.

The included Python code is the processing code used in the Beaglebone Black during

operation.

Page 73: Senior Design Project - Scintillometer

- 66 -

B1. MATLAB code: Nominal Hazard Zone

% This code is written to calculate NHZ, Spot Size, power density and power

% per lens over a range of divergences. It is to be used solely for the purpose of

% performing quick calculations for various scenarios to ensure eye-safety within

% the laser propagation path, as well as calculate power density at distance and

% power density seen at each channel of the receiver.

%

% Written by Marc Bradman

clc

theta = 0.0004;%Half angle divergence in radians

L = 100000;%Distance in cm

r = 0.25;%beam radius in cm

mpe = 0.000005;

lp = 0.5;%Laser power

pd = lp/(pi*r^2);

% *********************************************************************************

% formula for Nominal Hazard Zone of a laser using divergence angle is

% NHZ(cm) = (1/Full divergence angle (rad))*(sqrt(((4*power of the laser)/(pi*MPE))-the diameter of

the beam in cm)

NHZ=(sqrt((4*lp)/(pi*mpe))-(r*2))/(2*theta);

% *********************************************************************************

SpotSize=L*tan(theta*(10^-3)); % spot size at range in cm

*********************************************************************************

% The formula for power at the projected spot is Pspot-P0(w0/w(z))exp(-0.036(0.1)))

% 0.8 is the radius of the beam waist at the exit aperture of the collimating lens (cm).

% 0.119569 is 120mW*exp(-(0.036(0.1)))

%Pspot=(0.8/SpotSize*10^-2)*0.119569; % ratio of spot sizes in cm

Pspot= (r^2/SpotSize^2)*pd;

%P50L=Pspot*((0.025^2)/(SpotSize^2)); % The power reaching the smaller (50mm dia) lens is a ratio

of the spots size to the projected spot

%P75L=Pspot*((0.0375^2)/(SpotSize^2)); % Similarly the power reaching the larger (75mm dia) lens.

NHZm = NHZ/100;

fprintf ('The power density at the transmitter is %0.2e W/cm^2.\n',pd);

fprintf ('For divergence %0.2f mrad, the nominal hazard zone is %0.2f cm.\n',theta, NHZm);

fprintf ('This results in a spot size of %0.2f cm at a distance of %0.2fcm.\n',2*SpotSize,L);

fprintf ('The power density over that spot size is %0.2e W/cm^2.\n',Pspot);

fprintf ('This is read by the 50mm lens as %0.2e W, and \n',P50L);

fprintf ('by the 75 mm lens as %0.2e W.',P75L);

Page 74: Senior Design Project - Scintillometer

- 67 -

B2. MATLAB code: Optical Comparator

% Optical Component Evaluator

% This program is designed to evaluate several components of the Senior

% Design Project Scintillometer. The program will store properties of

% several components of the optical system under consideration and allow

% for other input as well. Ultimately, this program will give a deailed

% output of the system under consideration, including a fast- and slow-axis

% analysis.

% Written by Marc Bradman 4/30/2016

clc

% This block handles the input of the range parameters - length of range,

% half-angle divergence of the beam,

Range = input('Enter the length of the range in meters (m): ');

Divergence = input('The project requires a specific divergence out of the transmitter to obtain a plane

wavefront.\nEnter the half-angle divergence of the transmitter beam in milliradians (mrad): ');

clc

%************************************************************************************

% First block of choices is to input the choice of transmitter source. This

% would be the laser diode component of the transmitter.

disp ('Please select a source from the list below by typing the number');

disp ('or type 6 to input your own source');

disp ('1. L660P120');

disp ('2. DJ532-40');

disp ('3. HL6388MG');

disp ('4. L785P090');

disp ('5. M9-A64-O200');

source = input ('Choose your source -----> ');

clc

% Second block of choices is to input the choice of collimating lens for

% the transmitter.

disp ('Please select a transmitter lens from the list below by typing the number');

disp ('or type 7 to input your own collimating lens');

disp ('1. 354280-B');

disp ('2. 354260-B');

disp ('3. 354560-B');

disp ('4. A397-B');

disp ('5. A375-B');

disp ('6. 354330-A');

CollLens = input ('Choose your collimating lens -----> ');

clc

% Third block of choices is to input the choice of lens for Channel A (top

% lens).

disp ('The receiver is comprised of two separate channels, each with a lens and photodiode.');

disp ('Please select a receiver lens for channel A from the list below by typing the number');

disp ('or type 4 to input your own channel A receiver lens');

disp ('1. LA1740-B');

disp ('2. 86-911');

disp ('3. 86-907');

RecLensA = input ('Choose your channel A receiver lens -----> ');

clc

% Fourth block of choices is to input the choice of lens for Channel B

% (bottom lens).

disp ('The receiver is comprised of two separate channels, each with a lens and photodiode.');

disp ('Please select a receiver lens for channel B from the list below by typing the number');

disp ('or type 4 to input your own channel B receiver lens');

disp ('1. 69-457');

disp ('2. 45-716');

disp ('3. LA1145-B');

Page 75: Senior Design Project - Scintillometer

- 68 -

RecLensB = input ('Choose your channel B receiver lens -----> ');

clc

%************************************************************************************

% Transmitter source matrix.

TxSource = [120, 17, 10, 660; 40, 0.687549, 0.687549, 532; 250, 40, 11, 637; 100, 15, 8, 785; 200, 28, 8,

1064];

% Transmitter collimating lens matrix.

TxLens = [inf, 10.667684, 1.793, 5.5, 0.15, 2.2, 18.4; inf, 8.864614, 1.793, 5.0, 0.16, 2.2, 15.29; inf, 8.0901,

1.584, 5.1, 0.18, 2.8, 13.86; -107.51, -7.47, 1.724, 7.2, 0.30, 2.2, 11.0; -94.7, -5.15, 1.718, 6.51, 0.30, 2.75,

7.5; -2.979042, 2.725382, 1.579, 6.3, 0.68, 3.2, 3.1];

% Receiver lens channel A matrix (larger lens)

RxLens1 = [43.8, inf, 1.5142, 75, 0.90, 24.2, 84.7; 38.76, inf, 1.5142, 73.5, 0.50, 32.62, 75; 38.76, inf, 1.5142,

75, 0.50, 32.62, 75];

% Receiver lens channel B matrix (smaller lens)

RxLens2 = [38.76, inf, 1.5142, 49, 0.82819, 11, 75; 38.76, inf, 1.5142, 49, 0.82819, 11, 75; 38.6, inf, 1.5142,

50.8, 0.90, 12.5, 75];

% ************************************************************************************

% This section handles the input for the transmitter source details, either

% manually or through selection of pre-entered data.

if (source ~= 1) && (source ~= 2) && (source ~= 3) && (source ~= 4) && (source ~= 5),

TxSourcePwr = input ('Transmitter Source\n Enter the power of the laser diode in mW: ');

disp ('The divergence of the laser diode must be considered when pairing with the numerical aperture of

the collimating lens.');

TxSourceFA = input ('Transmitter Source\n Enter the fast axis divergence angle of the laser diode in

degrees: ');

TxSourceSA = input ('Transmitter Source\n Enter the slow axis divergence angle of the laser diode in

degrees: ');

TxSourceWavelength = input ('Transmitter Source\n Enter the wavelength of the laser diode in nanometers:

');

clc

else

TxSourcePwr = TxSource(source, 1); % assigns value 'source'-row, column 1 to TxSourcePwr

TxSourceFA = TxSource(source, 2); % assigns value 'source'-row, column 2 to TxSourceFA

TxSourceSA = TxSource(source, 3); % assigns value 'source'-row, column 3 to TxSourceSA

TxSourceWavelength = TxSource(source, 4); % assigns value 'source'-row, column 4 to

TxSourceWavelength

end

% This section handles the input for the transmitter collimation lens details, either

% manually or through selection of pre-entered data.

if (CollLens ~= 1) && (CollLens ~= 2) && (CollLens ~= 3) && (CollLens ~= 4) && (CollLens ~= 5) &&

(CollLens ~= 6),

TxLensR1 = input ('Transmitter Collimating Lens\n Enter the radius of curvature of the first surface in

mm: ');

TxLensR2 = input ('Transmitter Collimating Lens\n Enter the radius of curvature of the second surface in

mm: ');

TxLensIn = input ('Transmitter Collimating Lens\n Enter the index of refraction of the lens: ');

TxLensDia = input ('Transmitter Collimating Lens\n Enter the diameter of the lens in mm: ');

TxLensNA = input ('Transmitter Collimating Lens\n Enter the Numerical Aperture (NA) of the lens: ');

TxLensThick = input ('Transmitter Collimating Lens\n Enter the thickness of the lens in mm: ');

TxLensFocus = input ('Transmitter Collimating Lens\n Enter the focal length of the collimating lens in

mm: ');

clc

else

TxLensR1 = TxLens(CollLens, 1); % assigns value 'CollLens'-row, column 1 to TxLensR1

TxLensR2 = TxLens(CollLens, 2); % assigns value 'CollLens'-row, column 2 to TxLensR2

TxLensIn = TxLens(CollLens, 3); % assigns value 'CollLens'-row, column 3 to TxLensIn

TxLensDia = TxLens(CollLens, 4); % assigns value 'CollLens'-row, column 4 to TxLensDia

TxLensNA = TxLens(CollLens, 5); % assigns value 'CollLens'-row, column 5 to TxLensNA

TxLensThick = TxLens(CollLens, 6); % assigns value 'CollLens'-row, column 6 to TxLensThick

Page 76: Senior Design Project - Scintillometer

- 69 -

TxLensFocus = TxLens(CollLens, 7); % assigns value 'CollLens'-row, column 7 to TxLensFocus

end

% This section handles the input for the transmitter collimation lens details, either

% manually or through selection of pre-entered data.

if (RecLensA ~= 1) && (RecLensA ~= 2) && (RecLensA ~= 3),

%************************************************************************************

RxLens1R1 = input ('Receiver Lens A\n Enter the radius of curvature of the first surface in mm: ');

RxLens1R2 = input ('Receiver Lens A\n Enter the radius of curvature of the second surface in mm: ');

RxLens1In = input ('Receiver Lens A\n Enter the index of refraction of the lens: ');

RxLens1Dia = input ('Receiver Lens A\n Enter the diameter of the lens in mm: ');

RxLens1NA = input ('Receiver Lens A\n Enter the Numerical Aperture (NA) of the lens: ');

RxLens1Thick = input ('Receiver Lens A\n Enter the thickness of the lens in mm: ');

RxLens1Focus = input ('Receiver Lens A\n Enter the focal length of lens in mm: ');

clc

else

RxLens1R1 = RxLens1(RecLensA, 1); % assigns value 'RecLensA'-row, column 1 to RxLens1R1

RxLens1R2 = RxLens1(RecLensA, 2); % assigns value 'RecLensA'-row, column 2 to RxLens1R2

RxLens1In = RxLens1(RecLensA, 3); % assigns value 'RecLensA'-row, column 3 to RxLens1In

RxLens1Dia = RxLens1(RecLensA, 4); % assigns value 'RecLensA'-row, column 4 to RxLens1Dia

RxLens1NA = RxLens1(RecLensA, 5); % assigns value 'RecLensA'-row, column 5 to RxLens1NA

RxLens1Thick = RxLens1(RecLensA, 6); % assigns value 'RecLensA'-row, column 6 to RxLens1Thick

RxLens1Focus = RxLens1(RecLensA, 7); % assigns value 'RecLensA'-row, column 7 to RxLens1Focus

end

% This section handles the input for the transmitter collimation lens details, either

% manually or through selection of pre-entered data.

if (RecLensB ~= 1) && (RecLensB ~= 2) && (RecLensB ~= 3),

%*************************************************************************************

***********************************************************************************

RxLens2R1 = input ('Receiver Lens B\n Enter the radius of curvature of the first surface in mm: ');

RxLens2R2 = input ('Receiver Lens B\n Enter the radius of curvature of the second surface in mm: ');

RxLens2In = input ('Receiver Lens B\n Enter the index of refraction of the lens: ');

RxLens2Dia = input ('Receiver Lens B\n Enter the diameter of the lens in mm: ');

RxLens2NA = input ('Receiver Lens B\n Enter the Numerical Aperture (NA) of the lens: ');

RxLens2Thick = input ('Receiver Lens B\n Enter the thickness of the lens in mm: ');

RxLens2Focus = input ('Receiver Lens B\n Enter the focal length of the lens in mm: ');

clc

else

RxLens2R1 = RxLens2(RecLensB, 1); % assigns value 'RecLensB'-row, column 1 to RxLens2R1

RxLens2R2 = RxLens2(RecLensB, 2); % assigns value 'RecLensB'-row, column 2 to RxLens2R2

RxLens2In = RxLens2(RecLensB, 3); % assigns value 'RecLensB'-row, column 3 to RxLens2In

RxLens2Dia = RxLens2(RecLensB, 4); % assigns value 'RecLensB'-row, column 4 to RxLens2Dia

RxLens2NA = RxLens2(RecLensB, 5); % assigns value 'RecLensB'-row, column 5 to RxLens2NA

RxLens2Thick = RxLens2(RecLensB, 6); % assigns value 'RecLensB'-row, column 6 to RxLens2Thick

RxLens2Focus = RxLens2(RecLensB, 7); % assigns value 'RecLensB'-row, column 7 to RxLens2Focus

end

%************************************************************************************

% This section compares the numerical aperture of the lens to the

% numerical aperture of the diode. This is confirmed for both axes to

% confirm there is no vignetting of the transmitter signal before it

% leaves the tansmitter.

format short eng;

NADiodeFA = sind(TxSourceFA/2);

NADiodeSA = sind(TxSourceSA/2);

if (TxLensNA > NADiodeFA) && (TxLensNA > NADiodeSA)

disp ('The lens is compatible with the laser diode (NAlens > NAdiode).');

else

fprintf (2,'***The lens is NOT compatible with the laser diode (NAdiode > NAlens).***');

end

Page 77: Senior Design Project - Scintillometer

- 70 -

% ***********************************************************************************

% This section will explore the principles of power density in relation to

% one lens. For simplicity, we will use the Channel A lens on axis. This

% block is purely for the demonstration of how power density is calculated

% and will be further expanded to include the spot size of the transmitter

% versus both lenses with a 10mm gap between them to account for housing.

alpha = 0.036;

RadiusFA = TxLensFocus*tand(TxSourceFA/2);

RadiusSA = TxLensFocus*tand(TxSourceSA/2);

SpotRadiusFA = (Range*1000)*(Divergence/1000)+RadiusFA; % Range * 1000 to convert into millimeters,

Divergence/1000 for mrad calculation

SpotRadiusSA = (Range*1000)*(Divergence/1000)+RadiusSA; % Range * 1000 to convert into millimeters,

Divergence/1000 for mrad calculation

W0 = TxLensDia;

Wz = 2*SpotRadiusFA;

Pspot = TxSourcePwr*(W0/Wz)*exp(-alpha*(Range/1000)); % Range/1000 converts to km^-1

Aspot = pi*SpotRadiusFA^2;

ALens1 = pi*(RxLens1Dia/2)^2;

disp ('See Figure 1.');

disp ('The analysis of a single lens (channel A) on axis vs. the generated spot size is displayed.');

disp ('This is simply to illustrate the power density falling on a single lens.');

if (Aspot >= ALens1)

PLens1 = Pspot*(ALens1/Aspot);

fprintf ('The power falling on the single lens is %e mW/cm^2.\n\n', PLens1);

elseif (Aspot < ALens1)

PLens1 = Pspot;

fprintf (2,'The spot size is smaller than the single lens and\nthe power at the lens is %e mW/cm^2.\nThis

power density is concentrated on the spot size within the scope of the lens.\n\n', PLens1);

end

t = linspace(0,2*pi,1000);

h=0;

k=0;

x = SpotRadiusSA*cos(t)+h;

y = SpotRadiusFA*sin(t)+k;

a = (RxLens1Dia/2)*cos(t)+h;

b = (RxLens1Dia/2)*sin(t)+k;

figure(1)

plot(x,y,a,b), grid, xlabel('Horizontal (mm)'), ylabel('Vertical (mm)'), legend('Spot size', 'Lens'), title ('Power

Density over a Single Lens');

axis equal; % This will display the spot size of the transmitter, as well as the upper and lower channel images.

%

**************************************************************************************

****************************************************

disp ('See Figure 2.');

disp ('This section is a simulated output of the spot size over the distance and divergence input.');

disp ('It calculates the power density per lens as each lens is a fraction of the total spot size.');

disp ('If the spot size is not large enough, the signal will not be sufficient for the purpose of the build.');

disp ('The lenses are positioned with a 10 mm gap between them to account for tubing and positioning.');

if ((2*SpotRadiusSA) >= (RxLens1Dia+RxLens2Dia+10))

% This section will calculate the power density at distance. This

% involves calculating the area of the spot at distance, and relating that

% to initial power output and exponential loss over distance.

W0 = TxLensDia;

Wz = 2*SpotRadiusFA;

Pspot = TxSourcePwr*(W0/Wz)*exp(-alpha*(Range/1000)); % Range/1000 converts to km^-1

fprintf ('The power of the spot at distance %f m with divergence %f mrad is %e mW/cm^2.\n',Range,

Divergence, Pspot);

Aspot = pi*SpotRadiusFA^2;

ALens1 = pi*(RxLens1Dia/2)^2;

ALens2 = pi*(RxLens2Dia/2)^2;

Page 78: Senior Design Project - Scintillometer

- 71 -

PLens1 = Pspot*(ALens1/Aspot);

PLens2 = Pspot*(ALens2/Aspot);

fprintf ('The power at the top lens is %e mW/cm^2\n and the power at the bottom lens is %e mW/cm^2.\n',

PLens1, PLens2);

elseif ((2*SpotRadiusSA) < 10)

fprintf (2,'There is no signal falling on the receiver.\n');

fprintf (2,'Consider expanding the beam to encompass the full receiver.\n');

else

fprintf (2,'The power density is falling only partially on each lens.\n');

fprintf (2,'This will not give a clean image of the signal.\n');

fprintf (2,'Please expand the beam to encompass the entire receiver.\n');

end

% ***********************************************************************************

% This section calculates the spot size at distance.

% Given a divergence, the following calculation displays the spot size at Range.

% d'=d+l*sin(theta)

RadiusFA = TxLensFocus*tand(TxSourceFA/2);

RadiusSA = TxLensFocus*tand(TxSourceSA/2);

SpotRadiusFA = (Range*1000)*(Divergence/1000)+RadiusFA; % Range * 1000 to convert into millimeters,

Divergence/1000 for mrad calculation

SpotRadiusSA = (Range*1000)*(Divergence/1000)+RadiusSA; % Range * 1000 to convert into millimeters,

Divergence/1000 for mrad calculation

t = linspace(0,2*pi,1000);

h=0;

k=0;

x = SpotRadiusSA*cos(t)+h;

y = SpotRadiusFA*sin(t)+k;

a1 = (RxLens1Dia/2)*cos(t)+h;

a2 = (RxLens1Dia/2)*sin(t)+((RxLens1Dia/2)+5);

b1 = (RxLens2Dia/2)*cos(t)+h;

b2 = (RxLens2Dia/2)*sin(t)-((RxLens2Dia/2)+5);

figure(2)

plot(x,y,a1,a2,b1,b2), grid, xlabel('Horizontal (mm)'), ylabel('Vertical (mm)'), legend('Spot size', 'Upper

Lens', 'Lower Lens'), title ('Spot Size Relative to Lens Configuration.');

axis equal; % This will display the spot size of the transmitter, as well as the upper and lower channel image

Page 79: Senior Design Project - Scintillometer

- 72 -

B3. MATLAB code: FFT Data

% This program will analyze imported data from a csv format and plot the

% fft graph based upon which .csv data set you specify. The figure will

% also print the name of the .csv file in the specified folder

% Created by Ben Reber

% Fall 2016 / Senior Design

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%

clc

clear all

close all

format = ('short');

% Open chosen data file

[name,folder]=uigetfile('*');

Data = fopen(name); % <- In the test window, put nameoffile.csv fodesired waveform data

% Read data in .CSV file

readData = textscan(Data,'%f %f %f %f %f','Headerlines',1,'Delimiter',',');

% Extract data from readData

samplenumber = readData(1,1);

sample = cell2mat(samplenumber);

detector1_s_ndata = readData(1,2);

d1sn = cell2mat(detector1_s_ndata);

detector2_s_ndata = readData(1,3);

d2sn = cell2mat(detector2_s_ndata);

detector1_ndata = readData(1,4);

d1n = cell2mat(detector1_ndata);

detector2_ndata = readData(1,5);

d2n = cell2mat(detector2_ndata);

samplefrequency = 8168; % this is our sampling frequency forwhich the ADCs are set at

L = length(sample); % Length of the data vector of particular excel column

NFFT = (0:1:L-1)*samplefrequency/L;

FFTo1 = abs(fft(d1sn))/L;

FFTo2 = abs(fft(d2sn))/L;

FFTo3 = abs(fft(d1n))/L;

FFTo4 = abs(fft(d2n))/L;

FFTo1 = 20*log10(FFTo1);

FFTo2 = 20*log10(FFTo2);

FFTo3 = 20*log10(FFTo3);

FFTo4 = 20*log10(FFTo4);

% FIGURE 1

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Subplot number 1

figure(1)

hold on

subplot(2,2,1);

L1 =length(d1sn);

plot(d1sn(1:8168)),

xlabel('Time (s)'),ylabel('Volts'),axis ([0 8168 0 60000]),title('Detector 1 (Signal + Noise)');

set(gca,'YTickLabel','0|0.55|1.1|1.65|2.2|2.75|3.3'),

set(gca, 'XTickLabel', '0|0.125|0.25|0.375|0.5|0.625|0.75|0.875|1'),

grid on;

% Subplot number 3

subplot(2,2,3);

L2 =length(d2sn);

plot(d2sn(1:8168)),

xlabel('Time (s)'),ylabel('Volts'),axis ([0 8168 0 60000]),title('Detector 2 (Signal + Noise)');

Page 80: Senior Design Project - Scintillometer

- 73 -

set(gca,'YTickLabel','0|0.55|1.1|1.65|2.2|2.75|3.3'),

set(gca, 'XTickLabel', '0|0.125|0.25|0.375|0.5|0.625|0.75|0.875|1'),

grid on;

% FFT Subplot number 2

subplot(2,2,2);

plot(NFFT,FFTo1),

xlabel('(Hz)'),ylabel('Magnitude (dB)'),title('Detector 1 FFT (S&N)');axis([0 4000 -40 70]);

grid on;

% FFT Subplot number 4

subplot(2,2,4);

stem(NFFT,FFTo2),

xlabel('(Hz)'),title('Detector 2 FFT (S&N)');axis([0 4000 -40 70]);

grid on;

% FIGURE 2

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Subplot number 5

figure(2)

hold on

subplot(2,2,1);

L3 =length(d1n);

plot(d1n(1:8168)),

xlabel('Time (s)'),ylabel('Volts'),axis ([0 8168 0 60000]),title('Detector 1 (Noise Only)');

set(gca,'YTickLabel','0|0.55|1.1|1.65|2.2|2.75|3.3'),

set(gca, 'XTickLabel', '0|0.125|0.25|0.375|0.5|0.625|0.75|0.875|1'),

grid on;

% Subplot number 7

subplot(2,2,3);

L4 =length(d2n);

plot(d2n(1:8168)),

xlabel('Time (s)'),ylabel('Volts'),axis ([0 8168 0 60000]),title('Detector 2 (Noise Only)');

set(gca,'YTickLabel','0|0.55|1.1|1.65|2.2|2.75|3.3'),

set(gca, 'XTickLabel', '0|0.125|0.25|0.375|0.5|0.625|0.75|0.875|1'),

grid on;

% FFT Subplot number 6

subplot(2,2,2);

plot(FFTo3),

xlabel('(Hz)'),ylabel('Magnitude (dB)'),title('Detector 1 FFT (Noise Only)');axis([0 4000 -40 60]);

grid on;

% FFT Subplot number 8

plot(2,2,4);

plot(FFTo4),

xlabel('(Hz)'),title('Detector 2 FFT (Noise Only)');axis([0 4000 -40 60]);

grid on;

Page 81: Senior Design Project - Scintillometer

- 74 -

B4. PYTHON code: Cn2 Calculations

‘’’

This python script was written to process scintillation data from an unlimited number of CSV files.

A GUI was designed to allow file selection and filtering when selecting numerous files.

The files are processed separately however the calculations are stored in unified output text and csv files.

The file names are used to maintain organization of the output files for easy plotting and analysis.

Developer: Christopher Smith

Team: Wave Propagation Research Group

‘’’

#Global Variables

SAMPLES = 300000

TRIM_SAMPLES = 114000

DIVI = 1000

def scint(fname):

#General Purpose counter

x = 0

fname_scint = fname[0:len(fname)-22]+ fname[len(fname)-13:len(fname)-7] + "scint.txt"

f_scint = open(fname_scint,'a')

f_scint.write(str(fname[len(fname)-32:len(fname)-8])+"\n")

p_period = 8168

p_width = 4084

#Background removal boolean

bg = 1

#Return value

ret = 0

#Calculations Setup

results_lo = numpy.zeros((DIVI,),dtype=numpy.float64)

#Innerscale

print("lo: ")

f_scint.write("lo: ")

for x in range(DIVI):

results_lo[x] = (x * 0.00001) + 0.00001

print(results_lo[x])

f_scint.write(str(results_lo[x]) + ",")

f_scint.write("\n")

#Wavelength

results_lambda = 0.000000660

print("Wavelength: "+str(results_lambda))

f_scint.write("Wavelength: "+str(results_lambda) + "\n")

#Wave number

results_k = 2.0 * numpy.pi / results_lambda

print("Wave Number: "+str(results_k))

f_scint.write("Wave Number: "+str(results_k) + "\n")

#Distance

results_L = 150.0

print("Distance: "+str(results_L))

Page 82: Senior Design Project - Scintillometer

- 75 -

f_scint.write("Distance: "+str(results_L) + "\n")

#RX Diameter 1

results_ap1_drx = 0.0009997464891747

print("RX1 Diameter: "+str(results_ap1_drx))

f_scint.write("RX1 Diameter: "+str(results_ap1_drx) + "\n")

#RX Diameter 2

results_ap2_drx = 0.0040684289451282

print("RX2 Diameter: "+str(results_ap2_drx))

f_scint.write("RX2 Diameter: "+str(results_ap2_drx) + "\n")

#Diameter 1 normalized

results_ap1_dd = numpy.sqrt((results_k * (results_ap1_drx*results_ap1_drx)) / (4.0 * results_L))

print("DD1: "+str(results_ap1_dd))

f_scint.write("DD1: "+str(results_ap1_dd) + "\n")

#Diameter 2 normalized

results_ap2_dd = numpy.sqrt((results_k * (results_ap2_drx*results_ap2_drx)) / (4.0 * results_L))

print("DD2: "+str(results_ap2_dd))

f_scint.write("DD2: "+str(results_ap2_dd) + "\n")

results_Ql = numpy.zeros((DIVI,),dtype=numpy.float64)

#Ql

print("Ql: ")

f_scint.write("Ql: ")

for x in range(DIVI):

results_Ql[x] = (10.89 * results_L) / results_k / (results_lo[x]*results_lo[x])

print(str(results_Ql[x]))

f_scint.write(str(results_Ql[x]) + ",")

f_scint.write("\n")

#Cn^2 test value

results_cn2t = 0.0000000000001

print("Test Cn^2: "+str(results_cn2t))

f_scint.write("Test Cn^2: "+str(results_cn2t) + "\n")

#Sigmar^2

results_sigr2 = 1.23 * results_cn2t * numpy.power(results_k,7.0/6.0) * numpy.power(results_L,11.0/6.0)

print("SigmaR^2: "+str(results_sigr2))

f_scint.write("SigmaR^2: "+str(results_sigr2) + "\n")

#bo^2

results_bo2 = 0.496 * results_cn2t * numpy.power(results_k,7.0/6.0) * numpy.power(results_L,11.0/6.0)

print("Bo^2: "+str(results_bo2))

f_scint.write("Bo^2: "+str(results_bo2) + "\n")

results_t1 = numpy.zeros((DIVI,),dtype=numpy.float64)

#t1 value

print("T1: ")

f_scint.write("T1: ")

for x in range(DIVI):

results_t1[x] = numpy.sin(11.0 / 6.0 * numpy.arctan(results_Ql[x]/3.0))

print(str(results_t1[x]))

f_scint.write(str(results_t1[x]) + ",")

f_scint.write("\n")

results_t2 = numpy.zeros((DIVI,),dtype=numpy.float64)

Page 83: Senior Design Project - Scintillometer

- 76 -

#t2 value

print("T2: ")

f_scint.write("T2: ")

for x in range(DIVI):

results_t2[x] = 2.610 /numpy.power(9.0 + (results_Ql[x] * results_Ql[x]),1.0/4.0) * numpy.sin(4.0 /

3.0 * numpy.arctan(results_Ql[x]/3.0))

print(str(results_t2[x]))

f_scint.write(str(results_t2[x]) + ",")

f_scint.write("\n")

results_t3 = numpy.zeros((DIVI,),dtype=numpy.float64)

#t3 value

print("T3: ")

f_scint.write("T3: ")

for x in range(DIVI):

results_t3[x] = 0.518 /numpy.power(9.0 + (results_Ql[x]*results_Ql[x]),7.0/24.0) * numpy.sin(5.0 /

4.0 * numpy.arctan(results_Ql[x]/3.0))

print(str(results_t3[x]))

f_scint.write(str(results_t3[x]) + ",")

f_scint.write("\n")

results_factor= numpy.zeros((DIVI,),dtype=numpy.float64)

#Factor

print("Factor: ")

f_scint.write("Factor: ")

for x in range(DIVI):

results_factor[x] = 0.4 *numpy.power(1.0 + (9.0 / (results_Ql[x]*results_Ql[x])),11.0/12.0) *

(results_t1[x] + results_t2[x] - results_t3[x]) - (3.5 /numpy.power(results_Ql[x],5.0/6.0))

print(str(results_factor[x]))

f_scint.write(str(results_factor[x]) + ",")

f_scint.write("\n")

results_ss = numpy.zeros((DIVI,),dtype=numpy.float64)

#SS

print("SS: ")

f_scint.write("SS: ")

for x in range(DIVI):

results_ss[x] = 9.65 * results_bo2 * results_factor[x]

print(str(results_ss[x]))

f_scint.write(str(results_ss[x]) + ",")

f_scint.write("\n")

results_ap1_den = numpy.zeros((DIVI,),dtype=numpy.float64)

#flux denominimumator 1

print("Den1: ")

f_scint.write("Den1: ")

for x in range(DIVI):

results_ap1_den[x] =numpy.power(1.0 + numpy.power((results_ss[x] / 1.428 / results_sigr2),5.0/7.0) *

numpy.power(results_ap1_dd,5.0/3.0),7.0/5.0)

print(str(results_ap1_den[x]))

f_scint.write(str(results_ap1_den[x]) + ",")

f_scint.write("\n")

results_ap2_den = numpy.zeros((DIVI,),dtype=numpy.float64)

Page 84: Senior Design Project - Scintillometer

- 77 -

#flux denominimumator 2

print("Den2: ")

f_scint.write("Den2: ")

for x in range(DIVI):

results_ap2_den[x] =numpy.power(1.0 +numpy.power((results_ss[x] / 1.428 / results_sigr2),5.0/7.0) *

numpy.power(results_ap2_dd,5.0/3.0),7.0/5.0)

print(str(results_ap2_den[x]))

f_scint.write(str(results_ap2_den[x]) + ",")

f_scint.write("\n")

results_ap1_scit = numpy.zeros((DIVI,),dtype=numpy.float64)

#Scintillation 1 test values

print("Sci1t: ")

f_scint.write("Sci1t: ")

for x in range(DIVI):

results_ap1_scit[x] = results_ss[x] / results_ap1_den[x]

print(str(results_ap1_scit[x]))

f_scint.write(str(results_ap1_scit[x]) + ",")

f_scint.write("\n")

results_ap2_scit = numpy.zeros((DIVI,),dtype=numpy.float64)

#Scintillation 2 test values

print("Sci2t: ")

f_scint.write("Sci2t: ")

for x in range(DIVI):

results_ap2_scit[x] = results_ss[x] / results_ap2_den[x]

print(str(results_ap2_scit[x]))

f_scint.write(str(results_ap2_scit[x]) + ",")

f_scint.write("\n")

results_ratiot = numpy.zeros((DIVI,),dtype=numpy.float64)

#Ratio test values

print("Ratiot: ")

f_scint.write("Ratiot: ")

for x in range(DIVI):

results_ratiot[x] = results_ap1_scit[x] / results_ap2_scit[x]

print(str(results_ratiot[x]))

f_scint.write(str(results_ratiot[x]) + ",")

f_scint.write("\n")

print("Samples: %u",SAMPLES)

#Initialize values to zero

results_ap1_mean_sn = 0.0

results_ap2_mean_sn = 0.0

results_ap1_mean_n = 0.0

results_ap2_mean_n = 0.0

results_ap1_mean_s = 0.0

results_ap2_mean_s = 0.0

results_ap1_sq_mean_sn = 0.0

results_ap2_sq_mean_sn = 0.0

results_ap1_sq_mean_n = 0.0

results_ap2_sq_mean_n = 0.0

results_ap1_sq_mean_s = 0.0

results_ap2_sq_mean_s = 0.0

results_ap1_var_sn = 0.0

results_ap2_var_sn = 0.0

Page 85: Senior Design Project - Scintillometer

- 78 -

results_ap1_var_n = 0.0

results_ap2_var_n = 0.0

results_ap1_var_s = 0.0

results_ap2_var_s = 0.0

results_ap1_std_sn = 0.0

results_ap2_std_sn = 0.0

results_ap1_std_n = 0.0

results_ap2_std_n = 0.0

results_ap1_std_s = 0.0

results_ap2_std_s = 0.0

results_ap1_scim_sn = 0.0

results_ap2_scim_sn = 0.0

results_ap1_scim_n = 0.0

results_ap2_scim_n = 0.0

results_ap1_scim_s = 0.0

results_ap2_scim_s = 0.0

results_ratiom_sn = 0.0

results_ratiom_n = 0.0

results_ratiom_s = 0.0

print("Getting data from memory...")

f = open(fname,'r')

f_plot = open(fname_scint[0:len(fname_scint)-9]+"plot.csv",'a')

temp = f.readline().split(",")

#print(temp)

results_ap1_sn = numpy.zeros((TRIM_SAMPLES,),dtype=numpy.float64)

results_ap2_sn = numpy.zeros((TRIM_SAMPLES,),dtype=numpy.float64)

results_ap1_n = numpy.zeros((TRIM_SAMPLES,),dtype=numpy.float64)

results_ap2_n = numpy.zeros((TRIM_SAMPLES,),dtype=numpy.float64)

results_ap1_s = numpy.zeros((TRIM_SAMPLES,),dtype=numpy.float64)

results_ap2_s = numpy.zeros((TRIM_SAMPLES,),dtype=numpy.float64)

for x in range(TRIM_SAMPLES):

temp = f.readline().split(",")

results_ap1_sn[x] = float(temp[0])

if (results_ap1_sn[x] <= 0):

results_ap1_sn[x] = 0

results_ap2_sn[x] = float(temp[1])

if (results_ap2_sn[x] <= 0):

results_ap2_sn[x] = 0

results_ap1_n[x] = float(temp[2])

results_ap2_n[x] = float(temp[3])

f_scint.write("D1 Range Errors: "+str(outRange1)+"\n")

f_scint.write("D2 Range Errors: "+str(outRange2)+"\n")

results_ap1_length = TRIM_SAMPLES

results_ap2_length = TRIM_SAMPLES

#Statistics of signal and noise

print("Performing calculations...")

results_ap1_mean_sn = numpy.mean(results_ap1_sn)

print("Detector 1 Mean_sn: "+str(results_ap1_mean_sn))

f_scint.write("Detector 1 Mean_sn: "+str(results_ap1_mean_sn) + "\n")

Page 86: Senior Design Project - Scintillometer

- 79 -

results_ap2_mean_sn = numpy.mean(results_ap2_sn)

print("Detector 2 Mean_sn: "+str(results_ap2_mean_sn))

f_scint.write("Detector 2 Mean_sn: "+str(results_ap2_mean_sn) + "\n")

results_ap1_var_sn = numpy.var(results_ap1_sn)

print("Detector 1 Variance_sn: "+str(results_ap1_var_sn))

f_scint.write("Detector 1 Variance_sn: "+str(results_ap1_var_sn) + "\n")

results_ap2_var_sn = numpy.var(results_ap2_sn)

print("Detector 2 Variance_sn: "+str(results_ap2_var_sn))

f_scint.write("Detector 2 Variance_sn: "+str(results_ap2_var_sn) + "\n")

results_ap1_std_sn = numpy.std(results_ap1_sn)

print("Detector 1 StdDev_sn: "+str(results_ap1_std_sn))

f_scint.write("Detector 1 StdDev_sn: "+str(results_ap1_std_sn) + "\n")

results_ap2_std_sn = numpy.std(results_ap2_sn)

print("Detector 2 StdDev_sn: "+str(results_ap2_std_sn))

f_scint.write("Detector 2 StdDev_sn: "+str(results_ap2_std_sn) + "\n")

results_ap1_scim_sn = results_ap1_var_sn / numpy.square(results_ap1_mean_sn)

print("Detector 1 Scint Index_sn: "+str(results_ap1_scim_sn))

f_scint.write("Detector 1 Scint Index_sn: "+str(results_ap1_scim_sn) + "\n")

results_ap2_scim_sn = results_ap2_var_sn / numpy.square(results_ap2_mean_sn)

print("Detector 2 Scint Index_sn: "+str(results_ap2_scim_sn))

f_scint.write("Detector 2 Scint Index_sn: "+str(results_ap2_scim_sn) + "\n")

results_ratiom_sn = results_ap1_scim_sn / results_ap2_scim_sn

print("Scint Index Ratio_sn: "+str(results_ratiom_sn))

f_scint.write("Scint Index Ratio_sn: "+str(results_ratiom_sn) + "\n")

#Statistics of noise only

results_ap1_mean_n = numpy.mean(results_ap1_n)

print("Detector 1 Mean_n: "+str(results_ap1_mean_n))

f_scint.write("Detector 1 Mean_n: "+str(results_ap1_mean_n) + "\n")

results_ap2_mean_n = numpy.mean(results_ap2_n)

print("Detector 2 Mean_n: "+str(results_ap2_mean_n))

f_scint.write("Detector 2 Mean_n: "+str(results_ap2_mean_n) + "\n")

results_ap1_var_n = numpy.var(results_ap1_n)

print("Detector 1 Variance_n: "+str(results_ap1_var_n))

f_scint.write("Detector 1 Variance_n: "+str(results_ap1_var_n) + "\n")

results_ap2_var_n = numpy.var(results_ap2_n)

print("Detector 2 Variance_n: "+str(results_ap2_var_n))

f_scint.write("Detector 2 Variance_n: "+str(results_ap2_var_n) + "\n")

results_ap1_std_n = numpy.std(results_ap1_n)

print("Detector 1 StdDev_n: "+str(results_ap1_std_n))

f_scint.write("Detector 1 StdDev_n: "+str(results_ap1_std_n) + "\n")

results_ap2_std_n = numpy.std(results_ap1_n)

print("Detector 2 StdDev_n: "+str(results_ap2_std_n))

f_scint.write("Detector 2 StdDev_n: "+str(results_ap2_std_n) + "\n")

results_ap1_scim_n = results_ap1_var_n / numpy.square(results_ap1_mean_n)

print("Detector 1 Scint Index_n: "+str(results_ap1_scim_n))

f_scint.write("Detector 1 Scint Index_n: "+str(results_ap1_scim_n) + "\n")

Page 87: Senior Design Project - Scintillometer

- 80 -

results_ap2_scim_n = results_ap2_var_n / numpy.square(results_ap2_mean_n)

print("Detector 2 Scint Index_n: "+str(results_ap2_scim_n))

f_scint.write("Detector 2 Scint Index_n: "+str(results_ap2_scim_n) + "\n")

results_ratiom_n = results_ap1_scim_n / results_ap2_scim_n

print("Scint Index Ratio_n: "+str(results_ratiom_n))

f_scint.write("Scint Index Ratio_n: "+str(results_ratiom_n) + "\n")

results_ap1_os = 0

results_ap2_os = 0

#Statistics of signal only

results_ap1_mean_s = results_ap1_mean_sn - results_ap1_mean_n

print("Detector 1 Mean_s: "+str(results_ap1_mean_s))

f_scint.write("Detector 1 Mean_s: "+str(results_ap1_mean_s) + "\n")

f_plot.write(str(results_ap1_mean_s) + ",")

results_ap2_mean_s = results_ap2_mean_sn - results_ap2_mean_n

print("Detector 2 Mean_s: "+str(results_ap2_mean_s))

f_scint.write("Detector 2 Mean_s: "+str(results_ap2_mean_s) + "\n")

f_plot.write(str(results_ap2_mean_s) + ",")

if (results_ap1_var_sn > results_ap1_var_n):

results_ap1_var_s = results_ap1_var_sn - results_ap1_var_n

else:

results_ap1_var_s = 0.0

print("Detector 1 Variance_s: "+str(results_ap1_var_s))

f_scint.write("Detector 1 Variance_s: "+str(results_ap1_var_s) + "\n")

f_plot.write(str(results_ap1_var_s) + ",")

if (results_ap2_var_sn > results_ap2_var_n):

results_ap2_var_s = results_ap2_var_sn - results_ap2_var_n

else:

results_ap2_var_s = 0.0

print("Detector 2 Variance_s: "+str(results_ap2_var_s))

f_scint.write("Detector 2 Variance_s: "+str(results_ap2_var_s) + "\n")

f_plot.write(str(results_ap2_var_s) + ",")

results_ap1_std_s = numpy.sqrt(results_ap1_var_s)

print("Detector 1 StdDev_s: "+str(results_ap1_std_s))

f_scint.write("Detector 1 StdDev_s: "+str(results_ap1_std_s) + "\n")

f_plot.write(str(results_ap1_std_s) + ",")

results_ap2_std_s = numpy.sqrt(results_ap2_var_s)

print("Detector 2 StdDev_s: "+str(results_ap2_std_s))

f_scint.write("Detector 2 StdDev_s: "+str(results_ap2_std_s) + "\n")

f_plot.write(str(results_ap2_std_s) + ",")

results_ap1_scim_s = results_ap1_var_s / numpy.square(results_ap1_mean_s)

print("Detector 1 Scint Index_s: "+str(results_ap1_scim_s))

f_scint.write("Detector 1 Scint Index_s: "+str(results_ap1_scim_s) + "\n")

f_plot.write(str(results_ap1_scim_s) + ",")

results_ap2_scim_s = results_ap2_var_s / numpy.square(results_ap2_mean_s)

print("Detector 2 Scint Index_s: "+str(results_ap2_scim_s))

f_scint.write("Detector 2 Scint Index_s: "+str(results_ap2_scim_s) + "\n")

f_plot.write(str(results_ap2_scim_s) + ",")

Page 88: Senior Design Project - Scintillometer

- 81 -

results_ratiom_s = results_ap1_scim_s / results_ap2_scim_s

print("Scint Index Ratio_s: "+str(results_ratiom_s))

f_scint.write("Scint Index Ratio_s: "+str(results_ratiom_s) + "\n")

f_plot.write(str(results_ratiom_s) + ",")

#C_n^2 with background

#Difference array and innerscale determinimumation

results_dif_sn = numpy.zeros((TRIM_SAMPLES,),dtype=numpy.float64)

count = 0

minimum = 0.0

minimum += 0xFFFFFFFF

print("Differences_sn: ")

f_scint.write("Differences_sn: ")

#Find ratio differences

for x in range(DIVI):

results_dif_sn[x] = numpy.abs(results_ratiot[x] - results_ratiom_sn)

if (results_dif_sn[x] < minimum):

count = x

minimum = results_dif_sn[x]

print(str(results_dif_sn[x]))

f_scint.write(str(results_dif_sn[x]) + ",")

f_scint.write("\n")

#Estimate of the innerscale

print("loest_sn: "+str(results_lo[count]))

f_scint.write("loest_sn: "+str(results_lo[count]) + "\n")

f_plot.write(str(results_lo[count]) + ",")

#Qme

print("Qme_sn: "+str(results_Ql[count]))

f_scint.write("Qme_sn: "+str(results_Ql[count]) + "\n")

#SSest

print("ssest_sn: "+str(results_ss[count]))

f_scint.write("ssest_sn: "+str(results_ss[count]) + "\n")

#sigr2est

print("sigr2est_sn: "+str(results_sigr2))

f_scint.write("sigr2est_sn: "+str(results_sigr2) + "\n")

#factorest

print("factorest_sn: "+str(results_factor[count]))

f_scint.write("factorest_sn: "+str(results_factor[count]) + "\n")

#den1est

print("den1est_sn: "+str(results_ap1_den[count]))

f_scint.write("den1est_sn: "+str(results_ap1_den[count]) + "\n")

#den2est

print("den2est_sn: "+str(results_ap2_den[count]))

f_scint.write("den2est_sn: "+str(results_ap2_den[count]) + "\n")

#Cn2est1

results_ap1_cn2est_sn = results_ap1_scim_sn * results_ap1_den[count] / (9.65 * 0.496

*numpy.power(results_k,7.0/6.0) *numpy.power(results_L,11.0/6.0)) / results_factor[count]

print("cn2est1_sn: "+str(results_ap1_cn2est_sn))

f_scint.write("cn2est1_sn: "+str(results_ap1_cn2est_sn) + "\n")

f_plot.write(str(results_ap1_cn2est_sn) + ",")

Page 89: Senior Design Project - Scintillometer

- 82 -

#Cn2est2

results_ap2_cn2est_sn = results_ap2_scim_sn * results_ap2_den[count] / (9.65 * 0.496

*numpy.power(results_k,7.0/6.0) *numpy.power(results_L,11.0/6.0)) / results_factor[count]

print("cn2est2_sn: "+str(results_ap2_cn2est_sn))

f_scint.write("cn2est2_sn: "+str(results_ap2_cn2est_sn) + "\n")

f_plot.write(str(results_ap2_cn2est_sn) + ",")

#C_n^2 without background

print("Differences: ")

f_scint.write("Differences: ")

#Counter and minimumimum value for comparison

results_dif_s = numpy.zeros((TRIM_SAMPLES,),dtype=numpy.float64)

count = 0

minimum = 0

minimum += 0xFFFFFFFF

#Difference array and innerscale determinimumation

for x in range(DIVI):

results_dif_s[x] = numpy.abs(results_ratiot[x] - results_ratiom_s)

if (results_dif_s[x] < minimum):

count = x

minimum = results_dif_s[x]

print(str(results_dif_s[x]))

f_scint.write(str(results_dif_s[x]) + ",")

f_scint.write("\n")

#Estimate of the innerscale

print("loest: "+str(results_lo[count]))

f_scint.write("loest: "+str(results_lo[count]) + "\n")

f_plot.write(str(results_lo[count]) + ",")

#Qme

print("Qme: "+str(results_Ql[count]))

f_scint.write("Qme: "+str(results_Ql[count]) + "\n")

#SSest

print("ssest: "+str(results_ss[count]))

f_scint.write("ssest: "+str(results_ss[count]) + "\n")

#sigr2est

print("sigr2est: "+str(results_sigr2))

f_scint.write("sigr2est: "+str(results_sigr2) + "\n")

#factorest

print("factorest: "+str(results_factor[count]))

f_scint.write("factorest: "+str(results_factor[count]) + "\n")

#den1est

print("den1est: "+str(results_ap1_den[count]))

f_scint.write("den1est: "+str(results_ap1_den[count]) + "\n")

#den2est

print("den2est: "+str(results_ap2_den[count]))

f_scint.write("den2est: "+str(results_ap2_den[count]) + "\n")

#Cn2est1

results_ap1_cn2est_s = results_ap1_scim_s * results_ap1_den[count] / (9.65 * 0.496

*numpy.power(results_k,7.0/6.0) * numpy.power(results_L,11.0/6.0)) / results_factor[count]

Page 90: Senior Design Project - Scintillometer

- 83 -

print("cn2est1: "+str(results_ap1_cn2est_s))

f_scint.write("cn2est1: "+str(results_ap1_cn2est_s) + "\n")

f_plot.write(str(results_ap1_cn2est_s) + ",")

#Cn2est2

results_ap2_cn2est_s = results_ap2_scim_s * results_ap2_den[count] / (9.65 * 0.496 *

numpy.power(results_k,7.0/6.0) * numpy.power(results_L,11.0/6.0)) / results_factor[count]

print("cn2est2: "+str(results_ap2_cn2est_s))

f_scint.write("cn2est2: "+str(results_ap2_cn2est_s) + "\n")

f_plot.write(str(results_ap2_cn2est_s) + ",\n")

f_scint.write("\n")

f_scint.close()

f.close()

f_plot.close()

print("Finished!")

return ret

dialog = gtk.FileChooserDialog("Open..",

None,

gtk.FILE_CHOOSER_ACTION_OPEN,

(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,

gtk.STOCK_OPEN, gtk.RESPONSE_OK))

dialog.set_default_response(gtk.RESPONSE_OK)

dialog.set_select_multiple(True)

filter = gtk.FileFilter()

filter.set_name("CSV")

filter.add_pattern("*.csv")

dialog.add_filter(filter)

filter = gtk.FileFilter()

filter.set_name("All files")

filter.add_pattern("*")

dialog.add_filter(filter)

response = dialog.run()

if response == gtk.RESPONSE_OK:

data_files = dialog.get_filenames()

dialog.destroy()

print "The files to be processed are: " + str(data_files)

elif response == gtk.RESPONSE_CANCEL:

dialog.destroy()

print 'Closed, no files selected'

dialog = gtk.FileChooserDialog("Open..",

None,

gtk.FILE_CHOOSER_ACTION_OPEN,

(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,

gtk.STOCK_OPEN, gtk.RESPONSE_OK))

for data in data_files:

scint(data)

Page 91: Senior Design Project - Scintillometer

- 84 -

exit(0)

Page 92: Senior Design Project - Scintillometer

- 85 -

David Benjamin Reber

Graduated Valencia College December 2016

with a 3.66 GPA

B.S.E.C.E.T. Lasers & Optics

A.A. Engineering

Tech Cert: Lasers & Photonics Technician

Dean’s List 3x

Research Interests: Signal Processing,

Analog/Digital/RF Design, Robotics, and Laser

Systems

IEEE, Florida Engineering Society

Currently employed by Valencia College as an

EET Lab Assitant

Christopher Smith

Graduated from Valencia College December

2016 with GPA 3.9

B.S.E.C.E.T; Electrical/Electronic Systems

A.S.E.E.T; Electronics, Lasers and Photonics,

Telecommunications Wireless

A.A. General Education

Tech Certs; Lasers and Photonics, Basic

Electronics, Advanced Electronics, Micro-

Computer Repair, Wireless & IP Comm.

Presidents List, 5x Summa Cum Laude

Primary Focus: Research and Development,

Digital Signal Processing, and Control Systems

Lead Engineer at Townes Institute Science and

Technology Experimentation Facility Kennedy

Space Center

Marc Bradman

Graduated from Valencia College December

2016 with GPA 3.2

A. A. General Engineering

Tech. Cert: Laser & Photonics Technician

B.S.E.C.E.T. Lasers & Photonics

Interests include visualization, holography, and

augmented reality applications.

Dean’s List, President’s List, 2nd Place 2014

Engineer’s Week Science Showcase (LED

Cube)

IEEE, Florida Engineering Society, Phi Theta

Kappa

Technical Coordinator at Universal Creative