Sunteți pe pagina 1din 76

AMITY UNIVERSITY

______
UTTAR PRADESH______
A Dissertation Report
On

a) Development of LabVIEW Based System for


Controlling and Communicating with GPS and
b) Development of an Algorithm for Prediction of Laser
Cross-Section of a Simple Target Constituting of a Flat Plate
and a Sphere

In partial fulfillment of requirements for the award of the degree of

Master of Technology
In
Electronics & Communication
By

Priyanka Sharma
Under the guidance

Dr. Ravindra Singh

Mr. Manish Sharma

Sc. F, LASTEC, DRDO


External Guide

Assistant Professor
Internal Guide

Dept. Electronics & Communication


Amity School of Engineering & Technology,
Amity University, Uttar-Pradesh
Noida (U.P.)

Declaration

I Priyanka Sharma student of M.Tech EC here by declare that the dissertation


titled Development of LabVIEW Based System for Controlling and
Communicating with GPS and Development of an Algorithm for Prediction of
Laser Cross-Section of a Simple Target Constituting of a Flat Plate and a
Sphere which is submitted to Department of Electronics & Communication,
Amity School of Engineering & Technology, Amity University, Uttar-Pradesh,
Noida in partial fulfillment of requirement for the award of degree of Master of
Technology in Electronics & Communication has not been previously formed
the basis for the award of any degree, diploma or other similar title or recognition.

Place: Noida
Date:

Name & Sign of Student

LASER SCIENCE AND TECHNOLOGY CENTRE


DEFENCE RESEARCH &DEVELOPMENT ORGANIZATION
MINISTRY OF DEFENCE
METCALFE HOUSE, NEW DELHI - 110054
Phone: (011) 23907- 573, 543
Website: www.drdo.gov.in

Certificate
This is to certify that Ms. Priyanka Sharma, student of M.Tech (ECE) Amity
University,

Noida,

has

successfully

completed

the

dissertation

entitled

Development of LabVIEW Based System for Controlling and Communicating


with GPS and Development of an Algorithm for Prediction of Laser CrossSection of a Simple Target Constituting of a Flat Plate and a Sphere and has
worked under my supervision and guidance in Laser Science and Technology
Center (LASTEC), Defence Research and Development Organization (DRDO),
Ministry of Defence, Metcalfe House, Delhi.
To the best of my knowledge, the work is original and has not been submitted
elsewhere for any other academic attainment.

Dr. Ravindra Singh


Scientist F
Control System Group
LASTEC, DRDO

Certificate
On the basis of Dissertation submitted by Priyanka Sharma, student of M.Tech.
ECE, I hereby certify that the dissertation titled Development of LabVIEW Based
System for Controlling and Communicating with GPS and Development of an
Algorithm for Prediction of Laser Cross-Section of a Simple Target Constituting
of a Flat Plate and a Sphere, which is submitted to Department of Electronics &
Communication, Amity School of Engineering & Technology, Amity University,
Uttar-Pradesh, Noida, iIn partial fulfillment of requirement for the award of the
degree of Master of Technology in Electronics & Communication is an original
contribution with existing knowledge and faithful record of work carried out by her
under my guidance and supervision.
To the best of my knowledge this work has not been submitted in part or full for any
Degree or Diploma to this University or elsewhere

Place: Noida

Internal Guide: Mr. Manish Sharma


Assistant Professor, Dept of ECE

Date:

Amity School of Engineering & Technology

Acknowledgment
I avail this opportunity to express my gratitude to all those who have directly or
indirectly helped me with my thesis.
Firstly, I express my sincere gratitude to Dr. Anil Kumar Maini, Director, Laser
Science and Technology Centre, for allowing me to carry out the project work in this
prestigious research and development centre and gain valuable experience.
I am blissful to express my deep sense of gratitude to Dr. Ravindra Singh Sc. F
who gave me the opportunity to work in Control System Group (CSG) to gain applied
knowledge. I would also like to thank Ms. Sweta Singh, Sc. E for discussing the
module of the project in a systematic manner. Their constant interaction, expert
guidance and valuable suggestions helped me to complete this project successfully.
I would like to thank all the members of the CSG group for giving me easy access
to all the resources required for the successful completion of the project.
I would also like to express my gratitude to my internal guide, Mr. Manish Sharma,
Assistant Professor, Department OF Electronics & Communication, Amity
University, Uttar-Pradesh for his cooperation.
I also express my gratitude to my Program Leader, Ms. Neeru Agarwal, Assistant
Professor, Department OF Electronics & Communication, Amity University, UttarPradesh and to the members of the Department, who helped me in many ways during
my thesis work.
I am thankful to my family members and friends for their love, support, and good
wishes throughout my studies.

Ms. Priyanka Sharma


M.Tech ECE
A2315312009

Organization Profile

DEFENCE RESEARCH AND DEVELOPMENT ORGANIZATION was formed


in 1958 from the amalgamation of the then already functioning Technical
Development Establishment (TDEs) of the Indian Army and the Directorate of
Technical Development & Production (DTDP) with the Defence Science
Organization (DSO). DRDO was then a small organization with 10 establishments or
laboratories.
Over the years, it has grown multi-directionally in terms of the variety of subject
disciplines, number of laboratories, achievements and stature. Today, DRDO is a
network of 51 laboratories which are deeply engaged in developing defense
technologies covering various disciplines, like aeronautics, armaments, electronics,
combat vehicles, engineering systems, instrumentation, missiles, advanced computing
and simulation, special materials, naval systems, life sciences, training, information
systems and agriculture. Presently, over 5000 scientists and about 25,000 other
scientific, technical and supporting personnel back the Organization.
Several major projects for the development of missiles, armaments, light combat
aircrafts, radars, electronic warfare systems etc are on hand and significant
achievements have already been made in several such technologies.

Laser Science and Technology Centre


(LASTEC)
Laser Science and Technology Center (LASTEC) has its beginning as the
experimental wing of DSO (Defence Science Organization) started under Prof. DS
Kothari, first Scientific Advisor to Raksha Mantri in January 1950. It was called the
Defence Science Laboratory (DSL).

After a decade in 1960 on 9 th April, Mr. Krishna Menon, the then Defence Minister,
inaugurated the Defence Exhibition at the Metcalfe House. Thus, DSL moved to its
present campus of Metcalfe House. Prime minister Pt.Jawahar Lal Nehru visited DSL
on 13th April 1960 and addressed the Defence scientists and academicians.
After reaching Metcalfe House, DSL exploded with expansion giving birth to as
many 15 labs of DRDO which included DRDL, SSPL, INMAS, FRL, ISSA,
DESIDOC, DIFR, SAG. DRDO formally came into being on 1 st January 1958. DSL,
which was working in many area of Defence interest, now started concentrating in the

area of Pure Sciences such as Physics Chemistry and Mathematics. The Chemistry
division developed G-fuel and UDMH for rocket and missile.
The Mathematics division continued its support to the Missile Programme with
simulation and calculation while the Physics division took the lead by launching
many activities.
In 1981 DSL got its new Technical Building, its New Charter of Duties to work in the
area of Lasers and its new name as Defence Science Center (DScC), which continued
till 1999.Subsequently, the present name of Laser Science and Technology Center was
notified. With the start of DScC in 1981, intensive work commenced on Solid State
Laser, CO2 laser, ALARM, LRF, Fiber Optic Gyroscope, Ring Laser Gyroscope,
Laser Intruder Alarm system, etc.
In the late eighties, DScC took up challenging work on Gas Dynamic Laser, which
was successfully developed indigenously. It was operated for the first time in India
with output power of 10Kw in 1996. Later in 1997, DScC took yet another
challenging work of Chemical Oxygen Iodine Lasers (COIL) and some work on
Electro Optic Counter Measure (EOCM). Chemistry Div of DScC started working on
lasers Materials including Laser Crystals and Laser Glasses.
During the last three years LASTEC has been engaged in developing GDL, COIL,
LIDAR, Eye safe Laser, latest Crystals ND: YV04, Nd: GGG etc and En and Nd:
Doped Phosphate Glasses, along with EOCM Gadgets like Laser Threat Warner,
Laser Dazzlers, PRF Decoders.
Last year LASTEC took R&D work in the area of Heat Capacity Solid State Laser
(HCSSL), Fiber laser and Liquid Oxygen Laser and recently achieved and
outstanding success by making a HCSSL laser of 52j for the first time in India.
This passing year LASTEC has also achieved another milestone by developing Laser
Seeker Test set up, LGB tester, and IR tester for Missile, in addition to 5kg GDL on
trailer. The vehicle-mounted laser demonstrated its capability outside the lab as well.
This year, for the first time in India, LASTEC also developed a full ND: YVO4 laser
by growing its crystal, processing it cutting, polishing, thin film coating, and finally
shaping it into laser. LASTEC is also on verge of developing new COIL.
8

With so many activities to its credit and with successful achievement of results
LASTEC is heading towards becoming a pioneer centre of laser activities in India.

Special Note:
In this dissertation, two projects were undertaken, the first of which is

Development of LabVIEW Based System for Controlling


and Communicating with GPS and is denoted by A throughout the
thesis. The second project is

Development of an Algorithm for

Prediction of Laser Cross-Section of a Simple Target


Constituting of a Flat Plate and a Sphere
B throughout the thesis.

which is denoted by

Abstract (For Project A)


In todays scenario, wherever there are multiple systems, synchronization of each of
them with each other is a must. This synchronization could be in terms of time, speed
etc. When we talk about synchronization of various systems in terms of time, the
most accurate time providing device available today is the atomic clock. Hence, the
best synchronization could be achieved with the use of atomic clocks. But they are
very expensive to manufacture.
Another source of accurate time is the GPS receiver. It gets this time from the
satellites which have atomic clocks inside them, hence providing accurate time. The
time is available in the $GPRMC sentence which comes from the satellites. This GPS
sentence is available in NMEA 0183 protocol (NMEA stands for National Marine
Electronic Association). But the problem here is that the time is available in encoded
form. It needs to be decoded to be used for time synchronization.
In this project, we have developed a module which serially communicates with the
GPS receiver. In serial mode data goes from the GPS receiver to the computer system
at a speed of one bit at a time (as happens in normal serial communication scenario).
This sent data includes the $GPRMC sentence which contains the time information.
We then convert the received time information, which is in decimal form, to the
hexadecimal format with the help available online and store it in a text file.
The next part of the module, which is the time extraction module, is fed with the text
file created (in hexadecimal format). This sub-module then extracts the time in the
relevant format from the data entered.
The module has been designed in the user friendly software LabVIEW. This module
is a GUI (graphical user interface) which actively interacts with the user. The module
works proper and gives the exact time.

10

Abstract (For Project B)


In earlier days most of the weapons were radar based. Therefore, extensive research
was carried out in this section. While, these days most of the bombs, missiles, tanks
and other artillery are laser guided, i.e., they are guided to a target with the help of a
laser beam. Due to this, the beam hits the target and is reflected back. This reflected
laser beam is gathered by the laser receiver present on the vehicle, missile etc. and it
gives an idea of the size and direction of the target, thus making it easier for the
bomb, missile etc. to hit the target accurately. But, if the target is less reflecting
towards the laser, then the size of the target might get wrongly estimated and it would
be difficult for the bomb to hit the target accurately.
In this project, we predict or calculate the laser cross section of a target so that we
could get to know the amount of laser light which will be reflected from the target
when subjected to a laser beam. This laser cross section is nothing but the reflecting
property of the target towards lasers. Once we have calculated the laser cross section
of the target, we could device certain measures to reduce the same so that the target
becomes less detectable to the enemy. These measures include painting the target
surfaces with laser absorbing paints, reducing the edges in the target (as edges reflect
more and thus are easily detected), increasing the plane surfaces in the target etc.
Here, we have become successful in creating a module which predicts the laser cross
section of a simple target which constitutes of a flat plate and a sphere. This is
accomplished by calculating the laser cross sections of the simple shapes-flat plate
and sphere-individually and then summing the two to obtain the total laser cross
section of the target.
The algorithm, here, is simulated in LabVIEW. This software is very user friendly,
highly accurate and interactive (with the user). The module designed here is exact and
works proper.

11

Contents
1. Introduction

1.A Introduction

1.1.A About GPS And Its Function In Given Project

1.2.A About LabVIEW And Its Function In Given Project

1.3.A Significance Of Time Extraction In The Given Project

1.3.1.A Reason For Time From GPS Being Highly Accurate


1.B Introduction

4
4

1.1.B About LCS And Its Role In Given Project

1.2.B About LabVIEW And Its Role In Given Project

1.3.B Significance Of LCS Prediction

2. Literature Review

2.A Literature Review

2.1.A Existing Module/System

2.2.A Proposed Module/System

2.3.A Advantages Of Proposed Module/System

2.B Literature Review

10

2.1.B Existing Module/System

10

2.2.B Proposed Module/System

11

2.3.B Advantages Of Proposed Module/System

11

3. Problem Formulation

12

3.A Problem Formulation

12

3.1.A Objectives

12

3.2.A Hardware Specification

13

3.3.A Software Specification

13

3.B Problem Formulation

13

3.1.B Objectives

13

3.2.B Hardware Specification

13

3.3.B Software Specification

13

4. System/Module Design

14

4.A System/Module Design

14
12

4.1.A Serial Configuration Sub-Module

14

4.2.A Test Sub-Module

17

4.2.1.A Loopback test

19

4.3.A GPS time finding sub-module

21

4.4.A Details of sub-modules of block diagram

22

4.4.1.A Details of functions in serial configuration sub-module

24

4.4.2.A Details of functions in test sub-module

26

4.4.3.A Details of functions in GPS time finding sub-module

27

4.4.3.1.A Details of functions in automatic text


file reading sub-module

28

4.4.3.2.A Details of functions in GPS time


extraction from the read file sub-module
4.B System/module design

32
35

4.1.B LCS of flat plate

36

4.1.1.B LabVIEW module for calculating the LCS of flat plate


4.2.B LCS of sphere

37
38

4.2.1.B BRDF

38

4.2.2.B LabVIEW module for calculating the LCS of sphere

39

4.3.B Complete LabVIEW module for calculating LCS of target

40

5. System And Module Implmentation

42

5.A System and module implementation

42

5.1.A System implementation

42

5.2.A Module implementation

42

5.B System and module implementation

44

5.1.B System implementation

44

5.2.B Module implementation

44

6. Results

46

6.A Results

46

6.B Results

47

7. Conclusion And Future Enhancement

49

7.A Conclusion and future enhancement

49

7.B Conclusion and future enhancement

50

8. Bibliography

51

8.A Bibliography

51
13

8.B Bibliography

52

List of Figures
Figure 1.1.A: Architectural Representation of the Whole System

Figure 1.1.A: Block diagram of the setup

Figure 2.1.A: Existing module

Figure 4.1.A: Block diagram of Module design

14

Figure 4.2.A: NI-VISA hierarchy

15

Figure 4.3.A: Serial Configuration sub-module

16

Figure 4.4.A Block diagram of the serial configuration sub-module

17

Figure 4.5.A: Starting window of the hyperterminal

18

Figure 4.6.A: Configuration window of hyperterminal

18

Figure 4.7.A: Testing window of hyperterminal

19

Figure 4.8.A: DB9 Connector

19

Figure 4.9.A: Front panel of test sub-module

20

Figure 4.10.A: Block diagram of the test sub-module

21

Figure 4.11.A: Front panel of the GPS time finding module

22

Figure 4.12.A: Block diagram snapshot of the GPS time finding module

22

Figure 4.13.A: Overview of the module

22

Figure 4.14.A: The block diagram of the complete module

23

Figure 4.15.A: The front panel (GUI) of the complete module

23

Figure 4.16.A: Details of the Serial Configuration sub-module

24

Figure 4.17.A: Details of the Test sub-module

26

Figure 4.18.A Details of the blocks and functions used in


automatic text file reading sub-module

28

Figure 4.19.A: Error 43

30

Figure 4.20.A: Details of GPS time extraction from the read file sub-module

33

Figure 4.1.B: Steps for predicting the LCS of a target

36

Figure 4.2.B: Module to calculate the LCS of flat plate-Block diagram

37

Figure 4.3.B: Module to calculate the LCS of flat plate-Front panel

37

Figure 4.4.B: Gaussian dents

39

Figure 2: Module to calculate the LCS of Sphere-block diagram

39

14

Figure 4.5.B: Module to calculate the LCS of Sphere-Front panel

40

Figure 4.6.B: Context diagram of total LCS calculation

40

Figure 4.7.B: Complete Module to Calculate the LCS of target-block diagram

41

Figure 4.8.B: Complete Module to Calculate the LCS of target-Front Panel

41

Figure 5.1.A: System block diagram

42

Figure 5.2.A: Turned off read and write buttons

42

Figure 5.3.A: Turned off time finding button

43

Figure 5.4.A: Turned on read and write buttons

43

Figure 5.5.A: Turned on time finding button

43

Figure 5.6.A: $GPRMC Time data in hexadecimal and vertical form

44

Figure 6.1.A: Run button

46

Figure 6.2.A: The GUI designed

46

Figure 6.1.B: Run button

47

Figure 6.2.B: Complete Module to Calculate the LCS of target-Front Panel

48

15

List of Tables
Table 4.1.A Stop bits

25

Table 4.2.A Operations which can open/create /replace file function does

30

Table 4.3.A Various values of access

30

Table 6.1.A Readings of time extracted

47

16

Abbreviations Used
BRDF

Bidirectional Reflection Distribution Function

FOV

Field of View

GPIB

General Purpose Instrumentation Bus

GPS

Global Positioning System

GUI

Graphical User Interface

LabVIEW

Laboratory Virtual instrument Engineering Workbench

LCS

Laser Cross Section

NI

National Instruments

NMEA

National Marine Electronics Association

VI

Virtual Instrument

VISA

Virtual Instrument Software Architecture

$GPRMC

Recommended Minimum Specific GPS/Transit data

17

18

Chapter 1
Introduction
1.A Introduction
1.1.A About GPS and Its Function in the Given Project
GPS stands for global positioning system. Its designed and developed by the U.S.
Its a navigation system which uses satellites (standard being 24) to give the position
of any place on earth via latitude and longitude [10]. Besides latitude and longitude
information it gives much more data. This includes time as well. In this project,
whose aim is to develop a LabVIEW based system which communicates with a GPS
receiver, we extract time information. This time is highly accurate as it is calculated
using satellites, which have atomic clocks inside them. It is available in GPS sentence
$GPRMC. $GPRMC stands for Recommended Minimum Specific GPS/Transit data
[6]. This sentence belongs to the NMEA 0183 communication protocol. NMEA is
National Marine Electronic Association.
$GPRMC has a fixed format which is given as under [2]:
$GPRMC,time (hhmmss),(A or V),latitude (ddmm.mmm),(South or North),longitude
(dddmm.mmm),(East or West), ground speed in knots (kkk.k),direction (ddd.d),date
(ddmmyy),,*CS
Where,
hhmmss in hours, minutes, seconds
A=Data valid
V=Warning that data may not be valid
ddmm.mmm=latitude in degrees minutes and thousandths of minutes
North or South=North or South latitude
dddmm.mmm = longitude in degrees minutes and thousandths of minutes
East or West = East or West longitude
kkk.k = speed on ground in nautical miles per hour
ddd.d = course on ground, degrees true
ddmmyy = date in days, months, year
1

,, = nul field
*CS is check sum
Example of $GPRMC data is as shown below:
$GPRMC,110710.000,A,2841.0878,N,07713.5323,E,0.02,74.65,310314,0.6.
In this project we would only be extracting the time component out of all the contents
of $GPRMC sentence.

1.2.A About LabVIEW and Its Function in the Given Project


LabVIEW stands for Laboratory Virtual Instrument Engineering Workbench. Its a
National Instrument development which is a system-design platform which uses
visual programming language. It can perform data acquisition, instrument control and
industry automation on various platforms like Microsoft Windows, Linux, UNIX etc.
LabVIEW works through VIs. VIs are Virtual Instruments which are nothing but
LabVIEW programs. Each VI consists of a) block diagram, b) front panel and c)
connector pane. The block diagram consists of the actual connections; the front panel
consists of the controls and indicators and the connector pane consists of the Vis
which are to be used as subVIs [3].
LabVIEW has various advantages over other text based programming languages. It
uses icons instead of lines of text to create applications. Also, in LabVIEW we have
graphical data flow programming wherein the flow of data through the nodes on the
block diagram determines the order of execution. Whereas in text based programming
languages, instructions determine the order of program execution. Besides this,
LabVIEW has interactive and intuitive debugging tools. For example, here we can see
the data move through the wires of a LabVIEW program and its values at every
instant. This feature is not provided in the text based programming languages.
In this project, a GPS module would be communicating with a computer system (P4)
with the help of LabVIEW, i.e., LabVIEW is the medium of communication between
the computer system and the GPS module. We would be extracting the time
information from GPS. This time is given by the GPS receiver in encoded format. We
would be extracting time in the required decoded format.
2

1.3.A Significance of Time Extraction in the Given Project


In this project we are extracting time from GPS module. We have many systems
which need to be synchronized. These systems are as shown below:

Green indicates the module on which


work has been performed

Figure 1.1.A Architectural Representation of the Whole System


Here, Storage Unit is a software application which monitors and analyses the
parameter data in all the above systems. Fig. 1.1.A shows all the systems which
interact with the Storage Unit. All these systems run on different computer systems.
These systems need to be synchronized. They all have different internal clocks. We
3

could either synchronize these different clocks so that all these systems run in
synchronization or we could give these systems the same clock altogether. This same
clock comes from GPS which is highly accurate.

1.3.1.A Reason of Time from GPS Being Highly Accurate


Each satellite has an atomic clock. These atomic clocks are very expensive but highly
accurate with respect to themselves and with respect to other satellites clocks. Thus,
it is assumed that mostly the problems lie within the clock of the GPS unit, which is
not atomic due to cost constraints. The solutions to these problems are using a fourth
satellite which enables a cross-check to the trilateration process. In this trilateration
process, three signals from three satellites pinpoint the location exactly, but adding a
fourth one would not coincide with the calculated location if there is an inconsistency.
This inconsistency forces the GPS software to carry out an additional calculation
which finds a value that it uses to alter the signals so that all the four lines intersect.
Thus we get a very accurate clock from GPS receiver without actually using an
atomic clock [4].

1.B Introduction
1.1.B About LCS and its Role in the Given Project
LCS stands for Laser Cross Section. When the laser light falls on a distant target, a
part of the reflected beam comes back to the receiver which is mostly located near the
transmitter. LCS is this scattering property of the target, which indicates the amount
of laser signal returned from the target to the laser receiver [1]. The more the reflected
laser received at the receiver, the greater the laser cross section area.

Mathematically, LCS is given by equation (1.1.A).


LCS=

scattered field power


Incident field power

(1.1.A)

= lim

4 R2|Es|
2

|Ei|

(1.2.A)

Where is the LCS, Es and Ei are the scattered and incident electric filed vectors
respectively and R is the range between the target and receiver.
a)

Beam profile: Beam profile includes beam polarization (it refers to the
orientation of the electric field of the wave which is laser in this case) and
beam wavelength. LCS depends on the polarization of the incident wave as
well as the polarization selectivity of the detector. If both the polarizations are
same then the LCS obtained is optimum. Also, the LCS is inversely
proportional to the beam wavelength or it can be said that it is directly
proportional to the beam frequency.

b) Beam Width: It is the directional angle spread within which the main lobe
beam power is above a certain threshold [2]. If beam width is large, then the
spread of the beam would be large and the target would fall under it. Hence,
the beam width should be optimum so that the target falls within it and we get
optimum LCS.
c) Laser Temporal and Spatial Coherence: Coherence is a property of waves
that specifies the ability of the waves to interfere with each other. Two waves
which are coherent can be combined to produce a stationary distribution of
constructive and destructive interference (this is a visible interference pattern)
which depends on the relative phase of the waves at their meeting point.
Waves that are incoherent, when combined, produce rapidly moving areas of
constructive and destructive interference which is not a visible interference
pattern.
5

Coherence is of two types: i) temporal and ii) spatial. Correlation between the
waves at one place at different times, or along the path of a beam at a single
instant, is called temporal coherence. Correlation between different places
(but not along the path) is called spatial coherence [3].
It is observed that the higher the laser temporal and spatial coherence, the
better is the LCS.
d) Target Surface Characteristics:

The LCS depends on the reflectance or

reflectivity of the target surface.


LCS = 4Ai

(1.3)

Where, is the reflectance and Ai is the spot physical area.


Hence, it can be said that LCS is directly proportional to reflectance of the
surface.
e) Receiver Aperture and FOV: Aperture is a small opening through which
light travels [4]. In this case the receiver aperture is the small opening into
which the reflected laser beam falls. This receiver aperture should be large
enough to allow the entire reflected laser beam, travelling towards the
receiver, to enter the receiver. Hence, it can be said that the synchronization of
the aperture of the receiver and the target produces optimum LCS.
FOV stands for field of view. It is the angle at which the laser beam is
transmitted so that the target can be seen fully. For optimum prediction of the
LCS, the target should lie in the FOV of the detector and of the receiver.
The set up for LCS prediction is shown below:

Reflection of laser

Figure 1.1.B Block diagram of the setup

Our target in this project is to predict this laser cross section.

1.2.B About LabVIEW and Its Role in the Given Project


The introduction about LabVIEW is given in section 1.2, page 2.
In this project, we are designing an algorithm in LabVIEW, to predict the laser cross
section of a simple target which constitutes of a flat plate and a sphere. This could be
done on any platform, for instance C, C++ etc. but the reason of choosing LabVIEW
is its user friendly character and its graphical programming ability. LabVIEW has a
7

quite a few advantages over text based programming languages like C, C++, Java etc.
These advantages are:
a) LabVIEW uses icons instead of lines of text to create applications.
b) In LabVIEW we have graphical data flow programming wherein the flow of
data through the nodes on the block diagram determines the order of
execution. Whereas in text based programming languages, instructions
determine the order of program execution.
c) LabVIEW has interactive and intuitive debugging tools. For example, here we
can see the data move through the wires of a LabVIEW program and its
values at every instant. This feature is not provided in the text based
programming languages.

1.3.B Significance of Laser Cross Section Prediction


These days most of the bombs and weapons are laser guided [5]. They get easily
tracked or detected by a laser beam. To make these weapons less observable or visible
by the laser (stealth technology) we need to predict their laser cross section area.
Once its predicted, we try to minimize the same so that the enemy cant detect these
weapons easily.
The minimization of LCS can be done by the following methods:
a) Changing the shape of the target: Edges reflect a large amount of laser light
falling on them while flat shapes are poor reflectors. Hence, to decrease the
laser cross section we should avoid edges.
b) Non-metallic frame: Metals have high reflectivity to lasers. Hence, to reduce
the laser cross section we can use dielectric materials.
c) Laser absorbing materials: We can use the laser absorbing materials like iron
ball paint, foam absorber, Jaumann absorber, split ring resonator absorber
[6]etc. on the target

Chapter 2
Literature Review
2.A Literature Review
9

2.1.A Existing Module/System:


GPS gives a lot of information which include position, date, time, speed and course.
Many modules have been designed in the past to extract this information. There are
modules which are LabVIEW based that extract latitude and longitude [5]. But no
module has been designed for extracting time using LabVIEW.

.A Proposed Module/System:

In the proposed module, we are trying to extract time information from the GPS
receiver. This is done using LabVIEW.
There existed a module by Pong Ke Xin which extracted latitude and longitude
information from GPS receiver using LabVIEW [5]. This module is shown below.

Figure 2.1.A Existing module


Using the help of this module of Pong Ke Xin, we have designed a module to extract
time information from the GPS receiver using LabVIEW.

2.3.A Advantages of the Proposed Module/System:


It extracts the time information from the GPS receiver which helps in
synchronizing the whole system.

The proposed module consists of 3 sub modules: a) Serial configuration


module, b) Test module and c) GPS Time finding module. It means through
this module we can allow a) GPS receiver to serially communicate with the
10

computer system (via LabVIEW), b) test the same and then c) extract time
from the same.

This module is fast and easy to use. It first creates a log file and takes the
same automatically to extract the time.
Hence, it was worth investing in the time and efforts to create this module.

2.B Literature Review


2.1.B Existing Module/System:
In the recent past, the weapons and bombs were radar guided, so a lot of work was
done on predicting the radar cross section area of the target [7]. After this, attempts
were made to reduce this radar cross section area. But in todays scenario, most of the
artillery is laser guided. Hence it becomes mandatory to predict the laser cross section
of those targets and make efforts to reduce the same.
Laser cross section and radar cross section differ from each other. These differences
are:
1) In predicting laser cross-section, a coherent beam of light (laser) falls upon the
target whereas in radar cross-section, the EM wave falls upon the target.
2) Predicting laser cross-section is needed so that the target becomes less
detectable to laser (stealth) and predicting radar cross-section is needed so that
the target becomes less detectable to radar.
3) The laser gives the cross-section of each point individually while the radar
gives the gross cross-section of the target because laser is a point source and
radar diverges.
4) Lasers are capable of extremely accurate angular measurement because of
their small beam diameters (on transmit) and narrow fields of view (on
receive) while this is not the case with radars.
5) The detection and tracking ranges in case of lasers are much shorter than radar
because of low transmitter power and higher atmospheric attenuation.
As of now, not much work has been done in preparing a module which can predict the
laser cross section of a simple target except in the book by David C. Jenn, where we
find some basic formulae of calculating the LCS of simple shapes [1].
11

2.2.B Proposed Module/System:


Here, we propose a module which can predict the laser cross section of a simple
target which constitutes of a flat plate and a sphere. This has been designed in
LabVIEW which makes it all the more user friendly.

2.3.B Advantages of the Proposed Module/System:


It can predict the laser cross section of a simple target constituting of a flat
plate and a sphere. Once this LCS is known, it can be reduced by various
methods.

Its a GUI designed in LabVIEW, hence is very user friendly and easy to
implement.
Hence, it was worth investing in the time and efforts to create this module.

12

Chapter 3
Problem Formulation
3.A Problem Formulation
We had a large number of systems which needed to be synchronized with each other
on the basis of time. These systems were present on different computer systems. We
needed an accurate and economic source of time so that all these systems would work
in synchronization. The diagram of these systems is as shown in fig. 1. The details are
also mentioned there.
We had two options to synchronize these systems: a) to synchronize the different
clocks of all these computer systems so that work as per requirement or b) to provide
a common accurate clock to all these systems. The second option seemed more
precise and accurate. But the problem was now to get an affordable clock which
could be provided to all the systems.
As we all know, the most accurate clock known is the atomic clock. But it is very
expensive. To reduce the cost, we decided to use a readily available GPS receiver.
This GPS receiver interacts with the satellites each of which has an atomic clock.
With the help of four such satellites (minimum), the GPS receiver gives time as
accurate as the atomic clock. Thus the problem of getting an accurate but economic
clock was resolved.
Next problem was to develop such a program or a module which would allow us to
extract the time information from the GPS receiver. This time would then be passed
on to all the systems involved to synchronize them.

3.1.A Objectives
We, here, design a module which would effectively extract the time information from
the GPS receiver. This GPS receiver receives many sentences. Out of these many
sentences, one sentence is $GPRMC sentence. This sentence contains the time
information along with other informations (the details of this sentence are given in
section 1.1).
Our task here is to design a module which would extract time information from
$GPRMC sentence.
13

3.2.A Hardware Specification


Computer system

: Pentium 4 or above

GPS Receiver

: Condor GPS family

Connecting wire

: RS232

Connecting port

: 9 pin db connector

Shorting Wire

: Connector

3.3.A Software Specification


Operating System

: Microsoft Windows (preferably newer versions)

LabVIEW

: National Instruments LabVIEW 2013 (64-bit)

3.B Problem Formulation


These days most of the bombs, missiles and other weapons are laser guided. When
the laser shines on them and gets reflected to the receiver, they get easily detected.
Therefore, we need a mechanism which can help us to make the target less visible or
detectable. For solving this issue we, here, have developed a module which can
predict/calculate the laser cross section area of a simple target which consists of a flat
plate and a sphere. Once the laser cross section or the signature of the target gets
known to us, we can reduce it so that it becomes less observable to the enemy.

3.1.B Objectives
Here, the main objective is to design an algorithm (from which we further design a
module in LabVIEW) which can predict the laser cross section of a target. Laser cross
section is nothing but the reflecting property of the target towards lasers. This is
required so that the target becomes less visible due to laser reflection.

3.2.B Hardware Specification


Computer system

: Pentium 4 or above

3.3.B Software Specification


Operating System

: Microsoft Windows (preferably newer versions)

LabVIEW

: National Instruments LabVIEW 2013 (64-bit)


14

Chapter 4
System/Module Design
4.A System/Module Design
The module designed here consists of three sub modules: a) Serial configuration submodule, b) Test sub-module and c) GPS time finding sub-module.

GPS Time Finding Sub-Module

Figure 4.1.A Block diagram of Module design

4.1.A Serial configuration sub-module


In this first sub-module we configure the GPS to serially communicate with the
computer system. In serial communication we transfer one bit at a time. Here, we
configure the following parameters:

a) Baud

Rate: the number of symbols per second is called baud rate. Each

symbol may consist of one or more bits. It can also be defined as the number
of times the signal changes its value per second [7]. Baud rate may be equal to
or less than bit rate.
The baud rate usually taken for GPS system is 9600. It means that the GPS
receiver sends the information to the computer system or the computer system
sends the information to the GPS receiver at the rate of 9600 symbols per
second.

b) Data

Bits: this refers to the number of data bits in each symbol or word.

Usually this is taken as 8 bits per symbol.

c)

Stop Bits: They are used in asynchronous communication. They are used as
means of synchronizing the characters which are being transmitted. When
these are sent, the receiving hardware comes to know where exactly one data

15

character (symbol) ends and then it resynchronizes with the character stream.
In this case one stop bit is sufficient.

d) Parity: parity bit refers to an extra bit that is added at the end of an array of
binary code which indicates whether the number of ones in the binary array is
odd or even. Its a very simple error detecting code.
In the case of even parity, we count the number of ones in the code, if it is
found to be odd, we set the parity bit value to one, thereby making the total
number of ones even. If the number of ones is found to be even, we set the
parity bit to 0, thereby allowing the total number of ones to remain even.
In the case of odd parity, we reverse the conditions.
In this module, we dont use any parity.
e) Visa Resource Name: VISA stands for Virtual Instrument Software
Architecture. Its a standard input-output language for instrumentation
programming [8]. VISA is a high level application programming interface that
summons the lower level drivers. The NI-VISA hierarchy is as shown below:

Serial

Figure 4.2.A NI-VISA hierarchy


VISA can control Serial, GPIB (General Purpose Instrumentation Bus) or VXI
(VME eXtensions for Instrumentation) instruments.
VISA has many advantages. Few are listed below:

16

i)

VISA uses almost the same operations to communicate with


instruments irrespective of the type of interface, i.e., VISA is interface
independent. This makes interface switching easy.

ii)

The design of VISA is such that the programs which use VISA
function calls are easily transportable from one platform to another.
For example, a LabVIEW program can be used with other platforms
which support LabVIEW.

iii)

VISA is an object-oriented language and has all the benefits of the


same.

iv)

VISA is an easy language to use and learn.

In VISA Resource Name, we have to select a port from the dropdown menu
which is to be opened. In this project we select the working COM port of the
computer system.
f) Flow Control: it is the process in which the data transmission rate between
two nodes is managed so that a fast sender does not overwhelm a slow
receiver. Here, the flow control sets the type of control which is to be used by
the transfer mechanism.
In this module we dont use any flow control.
Here, we present a snapshot of the front panel and block diagram of the serial
configuration sub-module.

17

Figure 4.3.A Serial Configuration sub-module

Figure 4.4.A Block diagram of the serial configuration sub-module

4.2.A Test sub-module


18

In this module we test whether the serial configuration module is working or not. This
is done on a single computer system itself. We first check the status of the COM ports
of the computer on which the serial module is to be tested. This is done using
hyperterminal. Hyperterminal is a program which is used for communications and
terminal emulation (ability to make one computer terminal to look like another)
purposes [9]. It comes with Windows Operating System, starting with Windows 98.
We short the 2nd and 3rd pins of the COM port to be tested (as they are the receiving
and

transmitting

pins

respectively),

open

the

hyperterminal

window

(programsaccessoriescommunicationshyperterminal), choose the COM port to be


tested and do the basic settings (bits per second-4800, data bits-8, parity-none, stop
bits-1 and flow control-Xon/Xoff).
Here we attach a snapshot of starting window of the hyperterminal:

Figure 4.5.A starting window of the hyperterminal


We also attach a snapshot of the configuration window of the hyperterminal:

19

Figure 4.6.A Configuration window of hyperterminal


Now we are done with the basic setting configuration of the hyperterminal. If the
COM port under test is working fine, then whatever we type comes into the
hyperterminal window, as shown below:

20

Figure 4.7.A Testing window of hyperterminal


Once we find out the working COM ports of the computer, we then choose any one of
those and perform the loopback test on it.
4.2.1.A Loopback Test
The DB9 connector looks like as shown below:

5 Signal Ground

Figure 4.8.A DB9 Connector


The 2nd pin of this connector is the received data and the 3 rd pin is the transmitted
data. In the loopback test we short the 2nd and 3rd pin, i.e., receiving and transmitting
pins. We now write something in the write buffer and if the same is read in the read
string then we are sure that our serial module is working fine.
A snapshot of the front panel and block diagram of the test sub module is presented
here:

21

Figure 4.9.A Front panel of test sub-module

22

Figure 4.10.A Block diagram of the test sub-module

4.3.A GPS time finding sub-module


Here, we create a text file out of the already existing log file. This is done as follows:

Take the time details of the $GPRMC sentence (which is the first entry in the
sentence and is in decimal format)

Convert it into hexadecimal format online

Place the eight entries obtained in the vertical format in the text file

Save the text file

Also, enter the value 0 in the in_byte_cnt input. Now, run the module (the
complete one) and get the time from the GPS in the hh:mm:ss:mmm format, where hh
is in hours, mm is in minutes, ss is in seconds and mmm is in milliseconds.

23

A snapshot of the front panel of the GPS time finding module is presented here:

Figure 4.11.A Front panel of the GPS time finding module


A snapshot of the block diagram of the GPS time finding module is attached here:

Figure 4.12.A Block diagram snapshot of the GPS time finding module

4.4.A Details of the various sub-modules of the Block Diagram


In this section we present the details of each of the functions used in the development
of the final module.
Firstly, we present an overview of the module:

Close VISA

24

Figure 4.13.A Overview of the module


We also attach the snapshot of the complete module:

Figure 4.14.A The block diagram of the complete module

Figure 4.15.A The front panel (GUI) of the complete module


Now we present the details of the blocks used in each of the sub-modules.

25

4.4.1.A Details of the functions and blocks used in serial configuration submodule

Figure 4.16.A Details of the Serial Configuration sub-module


The above figure displays the serial configuration sub-module.
VISA Configure Serial Port is the back bone of the serial configuration module. It is
enclosed in one of the frames of a flat sequence structure (the other frame of this flat
sequence structure encloses the GPS time finding module so that the two operate in
sequence, i.e., one after the other). A flat sequence structure is a structure or a block
in which the functions present in the frames run sequentially, i.e., one after the other.
VISA Configure Serial Port configures the serial port specified by the VISA Resource
Name to the desired settings, i.e., it enables the serial port to communicate serially
with the outside world (it is the GPS receiver in this case) at the required settings.
It has many inputs which are described below (Only those are being described which
are being configured during the serial configuration of this sub-module):

26

a) Timeout: It specifies after how much time, in milliseconds, the read and write
operations timer expire. In this module we set the timeout to 10000, which is
also the default value.
b) VISA Resource Name: It specifies the resource to be opened. Here, we
choose the working COM port, COM3.
c) Baud rate: It gives the number of symbols per second. In case of GPS the
baud rate usually taken 9600 which is also the default value.
d) Data Bits: It gives the number of number of bits in a symbol. It lies between 5
and 8. Here, we set it as 8 which is the default value also.
e) Parity: It specifies the parity (defined in section 4.1, (d)) which is to be used
for every frame transmitted or received. Here we dont use any parity.
f) Error In: It specifies the error conditions which occur before this node runs.
It an error has occurred before this node has run, then the node passes the
error in value to the error out. This node runs normally if no error occurs
before this node runs.
g) Stop Bits: They specify the number of stop bits which are used to signify the
end of a frame. It uses the following values:
1 Stop Bit
1.5 Stop
Bits
2 Stop Bits
Table 4.1.A Stop bits
h) Flow Control: It is defined in section 4.1 (f). Here, we do not use any flow
control, i.e., we assume that the buffers, present on both the sides of the
connection, are large enough to absorb all the data that is transferred.
The outputs of the VISA Configure Serial Port are described below:
a) VISA Resource Name Out: It is a copy of the VISA resource name which
the VISA function returns.
b) Error Out: This contains the error information which is passed to it from the
error in input.

27

4.4.2.A Details of the blocks and functions used in test sub-module


The figure below shows the details of the blocks and functions used in test submodule.

Figure 4.17.A Details of the Test sub-module


The entire of the test sub-module is enclosed in a frame of a flat sequence structure.
This very frame contains the serial configuration sub-module also, which is shown in
figure 4.15.
The first function encountered in this sub-module is the VISA write function. It is
enclosed in a case structure with a boolean value wired to the selector terminal. When
the boolean value wired to the selector terminal is false nothing executes, while if the
value is true, the VISA write function executes. The VISA write function writes the
data from write buffer to the interface or device indicated by VISA resource name. It
has the following inputs:
a) VISA Resource Name: It specifies the resource to be opened. The input to it
comes from the VISA Configure Serial Port.
b) Error In: It specifies the error conditions which occur before this node runs.
The input to this comes from the error out of the previous function.

28

c) Write buffer: It contains the data which is to be written to the device or the
interface. Here, we write the test data into this function so that the serial submodule can be tested.
The outputs of the VISA write function are:
a) VISA resource name out: Indicates the resource to be opened.
b) Return count: It contains the number of bytes written.
c) Error out: It contains the error information.
The next function encountered is the Wait (ms) function. This function waits for the
specified number of milliseconds and returns the value of the timer after the wait. The
input to the wait function is milliseconds to wait. This indicates the number of
milliseconds the function has to wait. The wait for this function cannot be longer than
0x7ffffff or 2,147,483,647 ms. If one has to wait for a period longer than the one
specified, then the function needs to be executed twice. The output of the wait
function is the millisecond timer value which gives the millisecond timer value
after the wait.
The next node which comes into picture is the property node. With its help we read
or write the properties of a reference. Its inputs are reference and error in and its
outputs are reference out, error out and bytes read at serial port.
Another major node which forms an integral part of the test sub-module is the VISA
read node. It has the following inputs:
a) VISA resource name: It specifies the resource which is to be opened.
b) Byte count: It indicates the number of bytes which are to be read. It comes
from the output of the property node.
c) Error in: Indicates the error conditions which occur before this node runs.
The outputs of the VISA read node or function include the following:

29

a) VISA resource name out: Its a copy of the VISA resource name which the
VISA functions return.
b) Read buffer: It contains the data which is read from the device.
c) Return count: It contains the number of bytes which are read.
d) Error out: It contains the error information.
The next major node which features is the VISA Close node. It closes a session with
a device specified by the VISA resource name. Its inputs include VISA resource
name and error in and the output is error out.
4.4.3.A Details of the blocks and functions used in GPS time finding sub-module
Since the block diagram of the GPS time finding module is very large (it cannot be
accommodated here with details highlighted), we have split it into two further submodules. They are:
a) Automatic text file reading sub-module
b) GPS time extraction from the read file sub-module
4.4.3.1.A Details of the blocks and functions used in automatic text file reading
sub-module
The figure below shows the details of the blocks and functions used in automatic text
file reading sub-module.

30

Spreadsheet String to Array Function

Figure 4.18.A Details of the blocks and functions used in automatic text file reading
sub-module
The entire sub-module is enclosed in the stacked sequence structure in which the
serial configuration and test module were enclosed, just the frame is different.
The first function encountered is the file dialogue express VI. An express VI is
nothing but a VI which interacts with the users and configures its settings by means
of a dialogue box. An express VI is composed of the following:
a) Configuration dialog box VI: This allows the users to configure settings for
the run-time behavior of the Express VI [10].
b) Source VI: This contains the code for the Express VI. The source VI also
contains a link to the configuration dialog box VI [10].
This file dialogue express VI has the following inputs (Only those are being
described which are being configured during the execution of this sub-module):
a) Prompt: Its a custom message that gets displayed as the title page of the file
dialogue box. If we dont give the prompt message it takes the default
message which is choose or enter path of file. Here, we use the prompt
message choose array file.
31

b) Pattern (all files): It displays only those files in the dialogue box whose name
matches with the pattern (all files). Here, we set the pattern (all file) to All
Files(*.*) so that all the files in the dialogue box and we can choose from
them.
The outputs of the file dialogue express VI are:
a) Selected path: It is the complete path to the file chosen using this dialogue
box.
b) Error out: It gives the error information
The second function which is encountered is open/create/replace file function. Its
inputs are:
a) File path: It is the absolute and complete path to the file. It comes from the
output of the previous function.

b) Operation: It is the operation which is to be performed. An error (43) occurs


if one cancels this dialogue box. The dialogue box with error, which appears
on cancelling it shown below:

Figure 4.19.A Error 43


The various operations which can be performed are shown in the table below.
0 Open (default): en existing file is opened
1 Replace: an existing file is replaced by the opening file
32

2 Create: a new file is created


3 Open or create: an existing file is opened or a new file is created
if one does not exist
4 Replace or create: a new file is created or a file is replaced, if it
exists
5 Replace or create with confirmation: a new file is created or an
existing file is replace and one is given permission
Table 4.2.A Operations which can be performed by open/create /replace file function
Here we perform the open operation
c) Access: It specifies how one plans to access the file. The default is
read/write but here we perform read only. The other values which access
can take are shown in the table below.
0 Read/writ
e
1 Read-only
2 Write-only
Table 4.3.A Various values of access
d) Error in: It indicates the error conditions which occur before this node.
The outputs of the open/create/replace file function are:
a) Refnum out: It is the reference number of the opened file.
b) Error out: It contains the error information.
The next function is get file size function. Its inputs are:
a) File: It can be a file path or a refnum. Here, its a refnum.
b) Error in: It indicates the error conditions which occur before this node.
The outputs of get file size function are:
a) Refnum out: It gives the refnum of the file that the function just read.
b) Size (in bytes): It is the size of the file in bytes.
c) Error out: It contains the error information.
The next function which comes into picture is read from text file function. It reads a
predefined number of lines or characters from a byte stream file. It has the following
inputs:

33

a) File (use dialogue): It can be an absolute file path or a refnum. Here, its a
refnum.
b) Count: It is the maximum number of lines or characters that the function
reads.
c) Error in: It indicates the error conditions which occur before this node.
The outputs of read from text file function are:
a) Refnum out: It is the refnum of the file that the function just read.
b) Text: It is the text read from the file. This parameter is a string by default.
c) Error out: It contains the error information.
The next function encountered is spreadsheet string to array function. The inputs to
this function are:
a) Format string: It specifies the way to convert the spread sheet string into an
array. We use %x over here as we need to convert the spreadsheet string into
an array of hexadecimal numbers.
b) Spreadsheet string: It contains numeric or string values which are separated
into columns by commas or tabs and rows separated by end-of-line (EOL)
character.
c) Array type: It is the data type of which we want the output array to be. Here,
we use a 2-dimensional array of hexadecimal type.
The output of spreadsheet string to array function is an array extracted out of the
spreadsheet string which has the representation and dimension of array type.
Parallel to the spreadsheet string to array function we have the close file function.
The inputs to this function come from read from text file function and are:
a) Refnum: It is the file refnum associated with the file which one wants to
close.
b) Error in: It indicates the error conditions which occur before this node.
The output of this function is error out which contains the error information.
The next function of this sub-module is the hexadecimal string to number function.
It interprets the characters in the string attached as hex integers and returns them in
numbers. The inputs of the same are:
34

a) String: It is a string or an array of strings which is to be converted to a


number.
b) Offset: It is the starting position and should be numeric.
The output of the above mentioned function is number, which can be a number or
an array of numbers, depending on string and offset. In this case we get a 2-D
array unsigned long type.
4.4.3.2.A Details of the blocks and functions used in GPS time extraction from
the read file sub-module
The figure below shows the details of the blocks and functions used in GPS time
extraction from the read file sub-module.

Concatenate

Figure 4.20.A Details of GPS time extraction from the read file sub-module
Initially, we have an In_byte_cnt variable whose value has to be made 0 after every
time extraction round. Also, we have a local variable In_byte_cnt whose value is
equal to the variable In_byte_cnt plus 74.
The first function which is encountered in the GPS time extraction from the read file
sub-module is the index array function. Its inputs are:

35

a) N-dimension array: It is an n-dimensional array of any type. In this case its


a 2-D array of unsigned long integer type. This array comes from the
hexadecimal string to number function of the previous sub-module.
b) Index 0n-1: These are the indices of the array and should be numeric. The
number of index inputs should match the number of dimensions in ndimension array. Here, the input to the first index is 4, to the second index is
5 , to the third is 6 and to the fourth is 7, i.e., we are trying to get the 5 th, 6th, 7th
and 8th element of the array, since the array starts with 0 index.
The outputs of index array function are the elements or sub-arrays of the ndimension array, i.e., we get the 5 th, 6th, 7th and 8th elements of the input array (as
explained above).
The next three blocks present are the join numbers functions. This function creates a
number from the input words or bytes. The inputs to this function are:
a) Hi: It is an 8-, 16- or 32-bit number or an array of this representation.
b) Lo: It is an 8-, 16- or 32-bit number or an array of this representation.
The output of the above mentioned function is (hi.lo). It is an integer which is twice
the width of hi and lo. (Hi.lo) is a 16-, 32- or 64-bit unsigned array or integer of
this representation. If the widths of hi and lo are different, then (hi.lo) is double the
width of the widest number. In this sub-module, the output of this function is an
unsigned 64 bit integer.
The other function which comes into picture in this sub-module is the type cast
function. This converts the input to the data type specified. The inputs to this function
are:
a) Type: It is the data type to which one wants to convert the input data. In the
case of this sub-module, we wire a constant to type so that the output is of
data type constant.
b) x: It is data which one wants to convert to type.
The output of this function is *(type *) &x which is the value in x that has been
converted to the data type type.

36

The next function is quotient & remainder function. It calculates the integer quotient
and remainder of the inputs. The inputs to this function are:
a) x: It is the dividend. It can be a scalar number or an array or cluster of
numbers.
b) y: It is the divisor. It also can be a scalar number or an array or cluster of
numbers.
The outputs of this function are:
a) x-y*floor(x/y): It is the remainder. This is in correspondence to the modulo
function of the text based programming languages.
b) floor(x/y): It gives the integer quotient.
In case of this sub-module we use three quotient & remainder functions. In the first
one we divide the input by 1000 (to get the value in seconds as the input is in
milliseconds). The integer quotient so obtained is divided by 60 (to get the value in
minutes). The integer quotient obtained during this iteration is further divided by 60
(to get the value in hours).
The other function which comes into picture in this sub-module is number to decimal
string function. This converts a number to a string of decimal digits which are at least
a specified number of characters wide or may be wider, if need be. The inputs to this
function are:
a) Number: It is a scalar number or an array of numbers or an array of cluster of
numbers and so on.
b) Width: It must be numeric. If left unwired, then the function uses exactly as
many digits as are required to represent the number, without any extra
padding.
The output of this function is the decimal integer string which is nothing but the
resulting decimal string.
Here, we use four number to decimal string functions.
The last function of this sub-module is the concatenate strings function. It
concatenates the input strings into a single output string. The inputs are the string
0n-1 which one wants to concatenate. The output is the concatenated string
37

which contains the concatenated input strings in the order in which they were wired
from top to bottom. Here, the concatenation of time is done using colons, so that it
becomes easily interpretable.

4.B System/Module Design


Here, we have to design such a module or system which can predict the laser cross
section of the target comprising of a flat plate and a sphere. This is done in various
steps. These steps are listed below:
1) The simple target, constituting of a flat plate and a sphere, is first broken
down to these shapes. Laser cross section is determined individually for these
shapes.
2) These shapes are then meshed into a number of equilateral triangles (except
for flat plate-its LCS is directly calculated).
3) The LCS of a single triangular facet is calculated. This LCS is summed up to
get the LCS of the simple shape (sphere).
4) After calculating the LCS of flat plate and sphere individually, they are
summed up to get the total LCS of the simple target.
These steps are shown below:

Consolidating the LCS for simple shapes


to obtain the total LCS

Figure 4.1.B: Steps for predicting the LCS of a target


38

4.1.B LCS of Flat Plate


The LCS of flat plate is calculated directly, without dividing it into triangles, using
the formula which is shown in equation (4.1.B):
2

=4lwcos r

Where,
is the LCS of flat plate
l is the length of the flat plate
w is the width of the plate
is the elevation angle
r is the reflectance

4.1.1.B LabVIEW Module for Calculating the LCS of Flat Plate


Shown below is the LabVIEW module for calculating the LCS of flat plate.

39

(4.1.B)

Figure 4.2.B: Module to calculate the LCS of flat plate-Block diagram

Figure 4.3.B: Module to calculate the LCS of flat plate-Front panel

Here, we enter the length and width of the flat plate (in meters), elevation angle (in
degrees) and reflectance (unit less). Then we take the square of the cosine of the
elevation angle and multiply the constant four, length, width and reflectance with this.
Thus we get the LCS of the flat plate in square meters.

40

4.2.B LCS of Sphere


The LCS of sphere is calculated by dividing it into a number of equilateral triangles,
then calculating the LCS of one of these triangles, summing the LCS obtained for all
the triangles to get the total LCS of the sphere.
The number of triangles in which the sphere is to be divided is calculated by dividing
the total area of the sphere by the maximum area of a triangle.
The formula for calculating the LCS of a single triangle is given by equation (4.2.B).

=4 cosicosrs

(4.2.B)

Where,
is the LCS for s area
is the BRDF
i is the incident angle
r is the reflected viewing angle
s is the area (of the triangle)

4.2.1.B BRDF
BRDF stands for Bidirectional Reflection Distribution Function. It is defined as the
ratio of the differential radiance reflected into the viewing (outgoing) direction and
the incident irradiance in the lighting (incident) direction. Mathematically, it is given
by equation (4.2.B):
v
2tanh
4

( , )es
( l, l , i , i , )=S 2F
V ( l )V
16coslcosvcosh

41

(4.3.B)

Where,
is the BRDF
F(,) is the fresnel coefficient of the rough surface
l,l,i,i are the polar and azimuthal angles in the lighting and viewing directions
respectively
h is the normal
V(l) and V() are the visibility functions
S is the smoothness parameter
The smoothness parameter is given by
s= /

(4.3.B)

Where,
is the correlation length of the rough surface and
is the std. deviation of the Gaussian
Here we use the Gaussian surface because modeling of the rough surface is done by
assuming that the surface deviations resemble Gaussian dents. These dents are shown
in figure below

Figure 4.4.B: Gaussian dents


The Gaussian height field approximation is taken for calculating the BRDF.
42

4.2.2.B LabVIEW Module for Calculating the LCS of Sphere


The LabVIEW module for calculating the LCS of a sphere is shown below.

Figure 2: Module to calculate the LCS of Sphere-block diagram

43

Figure 4.5.B: Module to calculate the LCS of Sphere-Front panel

4.3.B Complete LabVIEW Module for Calculating the LCS of a


Target
The LabVIEW module of flat plate and sphere are enclosed in a flat sequence
structure and then LCS values added up to get the total LCS of a simple target. The
total LCS, which is in square meters, is converted to db square meters.
The context diagram of the total LCS calculation of this module is shown below:

Converting the sqm LCS to db -sqm LCS


Figure 4.6.B: Context diagram of total LCS calculation

44

The complete module is shown below:

Figure 4.7.B: Complete Module to Calculate the LCS of target-block diagram

Figure 4.8.B: Complete Module to Calculate the LCS of target-Front Panel

45

Chapter 5
System and Module Implementation
5.A System and Module Implementation
Here, we present the system and module implementation.

5.1.A System Implementation


The block diagram of the system is as shown below:

LabVIEW front panel


To display the extracted time

Figure 5.1.A System block diagram


We first connect the GPS receiver to the 5V power supply. Then, the GPS receiver
and the computer are connected through a RS232 cable to enable the serial
communication between the two. We then get the extracted GPS time from the GPS
receiver onto the front panel of LabVIEW.

5.2.A Module Implementation


After making the connections as shown in figure 5.1.A, we then implement this
module. To do so, first we should turn on write, read and the time finding
buttons. To turn them on we click on them until they become light green or
fluorescent green.
Here we present a snapshot of the turned off and the turned on read, write and
time finding buttons.
46

Figure 5.2.A Turned off read and write buttons

Figure 5.3.A Turned off time finding button

Figure 5.4.A Turned on read and write buttons

Figure 5.5.A Turned on time finding button


Besides doing the above, we need to set the baud rate (to 4800 in case of GPS), data
bits (set to 8), stop bits (set to 1), parity (set to none), VISA resource name (working
VISA resource name; in this case it is COM3) and flow control (set to none). Also
to test whether the serial communication is working or not, we write something in the
write buffer (it can be anything).
We also need to have a text file in which the time data of $GPRMC in hexadecimal
form in vertical order, as is shown below:
47

Figure 5.6.A $GPRMC Time data in hexadecimal and vertical form


We then click on the run button to get the time (details of the result are presented in
the next chapter). The format of time is in hh:mm:ss:mmm, where h represents
hours, first m represents minutes, s represents seconds and last m represents
milliseconds.

5.B System and Module Implementation


Here, we present the system and module implementation procedure of the above
designed module.

5.1.B System Implementation


We need to have a personal computer with LabVIEW installed in it, preferably
LabVIEW version 2013. We then need to open up the designed module and have with
us all the values so that they could be run.

5.2.B Module Implementation


To implement the above designed module we need to put the values of all the
parameters into the module and press the run button. The parameters can take the
following values:
1) Reflectance: it can take the values greater than zero and less than one.
2) Length and Width: they can take any positive value.
3) Elevation angle: it can take any positive value.
48

4) Correlation length: it can take the values greater than zero and less than one.
5) Standard deviation: it can take the values greater than zero and less than one.
6) Maximum area of triangle: it can take any positive value which is less than the
area of the sphere (because the triangle would be a part of sphere).
7) Fresnel coefficient: it can take the values greater than zero and less than one.
8) Radius of sphere: it can take any positive value.
After running the module, we get the LCS values of flat plate, sphere and the total
LCS

49

Chapter 6
Results
6.A Results
After making the required connections and doing the needed configurations, as
specified in chapter 5, we run the LabVIEW module.
To run the LabVIEW module, we click on the run button which is shown below:

Figure 6.1.A Run button


We get the data (by means of serial communication) from the GPS receiver. Here, we
get a lot of information from the GPS receiver but we need only the time or the
$GPRMC information. We then extract the needed information, i.e., the $GPRMC
information and convert the same to hexadecimal form with the help of internet. Now
we arrange the hexadecimal data, in a text file, in vertical form as shown in figure 5.6.
After doing the above, we get the time information from the GPS receiver in
hh:mm:ss:mmm. One sample output is shown in the GUI developed.

Figure 6.2.A The GUI developed


50

Here, we show the table of ten readings. These readings are a result of running the
LabVIEW module ten times.
SNo
.
1
2
3
4
5
6
7
8
9
10

Time
(decimal)

Time
(Hexadecimal)

Time
(read in
hh:mm:ss:mmm)
110710.00
0x01 B0 76 00
7:52:21:760
110711.00
0x01 B0 77 00
7:52:22:16
110712.00
0x01 B0 78 00
7:52:22:272
110713.00
0x01 B0 79 00
7:52:22:528
110714.00
0x01 B0 7A 00
7:52:22:784
110715.00
0x01 B0 7B 00
7:52:23:40
110716.00
0x01 B0 7C 00
7:52:23:296
110717.00
0x01 B0 7D 00
7:52:23:552
110718.00
0x01 B0 7E 00
7:52:23:808
110719.00
0x01 B0 7F 00
7:52:24:64
Table 6.1.A Readings of time extracted

These readings are separated by a time of 256 milliseconds, i.e., in these readings,
after every 256 ms the GPS gives a time information.

6.B Results
After entering the required values, as specified in chapter 5, we run the LabVIEW
module.
To run the LabVIEW module, we click on the run button which is shown below:

Figure 6.1.B Run button


Once we run the module, we get the value of the total LCS. A value of total LCS was
obtained with the following values:
1) Length (in m): 10
2) Width (in m): 10
3) Elevation angle (in degree):30
4) Reflectance: 0.5
5) Maximum area of triangle (in sqm): 1
51

6) Correlation length: 0.2


7) Standard deviation: 0.5
8) Fresnel coefficient: 05
9) Radius of sphere (in m): 10
Results:
a) Flat plate LCS (in sqm): 150
b) Sphere LCS (in sqm): 44.0886
c) Total LCS (in sqm): 194.089
d) Total LCS (in db-sqm): 22.88
The GUI which calculates the same is shown below:

Figure 6.2.B: Complete Module to Calculate the LCS of target-Front Panel


Once we get value total LCS, we can minimize the same using the methods suggested
in section 1.3.

52

Chapter 7
Conclusion & Future Enhancement
7.A Conclusion & Future Enhancement
In this project we have developed a module in LabVIEW which can control and
communicate with GPS. Through this communication we are trying to extract the
time information from GPS. The time information is present in the $GPRMC
sentence which is received at the GPS receiver. This sentence contains a lot of other
information and we extract only the time in the readable format. With the help of the
extracted time, we try to synchronize various systems shown in figure 1.1. The time
extraction is performed with the help of three submodules. These are i) the serial
communication module, ii) the test module and iii) the GPS time extraction module.
Via the serial communication module, we allow the GPS to serailly communicate
with the system (computer) and send it the $GPRMC information. The settings of the
serial communication include baud rate (set at 9600), data bits (set to 8), stop bits (set
to 1), parity (set to none), VISA resource name (set to COM3) and flow control
(set to none). Via the test module, we test whether the data is being transmitted
serially or not. Here, the loopback test is performed in which the second and the third
pins of the COM port (working COM port) are shorted, a test message writtem in the
write buffer and, if the module works fine, this same message gets read in the read
buffer. Via the GPS time extraction module, we finally extract the time which is very
accurate as it comes from the atomic clock present in the satellites. This module is
further divided into two submodules a) Automatic text file reading sub-module and
b) GPS time extraction from the read file sub-module. In automatic text file
reading sub-module, the text file modified manually is uploaded into the module and
in GPS time extraction from the read file sub-module, the exact time is extracted
from the uploaded text file.
Till now, we have designed a module in which we have to convert the encoded time,
available from $GPRMC sentence in decimal format, to hexadecimal with the help
available online. The future enhancements would include improvising the module to

53

the one which can convert the available time to hexadecimal on its own without any
help.

7.B Conclusion & Future Enhancement


In this project we have developed a module in LabVIEW which can calculate the
laser cross section of a simple target which constitutes of a flat plate and a sphere.
Laser cross section or LCS is nothing but the reflecting property of the target towards
laser. For this we calculate the laser cross section of the flat plate and sphere
individually. This is accomplished by dividing the simple shape (other than flat plate)
into a number of equilateral triangles, calculating the LCS of a single triangle and
multiplying this value with the total number of triangles (to get the LCS of the
complete shape). In case of flat plate, we directly determine its LCS with the help of
formula [1] while in the case of sphere, it is divided into equilateral triangles, the LCS
of each of these triangles calculated individually and then the same summed up for all
the triangles to get the total LCS of the sphere. Once the individual values of LCS of
flat plate and sphere are calculated, we sum them up to calculate the total LCS value
of the simple target. After getting the value of LCS of the target, we can take
measures to reduce the same so that the target becomes less visible to the enemy.
These measures include painting the target surface with laser absorbing paints
(example: iron ball paint), using foam absorber, changing the shape of the target from
edgy to flat surfaces (as edges reflect laser more as compared to flat surfaces).
Here, we have calculated or predicted the LCS of a simple target. The future
enhancements to this module may include predicting the LCS of a complex target.
This complex target may be broken down to various simple shapes whose LCS can be
calculated individually and then summed up to get the total LCS of the complex
target.

54

Chapter 8
Bibliography
8.A Bibliography
[1] Control Desarrollo Administracion, Arquimedes NMEA 0183 Communication
Protocol

(v0508en)

$GPRMC

Sentence.

[Online].

Available:

http://www.arquimedes.com.mx/guides/en/mu/NMEA%200183%20protocol
%20v0508en.pdf
[2]

National

Instruments,

Icon

and

Connector

Pane.

[Online].

Available:

http://zone.ni.com/reference/en-XX/help/371361J01/lvconcepts/icon_and_connector_pane/
[3]

Guy

Lecky

Thompson,

How

GPS

Works,

[Online].

Available:

http://www.gmat.unsw.edu.au/snap/gps/pdf/gps-article1.pdf
[4] Xin et al, Using LabVIEW to Acquire GPS Data, National Instruments,

[Online]. Available: http://sine.ni.com/cs/app/doc/p/id/cs-13831


[5] Viacheslav I.Adamchuk, Untangling the GPS Data String, University of
Nebraska Lincoln, June 1914
[6] Li-Hsing Yen, Concepts and Terminology, Chung Hua University, Spring 2003,
[Online]. Available: http://people.chu.edu.tw/~lhyen/nma/terminology.pdf
[7]

National

Instruments,

LabVIEW

VISA

Tutorial,

[Online].

Available:

[Online].

Available:

https://www.ni.com/support/visa/vintro.pdf
[8]

Spectracom

Corporation,

Using

Hyperterminal,

http://www.spectracomcorp.com/portals/0/support/pdf/using_hyperterminal.pdf
[9] National Instruments, LabVIEW Express VI Development Toolkit User Guide,
[Online]. Available: http://www.ni.com/pdf/manuals/323413a.pdf
[10] National Interagency Incident Management System, Basic Land Navigation, A
publication of National Wildlife Coordinating Group, Jun 2007, Chapter 5, p. 5.1

55

8.B Bibliography
[1] David C. Jenn, Handbook on Radar and Laser Cross Section Engineering, Chapter
9, second edition.
[2] Zhang et al, Effective Beam Width of Directional Antennas in Wireless Ad Hoc
Networks, [Online]. Available: http://arxiv.org/ftp/cs/papers/0701/0701131.pdf

[3] Prof. Kaivola, Lecture Note on Lasers Technology and Optics, Optics and
Molecular Materials, Helsinki University of Technology, [Online]. Available:
http://omm.hut.fi/optics/l_o/2005/
[4] Steinfeld et al, Optimum Aperture Size and Operating Temperature of a Solar
Cavity

Receiver,

Paul

Scherrer

Institute,

[Online].

Available:

http://www.prec.ethz.ch/publications/journals/full/j11.pdf
[5] DeLeon, The Laser Guided Bomb: Case History of a Development, [Online].
Available: http://www.rand.org/content/dam/rand/pubs/reports/2006/R1312-1.pdf
[6] Liu et al, Laser ablation and micromachining with ultra short laser pulses,
Quantum Electronics, IEEE Vol. 33, pp 1706-1716, Oct. 1997
[7] Knott et al, Radar Cross Section, second edition
[8] Filippos Chatzigeorgiadis, Development of Code for a Physical Optics Radar
Cross Section and Analysis Application, Phd. Thesis, Naval Postgraduate School,
Sep. 2004
[9] Yinlong Sun, Analytic Framework for Calculating BRDFs of Randomly Rough
Surfaces, May 2006

56

57

58

S-ar putea să vă placă și