reconfigurable localization for auvs based on time of ... · this project is part of a inesc tec...
TRANSCRIPT
FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO
Reconfigurable localization for AUVsbased on Time of Arrival of encoded
acoustic signalsLocalizaccedilatildeo de AUVs reconfiguraacutevel baseada no Tempo de Chegada de sinais
acuacutesticos
Tiago Coelho Brandatildeo Pinto
Mestrado Integrado em Engenharia Eletroteacutecnica e de Computadores
Supervisor Professor Joseacute Carlos Alves
July 24 2019
Resumo
Com o constante crescimento do interesse em explorar o oceano a sistemas roboacuteticos marinhostecircm vindo a ganhar uma importacircncia tanto a niacutevel cientiacutefico como industrial Neste contexto eacuteclaro que Veiacuteculos Autoacutenomos Subaquaacuteticos (AUV-Autonomous Underwater Vehicles) satildeo meiosrelevantes para estas atividades de estudo oceacircnico devido agrave sua adaptabilidade face a diferentesmissotildees combinada com uma implementaccedilatildeo do sistema custo e manutenccedilatildeo baixos quando com-parados com veiacuteculos operados remotamente No entanto o tempo de operaccedilatildeo deste tipo desistemas autoacutenomos eacute limitado pela fonte de energia disponiacutevel (bateria) Desta forma o usodesta energia disponiacutevel deve ser regrado de forma a que a precisatildeo necessaacuteria para desempenharcorretamente a tarefa do AUV seja disponibilizada
O trabalho apresentado faz parte de um projeto do INESC TEC e pretende explorar como ohardware reconfiguraacutevel disponiacutevel pode ser aproveitado de modo a implementar outras soluccedilotildeesbaseadas em compromissos tais como beneficiar duma transmissatildeo de dados duas vezes maisraacutepida com o custo agregado de uma probabilidade de erro maior
O sistema implementa um processo de localizaccedilatildeo de baixo consumo baseado no Tempo deChegada de 16 possiacuteveis sequecircncias de Kasami Conforme a tarefa do AUV o sistema conseguealternar entre duas modulaccedilotildees BPSK e QPSK Cada tipo de modulaccedilatildeo adequa-se melhor adiferentes tipos de tarefas Nomeadamente se uma alta precisatildeo eacute necessaacuteria e a taxa de transmis-satildeo de dados eacute irrelevante o sistema consegue reconfigurar-se de forma a que os sinais esperadosestejam modulados em BPSK Por outro lado se transmitir dados a um deacutebito superior apresentauma maior prioridade o sistema deve ser reconfigurado de forma a que os sinais epserados estejammodulados em QPSK apesar da precisatildeo do sistema diminuir
Uma vez que o sistema implementado jaacute possui a alternativa de localizaccedilatildeo com sinais modu-lados em BPSK (soluccedilatildeo desenvolvida numa tese anterior) esta dissertaccedilatildeo foca-se na idealizaccedilatildeoimplementaccedilatildeo e performance em tempo real do sistema com sinais transmitidos modulados emQPSK
i
ii
Abstract
With the growing interest in oceanic exploration marine robotic systems are gaining a new impor-tance in diverse scientific fields and industrial domains In this context it is clear that AutonomousUnderwater Vehicles (AUV) are relevant instruments for research activities in the sea because oftheir adaptability for different missions combined with a low-cost deployment and maintenancein comparison with manned vehicles The operation time of these systems is constrained by thelimited source power available (battery) Therefore its usage must be regimented in such a waythat the necessary precision is derived to the AUV in order to perform its task correctly
The work here presented is part of a INESC TEC project and intends to explore how theavailable system can benefit from the re-configurable capabilities of its hardware and propose othervalid and advantageous solutions based on trade-offs such as trading a lower distance estimationprecision for a higher data transmission rate
The system implements a low power localization process based on the estimation of the Timeof Arrival of 16 possible Kasami sequences Depending on the AUVrsquos taskrsquos needs the system canalternate between two possible modulations QPSK and BPSK Each modulation is more adequatefor a different type of task For instance if a high precision is needed and the data transmissionrate is irrelevant the system can reconfigure itself in order to transmit the expected signals inBPSK On the other hand if transmitting data to the receiver has a higher priority the system canalso reconfigure itself to the QPSK alternative and save time and energy
Since the BPSK solution was already implemented in a previous thesis work this dissertationis going to focus on the design implementation and real-time performance of the QPSK alterna-tive
iii
iv
Agradecimentos
Em primeiro lugar agradeccedilo ao Professor Joseacute Carlos Alves por todo o apoio despendido ao longodeste semestre
Aos meus pais que me proporcionaram as condiccedilotildees necessaacuterias para o meu sucesso escolar eaos quais estarei sempre grato
Agrave Ana Luiacutesa Ribeiro que apesar de aacutereas distintas sempre se mostrou disponiacutevel para rever edar a sua opiniatildeo sobre o que fui escrevendo O teu apoio incondicional fez e faraacute sempre toda adiferenccedila
Agrave icrto que mesmo com mil e uma coisas para tratar na sua dissertaccedilatildeo se mostrou sempredisponiacutevel para ajudar
Aos meus Pablitos pela vossa amizade eterna
Tiago Pinto
v
vi
ldquoIt is paradoxical yet true to say that the more we know the more ignorant we become in theabsolute sense for it is only through enlightenment that we become conscious of our limitationsPrecisely one of the most gratifying results of intellectual evolution is the continuous opening up
of new and greater prospectsrdquo
Nikola Tesla
vii
viii
Contents
1 Introduction 111 Context 112 Motivation 113 Objectives 2
2 State of the Art 321 Underwater Vehicles 322 Localization Techniques 4
221 Inertial Navigation System 4222 Geographic position 4
23 Acoustic Localization 5231 Underwater Acoustic Communication Channel 5232 Range Measurement 7233 Underwater Acoustic Positioning Systems 8234 Time Difference of Arrival - TDoA 10235 Direction of Arrival - DoA 11236 Time of Arrival - ToA 12
3 System Thinking 1531 Solution Method 1532 Hardware Constraints 1633 QPSK Modulation 1734 Kasami Sequences 1935 Correlation Method 1936 Offline Validation and Results 21
361 Improving the ToA Estimation - Hilbert Transform 2237 Summary 24
4 Digital Implementation 2541 Hardware Platforms 25
411 Transmission 25412 Reception 28
42 Digital System Developed 31421 32 RAMs 32422 Corr 00 and 11 34423 RAM holding 16 Kasami Sequences 37424 Correlation Associator and Total Window Accumulator 37425 Peak Finder 39
ix
x CONTENTS
426 Implementation Results 4043 Software 4044 Summary 40
5 Results 4351 Simulation Results 4352 FEUPrsquos Tank Results 46
521 First Test 46522 Second Test 47
6 Conclusion 4961 Objectives Completion 4962 Future Work 49
List of Figures
21 Commercial AUv example - Iver 3 Standard model 422 Multi-path 523 Sound profile in seawater 624 Example of an SBL positioning system 825 Example of an USBL positioning system [11] 926 Example of an LBL positioning system [8] 1027 Illustration of Multilateration 1128 Illustration of Trilateration 1229 Frequency selective system 12210 Comparison between pure tone cross correlation and pure tone with distortion
cross-correlation [7] 14
31 System architecture - transmitting sequence 16 1632 Implemented constellation 1833 Modulated signal spectrum 1834 Symbols 01 and 11 of QPSK modulation with square approximation 2035 Square symbols 00 and 10 of QPSK modulation with square approximation 2036 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1 2137 Original signal correlation vs Square signal correlation 2238 Original signal modulation vs Square signal modulation - ToA comparison 2239 Absolute correlation values vs HT applied 23310 Absolute correlation values vs HT applied (close-up) 23
41 Transmitter system overview 2542 FPGA used for the signal generation 2643 Signal amplifier board 2744 Signal amplifier schematic [5] 2745 Transducer hardware 2846 Reception schematic 2847 Hydrophone 2848 Analog filtering and amplifying 2949 RedPitaya on the left Analog board on the right 30410 RedPitaya system_wrapper overview 30411 QPSK module - top level 31412 32 RAMs module organisation 32413 Information hold by counters 33414 Timing diagram 33415 corr_00 module overview 34
xi
xii LIST OF FIGURES
416 corr_11 module overview 35417 samples_adder module (present in corr_11 and corr_00) 36418 RAM holding kasami sequences 37419 corr_associator and total_window_accumulator overviews 38420 peak_finder module overview 39
51 QPSK system result 4352 QPSK system result - close up 4453 Sequence 1 correlation result vs Sequence 2 correlation result 4554 QPSK module result 4555 Distances estimated for the four different positions 4756 Second test - Transmission timeline 4757 Second test - Distance estimated results 4858 Second test - Detected sequences 48
List of Tables
41 Example of corr_00 logic operations when ram_index_rd = 2 3542 Utilization percentage - Overall System 4043 Utilization percentage - Developed DSP 40
xiii
xiv LIST OF TABLES
List of Abbreviations
AUV Autonomous Underwater VehicleBPSK Binary Phase-Shift KeyingDSP Digital Signal ProcessingQPSK Quadrate Phase-Shift KeyingGNSS Global Navigation Satellite SystemsTDoA Time Difference of ArrivalToA Time of ArrivalToF Time of FlightLBL Long Base LineSBL Short Base LineUSBL Ultra Short Base LineSNR Signal to Noise RatioADC Analog to Digital ConverterFPGA Field Programmable Gate Array
xv
Chapter 1
Introduction
11 Context
Human kind has studied travelled and achieved greatness in multiple areas but oceanrsquos exploration
represents one in which there are still manifold questions to be answered In fact only 5 of the
searsquos ground has been explored by Human beings Consequently the need to investigate such a
large remaining area in depth arises and aims for example to discover new energetic food or
medicinal resources a better understand magnetic field changes discovery of new species etc
This phenomenon is yet to be achieved due to appended costs and lacking of available and
capable technologies For example on earthrsquos surface users are able to use cheap and efficient
localization systems (GNSS - Global Navigation Satellite Systems) that allow them to check their
global positions in a short time period On the contrary underwater localization and communica-
tion bring new challenges As standard methods used to communicate and locate on the earthrsquos
surface use electromagnetic waves that suffer an unbearable attenuation underwater other alterna-
tives must be taken into consideration
The work here presented has the goal of mitigating this need of developing and improving
underwater localisation technologies
12 Motivation
This project is part of a INESC TEC project and aims to continue a master thesis work [7] which
achieved promising preliminary results These were accomplished when implementing a system
based on signal processing to determine the time of arrival (ToA) of an acoustic signal modulated
in BPSK through correlation The system developed in [7] was able to generate a sharp correlation
peak in adverse conditions (noise and multi-path) and as a side effect transfer data (low-debit)
from the transmitter to the receiver (AUV)
The necessary precision for the localisation of an AUV varies from task to task If a high
precision is needed the system should be able to reconfigure itself in order to achieve that higher
precision On the other hand the system should also reconfigure its localization method when this
1
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
Resumo
Com o constante crescimento do interesse em explorar o oceano a sistemas roboacuteticos marinhostecircm vindo a ganhar uma importacircncia tanto a niacutevel cientiacutefico como industrial Neste contexto eacuteclaro que Veiacuteculos Autoacutenomos Subaquaacuteticos (AUV-Autonomous Underwater Vehicles) satildeo meiosrelevantes para estas atividades de estudo oceacircnico devido agrave sua adaptabilidade face a diferentesmissotildees combinada com uma implementaccedilatildeo do sistema custo e manutenccedilatildeo baixos quando com-parados com veiacuteculos operados remotamente No entanto o tempo de operaccedilatildeo deste tipo desistemas autoacutenomos eacute limitado pela fonte de energia disponiacutevel (bateria) Desta forma o usodesta energia disponiacutevel deve ser regrado de forma a que a precisatildeo necessaacuteria para desempenharcorretamente a tarefa do AUV seja disponibilizada
O trabalho apresentado faz parte de um projeto do INESC TEC e pretende explorar como ohardware reconfiguraacutevel disponiacutevel pode ser aproveitado de modo a implementar outras soluccedilotildeesbaseadas em compromissos tais como beneficiar duma transmissatildeo de dados duas vezes maisraacutepida com o custo agregado de uma probabilidade de erro maior
O sistema implementa um processo de localizaccedilatildeo de baixo consumo baseado no Tempo deChegada de 16 possiacuteveis sequecircncias de Kasami Conforme a tarefa do AUV o sistema conseguealternar entre duas modulaccedilotildees BPSK e QPSK Cada tipo de modulaccedilatildeo adequa-se melhor adiferentes tipos de tarefas Nomeadamente se uma alta precisatildeo eacute necessaacuteria e a taxa de transmis-satildeo de dados eacute irrelevante o sistema consegue reconfigurar-se de forma a que os sinais esperadosestejam modulados em BPSK Por outro lado se transmitir dados a um deacutebito superior apresentauma maior prioridade o sistema deve ser reconfigurado de forma a que os sinais epserados estejammodulados em QPSK apesar da precisatildeo do sistema diminuir
Uma vez que o sistema implementado jaacute possui a alternativa de localizaccedilatildeo com sinais modu-lados em BPSK (soluccedilatildeo desenvolvida numa tese anterior) esta dissertaccedilatildeo foca-se na idealizaccedilatildeoimplementaccedilatildeo e performance em tempo real do sistema com sinais transmitidos modulados emQPSK
i
ii
Abstract
With the growing interest in oceanic exploration marine robotic systems are gaining a new impor-tance in diverse scientific fields and industrial domains In this context it is clear that AutonomousUnderwater Vehicles (AUV) are relevant instruments for research activities in the sea because oftheir adaptability for different missions combined with a low-cost deployment and maintenancein comparison with manned vehicles The operation time of these systems is constrained by thelimited source power available (battery) Therefore its usage must be regimented in such a waythat the necessary precision is derived to the AUV in order to perform its task correctly
The work here presented is part of a INESC TEC project and intends to explore how theavailable system can benefit from the re-configurable capabilities of its hardware and propose othervalid and advantageous solutions based on trade-offs such as trading a lower distance estimationprecision for a higher data transmission rate
The system implements a low power localization process based on the estimation of the Timeof Arrival of 16 possible Kasami sequences Depending on the AUVrsquos taskrsquos needs the system canalternate between two possible modulations QPSK and BPSK Each modulation is more adequatefor a different type of task For instance if a high precision is needed and the data transmissionrate is irrelevant the system can reconfigure itself in order to transmit the expected signals inBPSK On the other hand if transmitting data to the receiver has a higher priority the system canalso reconfigure itself to the QPSK alternative and save time and energy
Since the BPSK solution was already implemented in a previous thesis work this dissertationis going to focus on the design implementation and real-time performance of the QPSK alterna-tive
iii
iv
Agradecimentos
Em primeiro lugar agradeccedilo ao Professor Joseacute Carlos Alves por todo o apoio despendido ao longodeste semestre
Aos meus pais que me proporcionaram as condiccedilotildees necessaacuterias para o meu sucesso escolar eaos quais estarei sempre grato
Agrave Ana Luiacutesa Ribeiro que apesar de aacutereas distintas sempre se mostrou disponiacutevel para rever edar a sua opiniatildeo sobre o que fui escrevendo O teu apoio incondicional fez e faraacute sempre toda adiferenccedila
Agrave icrto que mesmo com mil e uma coisas para tratar na sua dissertaccedilatildeo se mostrou sempredisponiacutevel para ajudar
Aos meus Pablitos pela vossa amizade eterna
Tiago Pinto
v
vi
ldquoIt is paradoxical yet true to say that the more we know the more ignorant we become in theabsolute sense for it is only through enlightenment that we become conscious of our limitationsPrecisely one of the most gratifying results of intellectual evolution is the continuous opening up
of new and greater prospectsrdquo
Nikola Tesla
vii
viii
Contents
1 Introduction 111 Context 112 Motivation 113 Objectives 2
2 State of the Art 321 Underwater Vehicles 322 Localization Techniques 4
221 Inertial Navigation System 4222 Geographic position 4
23 Acoustic Localization 5231 Underwater Acoustic Communication Channel 5232 Range Measurement 7233 Underwater Acoustic Positioning Systems 8234 Time Difference of Arrival - TDoA 10235 Direction of Arrival - DoA 11236 Time of Arrival - ToA 12
3 System Thinking 1531 Solution Method 1532 Hardware Constraints 1633 QPSK Modulation 1734 Kasami Sequences 1935 Correlation Method 1936 Offline Validation and Results 21
361 Improving the ToA Estimation - Hilbert Transform 2237 Summary 24
4 Digital Implementation 2541 Hardware Platforms 25
411 Transmission 25412 Reception 28
42 Digital System Developed 31421 32 RAMs 32422 Corr 00 and 11 34423 RAM holding 16 Kasami Sequences 37424 Correlation Associator and Total Window Accumulator 37425 Peak Finder 39
ix
x CONTENTS
426 Implementation Results 4043 Software 4044 Summary 40
5 Results 4351 Simulation Results 4352 FEUPrsquos Tank Results 46
521 First Test 46522 Second Test 47
6 Conclusion 4961 Objectives Completion 4962 Future Work 49
List of Figures
21 Commercial AUv example - Iver 3 Standard model 422 Multi-path 523 Sound profile in seawater 624 Example of an SBL positioning system 825 Example of an USBL positioning system [11] 926 Example of an LBL positioning system [8] 1027 Illustration of Multilateration 1128 Illustration of Trilateration 1229 Frequency selective system 12210 Comparison between pure tone cross correlation and pure tone with distortion
cross-correlation [7] 14
31 System architecture - transmitting sequence 16 1632 Implemented constellation 1833 Modulated signal spectrum 1834 Symbols 01 and 11 of QPSK modulation with square approximation 2035 Square symbols 00 and 10 of QPSK modulation with square approximation 2036 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1 2137 Original signal correlation vs Square signal correlation 2238 Original signal modulation vs Square signal modulation - ToA comparison 2239 Absolute correlation values vs HT applied 23310 Absolute correlation values vs HT applied (close-up) 23
41 Transmitter system overview 2542 FPGA used for the signal generation 2643 Signal amplifier board 2744 Signal amplifier schematic [5] 2745 Transducer hardware 2846 Reception schematic 2847 Hydrophone 2848 Analog filtering and amplifying 2949 RedPitaya on the left Analog board on the right 30410 RedPitaya system_wrapper overview 30411 QPSK module - top level 31412 32 RAMs module organisation 32413 Information hold by counters 33414 Timing diagram 33415 corr_00 module overview 34
xi
xii LIST OF FIGURES
416 corr_11 module overview 35417 samples_adder module (present in corr_11 and corr_00) 36418 RAM holding kasami sequences 37419 corr_associator and total_window_accumulator overviews 38420 peak_finder module overview 39
51 QPSK system result 4352 QPSK system result - close up 4453 Sequence 1 correlation result vs Sequence 2 correlation result 4554 QPSK module result 4555 Distances estimated for the four different positions 4756 Second test - Transmission timeline 4757 Second test - Distance estimated results 4858 Second test - Detected sequences 48
List of Tables
41 Example of corr_00 logic operations when ram_index_rd = 2 3542 Utilization percentage - Overall System 4043 Utilization percentage - Developed DSP 40
xiii
xiv LIST OF TABLES
List of Abbreviations
AUV Autonomous Underwater VehicleBPSK Binary Phase-Shift KeyingDSP Digital Signal ProcessingQPSK Quadrate Phase-Shift KeyingGNSS Global Navigation Satellite SystemsTDoA Time Difference of ArrivalToA Time of ArrivalToF Time of FlightLBL Long Base LineSBL Short Base LineUSBL Ultra Short Base LineSNR Signal to Noise RatioADC Analog to Digital ConverterFPGA Field Programmable Gate Array
xv
Chapter 1
Introduction
11 Context
Human kind has studied travelled and achieved greatness in multiple areas but oceanrsquos exploration
represents one in which there are still manifold questions to be answered In fact only 5 of the
searsquos ground has been explored by Human beings Consequently the need to investigate such a
large remaining area in depth arises and aims for example to discover new energetic food or
medicinal resources a better understand magnetic field changes discovery of new species etc
This phenomenon is yet to be achieved due to appended costs and lacking of available and
capable technologies For example on earthrsquos surface users are able to use cheap and efficient
localization systems (GNSS - Global Navigation Satellite Systems) that allow them to check their
global positions in a short time period On the contrary underwater localization and communica-
tion bring new challenges As standard methods used to communicate and locate on the earthrsquos
surface use electromagnetic waves that suffer an unbearable attenuation underwater other alterna-
tives must be taken into consideration
The work here presented has the goal of mitigating this need of developing and improving
underwater localisation technologies
12 Motivation
This project is part of a INESC TEC project and aims to continue a master thesis work [7] which
achieved promising preliminary results These were accomplished when implementing a system
based on signal processing to determine the time of arrival (ToA) of an acoustic signal modulated
in BPSK through correlation The system developed in [7] was able to generate a sharp correlation
peak in adverse conditions (noise and multi-path) and as a side effect transfer data (low-debit)
from the transmitter to the receiver (AUV)
The necessary precision for the localisation of an AUV varies from task to task If a high
precision is needed the system should be able to reconfigure itself in order to achieve that higher
precision On the other hand the system should also reconfigure its localization method when this
1
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
ii
Abstract
With the growing interest in oceanic exploration marine robotic systems are gaining a new impor-tance in diverse scientific fields and industrial domains In this context it is clear that AutonomousUnderwater Vehicles (AUV) are relevant instruments for research activities in the sea because oftheir adaptability for different missions combined with a low-cost deployment and maintenancein comparison with manned vehicles The operation time of these systems is constrained by thelimited source power available (battery) Therefore its usage must be regimented in such a waythat the necessary precision is derived to the AUV in order to perform its task correctly
The work here presented is part of a INESC TEC project and intends to explore how theavailable system can benefit from the re-configurable capabilities of its hardware and propose othervalid and advantageous solutions based on trade-offs such as trading a lower distance estimationprecision for a higher data transmission rate
The system implements a low power localization process based on the estimation of the Timeof Arrival of 16 possible Kasami sequences Depending on the AUVrsquos taskrsquos needs the system canalternate between two possible modulations QPSK and BPSK Each modulation is more adequatefor a different type of task For instance if a high precision is needed and the data transmissionrate is irrelevant the system can reconfigure itself in order to transmit the expected signals inBPSK On the other hand if transmitting data to the receiver has a higher priority the system canalso reconfigure itself to the QPSK alternative and save time and energy
Since the BPSK solution was already implemented in a previous thesis work this dissertationis going to focus on the design implementation and real-time performance of the QPSK alterna-tive
iii
iv
Agradecimentos
Em primeiro lugar agradeccedilo ao Professor Joseacute Carlos Alves por todo o apoio despendido ao longodeste semestre
Aos meus pais que me proporcionaram as condiccedilotildees necessaacuterias para o meu sucesso escolar eaos quais estarei sempre grato
Agrave Ana Luiacutesa Ribeiro que apesar de aacutereas distintas sempre se mostrou disponiacutevel para rever edar a sua opiniatildeo sobre o que fui escrevendo O teu apoio incondicional fez e faraacute sempre toda adiferenccedila
Agrave icrto que mesmo com mil e uma coisas para tratar na sua dissertaccedilatildeo se mostrou sempredisponiacutevel para ajudar
Aos meus Pablitos pela vossa amizade eterna
Tiago Pinto
v
vi
ldquoIt is paradoxical yet true to say that the more we know the more ignorant we become in theabsolute sense for it is only through enlightenment that we become conscious of our limitationsPrecisely one of the most gratifying results of intellectual evolution is the continuous opening up
of new and greater prospectsrdquo
Nikola Tesla
vii
viii
Contents
1 Introduction 111 Context 112 Motivation 113 Objectives 2
2 State of the Art 321 Underwater Vehicles 322 Localization Techniques 4
221 Inertial Navigation System 4222 Geographic position 4
23 Acoustic Localization 5231 Underwater Acoustic Communication Channel 5232 Range Measurement 7233 Underwater Acoustic Positioning Systems 8234 Time Difference of Arrival - TDoA 10235 Direction of Arrival - DoA 11236 Time of Arrival - ToA 12
3 System Thinking 1531 Solution Method 1532 Hardware Constraints 1633 QPSK Modulation 1734 Kasami Sequences 1935 Correlation Method 1936 Offline Validation and Results 21
361 Improving the ToA Estimation - Hilbert Transform 2237 Summary 24
4 Digital Implementation 2541 Hardware Platforms 25
411 Transmission 25412 Reception 28
42 Digital System Developed 31421 32 RAMs 32422 Corr 00 and 11 34423 RAM holding 16 Kasami Sequences 37424 Correlation Associator and Total Window Accumulator 37425 Peak Finder 39
ix
x CONTENTS
426 Implementation Results 4043 Software 4044 Summary 40
5 Results 4351 Simulation Results 4352 FEUPrsquos Tank Results 46
521 First Test 46522 Second Test 47
6 Conclusion 4961 Objectives Completion 4962 Future Work 49
List of Figures
21 Commercial AUv example - Iver 3 Standard model 422 Multi-path 523 Sound profile in seawater 624 Example of an SBL positioning system 825 Example of an USBL positioning system [11] 926 Example of an LBL positioning system [8] 1027 Illustration of Multilateration 1128 Illustration of Trilateration 1229 Frequency selective system 12210 Comparison between pure tone cross correlation and pure tone with distortion
cross-correlation [7] 14
31 System architecture - transmitting sequence 16 1632 Implemented constellation 1833 Modulated signal spectrum 1834 Symbols 01 and 11 of QPSK modulation with square approximation 2035 Square symbols 00 and 10 of QPSK modulation with square approximation 2036 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1 2137 Original signal correlation vs Square signal correlation 2238 Original signal modulation vs Square signal modulation - ToA comparison 2239 Absolute correlation values vs HT applied 23310 Absolute correlation values vs HT applied (close-up) 23
41 Transmitter system overview 2542 FPGA used for the signal generation 2643 Signal amplifier board 2744 Signal amplifier schematic [5] 2745 Transducer hardware 2846 Reception schematic 2847 Hydrophone 2848 Analog filtering and amplifying 2949 RedPitaya on the left Analog board on the right 30410 RedPitaya system_wrapper overview 30411 QPSK module - top level 31412 32 RAMs module organisation 32413 Information hold by counters 33414 Timing diagram 33415 corr_00 module overview 34
xi
xii LIST OF FIGURES
416 corr_11 module overview 35417 samples_adder module (present in corr_11 and corr_00) 36418 RAM holding kasami sequences 37419 corr_associator and total_window_accumulator overviews 38420 peak_finder module overview 39
51 QPSK system result 4352 QPSK system result - close up 4453 Sequence 1 correlation result vs Sequence 2 correlation result 4554 QPSK module result 4555 Distances estimated for the four different positions 4756 Second test - Transmission timeline 4757 Second test - Distance estimated results 4858 Second test - Detected sequences 48
List of Tables
41 Example of corr_00 logic operations when ram_index_rd = 2 3542 Utilization percentage - Overall System 4043 Utilization percentage - Developed DSP 40
xiii
xiv LIST OF TABLES
List of Abbreviations
AUV Autonomous Underwater VehicleBPSK Binary Phase-Shift KeyingDSP Digital Signal ProcessingQPSK Quadrate Phase-Shift KeyingGNSS Global Navigation Satellite SystemsTDoA Time Difference of ArrivalToA Time of ArrivalToF Time of FlightLBL Long Base LineSBL Short Base LineUSBL Ultra Short Base LineSNR Signal to Noise RatioADC Analog to Digital ConverterFPGA Field Programmable Gate Array
xv
Chapter 1
Introduction
11 Context
Human kind has studied travelled and achieved greatness in multiple areas but oceanrsquos exploration
represents one in which there are still manifold questions to be answered In fact only 5 of the
searsquos ground has been explored by Human beings Consequently the need to investigate such a
large remaining area in depth arises and aims for example to discover new energetic food or
medicinal resources a better understand magnetic field changes discovery of new species etc
This phenomenon is yet to be achieved due to appended costs and lacking of available and
capable technologies For example on earthrsquos surface users are able to use cheap and efficient
localization systems (GNSS - Global Navigation Satellite Systems) that allow them to check their
global positions in a short time period On the contrary underwater localization and communica-
tion bring new challenges As standard methods used to communicate and locate on the earthrsquos
surface use electromagnetic waves that suffer an unbearable attenuation underwater other alterna-
tives must be taken into consideration
The work here presented has the goal of mitigating this need of developing and improving
underwater localisation technologies
12 Motivation
This project is part of a INESC TEC project and aims to continue a master thesis work [7] which
achieved promising preliminary results These were accomplished when implementing a system
based on signal processing to determine the time of arrival (ToA) of an acoustic signal modulated
in BPSK through correlation The system developed in [7] was able to generate a sharp correlation
peak in adverse conditions (noise and multi-path) and as a side effect transfer data (low-debit)
from the transmitter to the receiver (AUV)
The necessary precision for the localisation of an AUV varies from task to task If a high
precision is needed the system should be able to reconfigure itself in order to achieve that higher
precision On the other hand the system should also reconfigure its localization method when this
1
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
Abstract
With the growing interest in oceanic exploration marine robotic systems are gaining a new impor-tance in diverse scientific fields and industrial domains In this context it is clear that AutonomousUnderwater Vehicles (AUV) are relevant instruments for research activities in the sea because oftheir adaptability for different missions combined with a low-cost deployment and maintenancein comparison with manned vehicles The operation time of these systems is constrained by thelimited source power available (battery) Therefore its usage must be regimented in such a waythat the necessary precision is derived to the AUV in order to perform its task correctly
The work here presented is part of a INESC TEC project and intends to explore how theavailable system can benefit from the re-configurable capabilities of its hardware and propose othervalid and advantageous solutions based on trade-offs such as trading a lower distance estimationprecision for a higher data transmission rate
The system implements a low power localization process based on the estimation of the Timeof Arrival of 16 possible Kasami sequences Depending on the AUVrsquos taskrsquos needs the system canalternate between two possible modulations QPSK and BPSK Each modulation is more adequatefor a different type of task For instance if a high precision is needed and the data transmissionrate is irrelevant the system can reconfigure itself in order to transmit the expected signals inBPSK On the other hand if transmitting data to the receiver has a higher priority the system canalso reconfigure itself to the QPSK alternative and save time and energy
Since the BPSK solution was already implemented in a previous thesis work this dissertationis going to focus on the design implementation and real-time performance of the QPSK alterna-tive
iii
iv
Agradecimentos
Em primeiro lugar agradeccedilo ao Professor Joseacute Carlos Alves por todo o apoio despendido ao longodeste semestre
Aos meus pais que me proporcionaram as condiccedilotildees necessaacuterias para o meu sucesso escolar eaos quais estarei sempre grato
Agrave Ana Luiacutesa Ribeiro que apesar de aacutereas distintas sempre se mostrou disponiacutevel para rever edar a sua opiniatildeo sobre o que fui escrevendo O teu apoio incondicional fez e faraacute sempre toda adiferenccedila
Agrave icrto que mesmo com mil e uma coisas para tratar na sua dissertaccedilatildeo se mostrou sempredisponiacutevel para ajudar
Aos meus Pablitos pela vossa amizade eterna
Tiago Pinto
v
vi
ldquoIt is paradoxical yet true to say that the more we know the more ignorant we become in theabsolute sense for it is only through enlightenment that we become conscious of our limitationsPrecisely one of the most gratifying results of intellectual evolution is the continuous opening up
of new and greater prospectsrdquo
Nikola Tesla
vii
viii
Contents
1 Introduction 111 Context 112 Motivation 113 Objectives 2
2 State of the Art 321 Underwater Vehicles 322 Localization Techniques 4
221 Inertial Navigation System 4222 Geographic position 4
23 Acoustic Localization 5231 Underwater Acoustic Communication Channel 5232 Range Measurement 7233 Underwater Acoustic Positioning Systems 8234 Time Difference of Arrival - TDoA 10235 Direction of Arrival - DoA 11236 Time of Arrival - ToA 12
3 System Thinking 1531 Solution Method 1532 Hardware Constraints 1633 QPSK Modulation 1734 Kasami Sequences 1935 Correlation Method 1936 Offline Validation and Results 21
361 Improving the ToA Estimation - Hilbert Transform 2237 Summary 24
4 Digital Implementation 2541 Hardware Platforms 25
411 Transmission 25412 Reception 28
42 Digital System Developed 31421 32 RAMs 32422 Corr 00 and 11 34423 RAM holding 16 Kasami Sequences 37424 Correlation Associator and Total Window Accumulator 37425 Peak Finder 39
ix
x CONTENTS
426 Implementation Results 4043 Software 4044 Summary 40
5 Results 4351 Simulation Results 4352 FEUPrsquos Tank Results 46
521 First Test 46522 Second Test 47
6 Conclusion 4961 Objectives Completion 4962 Future Work 49
List of Figures
21 Commercial AUv example - Iver 3 Standard model 422 Multi-path 523 Sound profile in seawater 624 Example of an SBL positioning system 825 Example of an USBL positioning system [11] 926 Example of an LBL positioning system [8] 1027 Illustration of Multilateration 1128 Illustration of Trilateration 1229 Frequency selective system 12210 Comparison between pure tone cross correlation and pure tone with distortion
cross-correlation [7] 14
31 System architecture - transmitting sequence 16 1632 Implemented constellation 1833 Modulated signal spectrum 1834 Symbols 01 and 11 of QPSK modulation with square approximation 2035 Square symbols 00 and 10 of QPSK modulation with square approximation 2036 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1 2137 Original signal correlation vs Square signal correlation 2238 Original signal modulation vs Square signal modulation - ToA comparison 2239 Absolute correlation values vs HT applied 23310 Absolute correlation values vs HT applied (close-up) 23
41 Transmitter system overview 2542 FPGA used for the signal generation 2643 Signal amplifier board 2744 Signal amplifier schematic [5] 2745 Transducer hardware 2846 Reception schematic 2847 Hydrophone 2848 Analog filtering and amplifying 2949 RedPitaya on the left Analog board on the right 30410 RedPitaya system_wrapper overview 30411 QPSK module - top level 31412 32 RAMs module organisation 32413 Information hold by counters 33414 Timing diagram 33415 corr_00 module overview 34
xi
xii LIST OF FIGURES
416 corr_11 module overview 35417 samples_adder module (present in corr_11 and corr_00) 36418 RAM holding kasami sequences 37419 corr_associator and total_window_accumulator overviews 38420 peak_finder module overview 39
51 QPSK system result 4352 QPSK system result - close up 4453 Sequence 1 correlation result vs Sequence 2 correlation result 4554 QPSK module result 4555 Distances estimated for the four different positions 4756 Second test - Transmission timeline 4757 Second test - Distance estimated results 4858 Second test - Detected sequences 48
List of Tables
41 Example of corr_00 logic operations when ram_index_rd = 2 3542 Utilization percentage - Overall System 4043 Utilization percentage - Developed DSP 40
xiii
xiv LIST OF TABLES
List of Abbreviations
AUV Autonomous Underwater VehicleBPSK Binary Phase-Shift KeyingDSP Digital Signal ProcessingQPSK Quadrate Phase-Shift KeyingGNSS Global Navigation Satellite SystemsTDoA Time Difference of ArrivalToA Time of ArrivalToF Time of FlightLBL Long Base LineSBL Short Base LineUSBL Ultra Short Base LineSNR Signal to Noise RatioADC Analog to Digital ConverterFPGA Field Programmable Gate Array
xv
Chapter 1
Introduction
11 Context
Human kind has studied travelled and achieved greatness in multiple areas but oceanrsquos exploration
represents one in which there are still manifold questions to be answered In fact only 5 of the
searsquos ground has been explored by Human beings Consequently the need to investigate such a
large remaining area in depth arises and aims for example to discover new energetic food or
medicinal resources a better understand magnetic field changes discovery of new species etc
This phenomenon is yet to be achieved due to appended costs and lacking of available and
capable technologies For example on earthrsquos surface users are able to use cheap and efficient
localization systems (GNSS - Global Navigation Satellite Systems) that allow them to check their
global positions in a short time period On the contrary underwater localization and communica-
tion bring new challenges As standard methods used to communicate and locate on the earthrsquos
surface use electromagnetic waves that suffer an unbearable attenuation underwater other alterna-
tives must be taken into consideration
The work here presented has the goal of mitigating this need of developing and improving
underwater localisation technologies
12 Motivation
This project is part of a INESC TEC project and aims to continue a master thesis work [7] which
achieved promising preliminary results These were accomplished when implementing a system
based on signal processing to determine the time of arrival (ToA) of an acoustic signal modulated
in BPSK through correlation The system developed in [7] was able to generate a sharp correlation
peak in adverse conditions (noise and multi-path) and as a side effect transfer data (low-debit)
from the transmitter to the receiver (AUV)
The necessary precision for the localisation of an AUV varies from task to task If a high
precision is needed the system should be able to reconfigure itself in order to achieve that higher
precision On the other hand the system should also reconfigure its localization method when this
1
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
iv
Agradecimentos
Em primeiro lugar agradeccedilo ao Professor Joseacute Carlos Alves por todo o apoio despendido ao longodeste semestre
Aos meus pais que me proporcionaram as condiccedilotildees necessaacuterias para o meu sucesso escolar eaos quais estarei sempre grato
Agrave Ana Luiacutesa Ribeiro que apesar de aacutereas distintas sempre se mostrou disponiacutevel para rever edar a sua opiniatildeo sobre o que fui escrevendo O teu apoio incondicional fez e faraacute sempre toda adiferenccedila
Agrave icrto que mesmo com mil e uma coisas para tratar na sua dissertaccedilatildeo se mostrou sempredisponiacutevel para ajudar
Aos meus Pablitos pela vossa amizade eterna
Tiago Pinto
v
vi
ldquoIt is paradoxical yet true to say that the more we know the more ignorant we become in theabsolute sense for it is only through enlightenment that we become conscious of our limitationsPrecisely one of the most gratifying results of intellectual evolution is the continuous opening up
of new and greater prospectsrdquo
Nikola Tesla
vii
viii
Contents
1 Introduction 111 Context 112 Motivation 113 Objectives 2
2 State of the Art 321 Underwater Vehicles 322 Localization Techniques 4
221 Inertial Navigation System 4222 Geographic position 4
23 Acoustic Localization 5231 Underwater Acoustic Communication Channel 5232 Range Measurement 7233 Underwater Acoustic Positioning Systems 8234 Time Difference of Arrival - TDoA 10235 Direction of Arrival - DoA 11236 Time of Arrival - ToA 12
3 System Thinking 1531 Solution Method 1532 Hardware Constraints 1633 QPSK Modulation 1734 Kasami Sequences 1935 Correlation Method 1936 Offline Validation and Results 21
361 Improving the ToA Estimation - Hilbert Transform 2237 Summary 24
4 Digital Implementation 2541 Hardware Platforms 25
411 Transmission 25412 Reception 28
42 Digital System Developed 31421 32 RAMs 32422 Corr 00 and 11 34423 RAM holding 16 Kasami Sequences 37424 Correlation Associator and Total Window Accumulator 37425 Peak Finder 39
ix
x CONTENTS
426 Implementation Results 4043 Software 4044 Summary 40
5 Results 4351 Simulation Results 4352 FEUPrsquos Tank Results 46
521 First Test 46522 Second Test 47
6 Conclusion 4961 Objectives Completion 4962 Future Work 49
List of Figures
21 Commercial AUv example - Iver 3 Standard model 422 Multi-path 523 Sound profile in seawater 624 Example of an SBL positioning system 825 Example of an USBL positioning system [11] 926 Example of an LBL positioning system [8] 1027 Illustration of Multilateration 1128 Illustration of Trilateration 1229 Frequency selective system 12210 Comparison between pure tone cross correlation and pure tone with distortion
cross-correlation [7] 14
31 System architecture - transmitting sequence 16 1632 Implemented constellation 1833 Modulated signal spectrum 1834 Symbols 01 and 11 of QPSK modulation with square approximation 2035 Square symbols 00 and 10 of QPSK modulation with square approximation 2036 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1 2137 Original signal correlation vs Square signal correlation 2238 Original signal modulation vs Square signal modulation - ToA comparison 2239 Absolute correlation values vs HT applied 23310 Absolute correlation values vs HT applied (close-up) 23
41 Transmitter system overview 2542 FPGA used for the signal generation 2643 Signal amplifier board 2744 Signal amplifier schematic [5] 2745 Transducer hardware 2846 Reception schematic 2847 Hydrophone 2848 Analog filtering and amplifying 2949 RedPitaya on the left Analog board on the right 30410 RedPitaya system_wrapper overview 30411 QPSK module - top level 31412 32 RAMs module organisation 32413 Information hold by counters 33414 Timing diagram 33415 corr_00 module overview 34
xi
xii LIST OF FIGURES
416 corr_11 module overview 35417 samples_adder module (present in corr_11 and corr_00) 36418 RAM holding kasami sequences 37419 corr_associator and total_window_accumulator overviews 38420 peak_finder module overview 39
51 QPSK system result 4352 QPSK system result - close up 4453 Sequence 1 correlation result vs Sequence 2 correlation result 4554 QPSK module result 4555 Distances estimated for the four different positions 4756 Second test - Transmission timeline 4757 Second test - Distance estimated results 4858 Second test - Detected sequences 48
List of Tables
41 Example of corr_00 logic operations when ram_index_rd = 2 3542 Utilization percentage - Overall System 4043 Utilization percentage - Developed DSP 40
xiii
xiv LIST OF TABLES
List of Abbreviations
AUV Autonomous Underwater VehicleBPSK Binary Phase-Shift KeyingDSP Digital Signal ProcessingQPSK Quadrate Phase-Shift KeyingGNSS Global Navigation Satellite SystemsTDoA Time Difference of ArrivalToA Time of ArrivalToF Time of FlightLBL Long Base LineSBL Short Base LineUSBL Ultra Short Base LineSNR Signal to Noise RatioADC Analog to Digital ConverterFPGA Field Programmable Gate Array
xv
Chapter 1
Introduction
11 Context
Human kind has studied travelled and achieved greatness in multiple areas but oceanrsquos exploration
represents one in which there are still manifold questions to be answered In fact only 5 of the
searsquos ground has been explored by Human beings Consequently the need to investigate such a
large remaining area in depth arises and aims for example to discover new energetic food or
medicinal resources a better understand magnetic field changes discovery of new species etc
This phenomenon is yet to be achieved due to appended costs and lacking of available and
capable technologies For example on earthrsquos surface users are able to use cheap and efficient
localization systems (GNSS - Global Navigation Satellite Systems) that allow them to check their
global positions in a short time period On the contrary underwater localization and communica-
tion bring new challenges As standard methods used to communicate and locate on the earthrsquos
surface use electromagnetic waves that suffer an unbearable attenuation underwater other alterna-
tives must be taken into consideration
The work here presented has the goal of mitigating this need of developing and improving
underwater localisation technologies
12 Motivation
This project is part of a INESC TEC project and aims to continue a master thesis work [7] which
achieved promising preliminary results These were accomplished when implementing a system
based on signal processing to determine the time of arrival (ToA) of an acoustic signal modulated
in BPSK through correlation The system developed in [7] was able to generate a sharp correlation
peak in adverse conditions (noise and multi-path) and as a side effect transfer data (low-debit)
from the transmitter to the receiver (AUV)
The necessary precision for the localisation of an AUV varies from task to task If a high
precision is needed the system should be able to reconfigure itself in order to achieve that higher
precision On the other hand the system should also reconfigure its localization method when this
1
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
Agradecimentos
Em primeiro lugar agradeccedilo ao Professor Joseacute Carlos Alves por todo o apoio despendido ao longodeste semestre
Aos meus pais que me proporcionaram as condiccedilotildees necessaacuterias para o meu sucesso escolar eaos quais estarei sempre grato
Agrave Ana Luiacutesa Ribeiro que apesar de aacutereas distintas sempre se mostrou disponiacutevel para rever edar a sua opiniatildeo sobre o que fui escrevendo O teu apoio incondicional fez e faraacute sempre toda adiferenccedila
Agrave icrto que mesmo com mil e uma coisas para tratar na sua dissertaccedilatildeo se mostrou sempredisponiacutevel para ajudar
Aos meus Pablitos pela vossa amizade eterna
Tiago Pinto
v
vi
ldquoIt is paradoxical yet true to say that the more we know the more ignorant we become in theabsolute sense for it is only through enlightenment that we become conscious of our limitationsPrecisely one of the most gratifying results of intellectual evolution is the continuous opening up
of new and greater prospectsrdquo
Nikola Tesla
vii
viii
Contents
1 Introduction 111 Context 112 Motivation 113 Objectives 2
2 State of the Art 321 Underwater Vehicles 322 Localization Techniques 4
221 Inertial Navigation System 4222 Geographic position 4
23 Acoustic Localization 5231 Underwater Acoustic Communication Channel 5232 Range Measurement 7233 Underwater Acoustic Positioning Systems 8234 Time Difference of Arrival - TDoA 10235 Direction of Arrival - DoA 11236 Time of Arrival - ToA 12
3 System Thinking 1531 Solution Method 1532 Hardware Constraints 1633 QPSK Modulation 1734 Kasami Sequences 1935 Correlation Method 1936 Offline Validation and Results 21
361 Improving the ToA Estimation - Hilbert Transform 2237 Summary 24
4 Digital Implementation 2541 Hardware Platforms 25
411 Transmission 25412 Reception 28
42 Digital System Developed 31421 32 RAMs 32422 Corr 00 and 11 34423 RAM holding 16 Kasami Sequences 37424 Correlation Associator and Total Window Accumulator 37425 Peak Finder 39
ix
x CONTENTS
426 Implementation Results 4043 Software 4044 Summary 40
5 Results 4351 Simulation Results 4352 FEUPrsquos Tank Results 46
521 First Test 46522 Second Test 47
6 Conclusion 4961 Objectives Completion 4962 Future Work 49
List of Figures
21 Commercial AUv example - Iver 3 Standard model 422 Multi-path 523 Sound profile in seawater 624 Example of an SBL positioning system 825 Example of an USBL positioning system [11] 926 Example of an LBL positioning system [8] 1027 Illustration of Multilateration 1128 Illustration of Trilateration 1229 Frequency selective system 12210 Comparison between pure tone cross correlation and pure tone with distortion
cross-correlation [7] 14
31 System architecture - transmitting sequence 16 1632 Implemented constellation 1833 Modulated signal spectrum 1834 Symbols 01 and 11 of QPSK modulation with square approximation 2035 Square symbols 00 and 10 of QPSK modulation with square approximation 2036 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1 2137 Original signal correlation vs Square signal correlation 2238 Original signal modulation vs Square signal modulation - ToA comparison 2239 Absolute correlation values vs HT applied 23310 Absolute correlation values vs HT applied (close-up) 23
41 Transmitter system overview 2542 FPGA used for the signal generation 2643 Signal amplifier board 2744 Signal amplifier schematic [5] 2745 Transducer hardware 2846 Reception schematic 2847 Hydrophone 2848 Analog filtering and amplifying 2949 RedPitaya on the left Analog board on the right 30410 RedPitaya system_wrapper overview 30411 QPSK module - top level 31412 32 RAMs module organisation 32413 Information hold by counters 33414 Timing diagram 33415 corr_00 module overview 34
xi
xii LIST OF FIGURES
416 corr_11 module overview 35417 samples_adder module (present in corr_11 and corr_00) 36418 RAM holding kasami sequences 37419 corr_associator and total_window_accumulator overviews 38420 peak_finder module overview 39
51 QPSK system result 4352 QPSK system result - close up 4453 Sequence 1 correlation result vs Sequence 2 correlation result 4554 QPSK module result 4555 Distances estimated for the four different positions 4756 Second test - Transmission timeline 4757 Second test - Distance estimated results 4858 Second test - Detected sequences 48
List of Tables
41 Example of corr_00 logic operations when ram_index_rd = 2 3542 Utilization percentage - Overall System 4043 Utilization percentage - Developed DSP 40
xiii
xiv LIST OF TABLES
List of Abbreviations
AUV Autonomous Underwater VehicleBPSK Binary Phase-Shift KeyingDSP Digital Signal ProcessingQPSK Quadrate Phase-Shift KeyingGNSS Global Navigation Satellite SystemsTDoA Time Difference of ArrivalToA Time of ArrivalToF Time of FlightLBL Long Base LineSBL Short Base LineUSBL Ultra Short Base LineSNR Signal to Noise RatioADC Analog to Digital ConverterFPGA Field Programmable Gate Array
xv
Chapter 1
Introduction
11 Context
Human kind has studied travelled and achieved greatness in multiple areas but oceanrsquos exploration
represents one in which there are still manifold questions to be answered In fact only 5 of the
searsquos ground has been explored by Human beings Consequently the need to investigate such a
large remaining area in depth arises and aims for example to discover new energetic food or
medicinal resources a better understand magnetic field changes discovery of new species etc
This phenomenon is yet to be achieved due to appended costs and lacking of available and
capable technologies For example on earthrsquos surface users are able to use cheap and efficient
localization systems (GNSS - Global Navigation Satellite Systems) that allow them to check their
global positions in a short time period On the contrary underwater localization and communica-
tion bring new challenges As standard methods used to communicate and locate on the earthrsquos
surface use electromagnetic waves that suffer an unbearable attenuation underwater other alterna-
tives must be taken into consideration
The work here presented has the goal of mitigating this need of developing and improving
underwater localisation technologies
12 Motivation
This project is part of a INESC TEC project and aims to continue a master thesis work [7] which
achieved promising preliminary results These were accomplished when implementing a system
based on signal processing to determine the time of arrival (ToA) of an acoustic signal modulated
in BPSK through correlation The system developed in [7] was able to generate a sharp correlation
peak in adverse conditions (noise and multi-path) and as a side effect transfer data (low-debit)
from the transmitter to the receiver (AUV)
The necessary precision for the localisation of an AUV varies from task to task If a high
precision is needed the system should be able to reconfigure itself in order to achieve that higher
precision On the other hand the system should also reconfigure its localization method when this
1
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
vi
ldquoIt is paradoxical yet true to say that the more we know the more ignorant we become in theabsolute sense for it is only through enlightenment that we become conscious of our limitationsPrecisely one of the most gratifying results of intellectual evolution is the continuous opening up
of new and greater prospectsrdquo
Nikola Tesla
vii
viii
Contents
1 Introduction 111 Context 112 Motivation 113 Objectives 2
2 State of the Art 321 Underwater Vehicles 322 Localization Techniques 4
221 Inertial Navigation System 4222 Geographic position 4
23 Acoustic Localization 5231 Underwater Acoustic Communication Channel 5232 Range Measurement 7233 Underwater Acoustic Positioning Systems 8234 Time Difference of Arrival - TDoA 10235 Direction of Arrival - DoA 11236 Time of Arrival - ToA 12
3 System Thinking 1531 Solution Method 1532 Hardware Constraints 1633 QPSK Modulation 1734 Kasami Sequences 1935 Correlation Method 1936 Offline Validation and Results 21
361 Improving the ToA Estimation - Hilbert Transform 2237 Summary 24
4 Digital Implementation 2541 Hardware Platforms 25
411 Transmission 25412 Reception 28
42 Digital System Developed 31421 32 RAMs 32422 Corr 00 and 11 34423 RAM holding 16 Kasami Sequences 37424 Correlation Associator and Total Window Accumulator 37425 Peak Finder 39
ix
x CONTENTS
426 Implementation Results 4043 Software 4044 Summary 40
5 Results 4351 Simulation Results 4352 FEUPrsquos Tank Results 46
521 First Test 46522 Second Test 47
6 Conclusion 4961 Objectives Completion 4962 Future Work 49
List of Figures
21 Commercial AUv example - Iver 3 Standard model 422 Multi-path 523 Sound profile in seawater 624 Example of an SBL positioning system 825 Example of an USBL positioning system [11] 926 Example of an LBL positioning system [8] 1027 Illustration of Multilateration 1128 Illustration of Trilateration 1229 Frequency selective system 12210 Comparison between pure tone cross correlation and pure tone with distortion
cross-correlation [7] 14
31 System architecture - transmitting sequence 16 1632 Implemented constellation 1833 Modulated signal spectrum 1834 Symbols 01 and 11 of QPSK modulation with square approximation 2035 Square symbols 00 and 10 of QPSK modulation with square approximation 2036 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1 2137 Original signal correlation vs Square signal correlation 2238 Original signal modulation vs Square signal modulation - ToA comparison 2239 Absolute correlation values vs HT applied 23310 Absolute correlation values vs HT applied (close-up) 23
41 Transmitter system overview 2542 FPGA used for the signal generation 2643 Signal amplifier board 2744 Signal amplifier schematic [5] 2745 Transducer hardware 2846 Reception schematic 2847 Hydrophone 2848 Analog filtering and amplifying 2949 RedPitaya on the left Analog board on the right 30410 RedPitaya system_wrapper overview 30411 QPSK module - top level 31412 32 RAMs module organisation 32413 Information hold by counters 33414 Timing diagram 33415 corr_00 module overview 34
xi
xii LIST OF FIGURES
416 corr_11 module overview 35417 samples_adder module (present in corr_11 and corr_00) 36418 RAM holding kasami sequences 37419 corr_associator and total_window_accumulator overviews 38420 peak_finder module overview 39
51 QPSK system result 4352 QPSK system result - close up 4453 Sequence 1 correlation result vs Sequence 2 correlation result 4554 QPSK module result 4555 Distances estimated for the four different positions 4756 Second test - Transmission timeline 4757 Second test - Distance estimated results 4858 Second test - Detected sequences 48
List of Tables
41 Example of corr_00 logic operations when ram_index_rd = 2 3542 Utilization percentage - Overall System 4043 Utilization percentage - Developed DSP 40
xiii
xiv LIST OF TABLES
List of Abbreviations
AUV Autonomous Underwater VehicleBPSK Binary Phase-Shift KeyingDSP Digital Signal ProcessingQPSK Quadrate Phase-Shift KeyingGNSS Global Navigation Satellite SystemsTDoA Time Difference of ArrivalToA Time of ArrivalToF Time of FlightLBL Long Base LineSBL Short Base LineUSBL Ultra Short Base LineSNR Signal to Noise RatioADC Analog to Digital ConverterFPGA Field Programmable Gate Array
xv
Chapter 1
Introduction
11 Context
Human kind has studied travelled and achieved greatness in multiple areas but oceanrsquos exploration
represents one in which there are still manifold questions to be answered In fact only 5 of the
searsquos ground has been explored by Human beings Consequently the need to investigate such a
large remaining area in depth arises and aims for example to discover new energetic food or
medicinal resources a better understand magnetic field changes discovery of new species etc
This phenomenon is yet to be achieved due to appended costs and lacking of available and
capable technologies For example on earthrsquos surface users are able to use cheap and efficient
localization systems (GNSS - Global Navigation Satellite Systems) that allow them to check their
global positions in a short time period On the contrary underwater localization and communica-
tion bring new challenges As standard methods used to communicate and locate on the earthrsquos
surface use electromagnetic waves that suffer an unbearable attenuation underwater other alterna-
tives must be taken into consideration
The work here presented has the goal of mitigating this need of developing and improving
underwater localisation technologies
12 Motivation
This project is part of a INESC TEC project and aims to continue a master thesis work [7] which
achieved promising preliminary results These were accomplished when implementing a system
based on signal processing to determine the time of arrival (ToA) of an acoustic signal modulated
in BPSK through correlation The system developed in [7] was able to generate a sharp correlation
peak in adverse conditions (noise and multi-path) and as a side effect transfer data (low-debit)
from the transmitter to the receiver (AUV)
The necessary precision for the localisation of an AUV varies from task to task If a high
precision is needed the system should be able to reconfigure itself in order to achieve that higher
precision On the other hand the system should also reconfigure its localization method when this
1
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
ldquoIt is paradoxical yet true to say that the more we know the more ignorant we become in theabsolute sense for it is only through enlightenment that we become conscious of our limitationsPrecisely one of the most gratifying results of intellectual evolution is the continuous opening up
of new and greater prospectsrdquo
Nikola Tesla
vii
viii
Contents
1 Introduction 111 Context 112 Motivation 113 Objectives 2
2 State of the Art 321 Underwater Vehicles 322 Localization Techniques 4
221 Inertial Navigation System 4222 Geographic position 4
23 Acoustic Localization 5231 Underwater Acoustic Communication Channel 5232 Range Measurement 7233 Underwater Acoustic Positioning Systems 8234 Time Difference of Arrival - TDoA 10235 Direction of Arrival - DoA 11236 Time of Arrival - ToA 12
3 System Thinking 1531 Solution Method 1532 Hardware Constraints 1633 QPSK Modulation 1734 Kasami Sequences 1935 Correlation Method 1936 Offline Validation and Results 21
361 Improving the ToA Estimation - Hilbert Transform 2237 Summary 24
4 Digital Implementation 2541 Hardware Platforms 25
411 Transmission 25412 Reception 28
42 Digital System Developed 31421 32 RAMs 32422 Corr 00 and 11 34423 RAM holding 16 Kasami Sequences 37424 Correlation Associator and Total Window Accumulator 37425 Peak Finder 39
ix
x CONTENTS
426 Implementation Results 4043 Software 4044 Summary 40
5 Results 4351 Simulation Results 4352 FEUPrsquos Tank Results 46
521 First Test 46522 Second Test 47
6 Conclusion 4961 Objectives Completion 4962 Future Work 49
List of Figures
21 Commercial AUv example - Iver 3 Standard model 422 Multi-path 523 Sound profile in seawater 624 Example of an SBL positioning system 825 Example of an USBL positioning system [11] 926 Example of an LBL positioning system [8] 1027 Illustration of Multilateration 1128 Illustration of Trilateration 1229 Frequency selective system 12210 Comparison between pure tone cross correlation and pure tone with distortion
cross-correlation [7] 14
31 System architecture - transmitting sequence 16 1632 Implemented constellation 1833 Modulated signal spectrum 1834 Symbols 01 and 11 of QPSK modulation with square approximation 2035 Square symbols 00 and 10 of QPSK modulation with square approximation 2036 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1 2137 Original signal correlation vs Square signal correlation 2238 Original signal modulation vs Square signal modulation - ToA comparison 2239 Absolute correlation values vs HT applied 23310 Absolute correlation values vs HT applied (close-up) 23
41 Transmitter system overview 2542 FPGA used for the signal generation 2643 Signal amplifier board 2744 Signal amplifier schematic [5] 2745 Transducer hardware 2846 Reception schematic 2847 Hydrophone 2848 Analog filtering and amplifying 2949 RedPitaya on the left Analog board on the right 30410 RedPitaya system_wrapper overview 30411 QPSK module - top level 31412 32 RAMs module organisation 32413 Information hold by counters 33414 Timing diagram 33415 corr_00 module overview 34
xi
xii LIST OF FIGURES
416 corr_11 module overview 35417 samples_adder module (present in corr_11 and corr_00) 36418 RAM holding kasami sequences 37419 corr_associator and total_window_accumulator overviews 38420 peak_finder module overview 39
51 QPSK system result 4352 QPSK system result - close up 4453 Sequence 1 correlation result vs Sequence 2 correlation result 4554 QPSK module result 4555 Distances estimated for the four different positions 4756 Second test - Transmission timeline 4757 Second test - Distance estimated results 4858 Second test - Detected sequences 48
List of Tables
41 Example of corr_00 logic operations when ram_index_rd = 2 3542 Utilization percentage - Overall System 4043 Utilization percentage - Developed DSP 40
xiii
xiv LIST OF TABLES
List of Abbreviations
AUV Autonomous Underwater VehicleBPSK Binary Phase-Shift KeyingDSP Digital Signal ProcessingQPSK Quadrate Phase-Shift KeyingGNSS Global Navigation Satellite SystemsTDoA Time Difference of ArrivalToA Time of ArrivalToF Time of FlightLBL Long Base LineSBL Short Base LineUSBL Ultra Short Base LineSNR Signal to Noise RatioADC Analog to Digital ConverterFPGA Field Programmable Gate Array
xv
Chapter 1
Introduction
11 Context
Human kind has studied travelled and achieved greatness in multiple areas but oceanrsquos exploration
represents one in which there are still manifold questions to be answered In fact only 5 of the
searsquos ground has been explored by Human beings Consequently the need to investigate such a
large remaining area in depth arises and aims for example to discover new energetic food or
medicinal resources a better understand magnetic field changes discovery of new species etc
This phenomenon is yet to be achieved due to appended costs and lacking of available and
capable technologies For example on earthrsquos surface users are able to use cheap and efficient
localization systems (GNSS - Global Navigation Satellite Systems) that allow them to check their
global positions in a short time period On the contrary underwater localization and communica-
tion bring new challenges As standard methods used to communicate and locate on the earthrsquos
surface use electromagnetic waves that suffer an unbearable attenuation underwater other alterna-
tives must be taken into consideration
The work here presented has the goal of mitigating this need of developing and improving
underwater localisation technologies
12 Motivation
This project is part of a INESC TEC project and aims to continue a master thesis work [7] which
achieved promising preliminary results These were accomplished when implementing a system
based on signal processing to determine the time of arrival (ToA) of an acoustic signal modulated
in BPSK through correlation The system developed in [7] was able to generate a sharp correlation
peak in adverse conditions (noise and multi-path) and as a side effect transfer data (low-debit)
from the transmitter to the receiver (AUV)
The necessary precision for the localisation of an AUV varies from task to task If a high
precision is needed the system should be able to reconfigure itself in order to achieve that higher
precision On the other hand the system should also reconfigure its localization method when this
1
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
viii
Contents
1 Introduction 111 Context 112 Motivation 113 Objectives 2
2 State of the Art 321 Underwater Vehicles 322 Localization Techniques 4
221 Inertial Navigation System 4222 Geographic position 4
23 Acoustic Localization 5231 Underwater Acoustic Communication Channel 5232 Range Measurement 7233 Underwater Acoustic Positioning Systems 8234 Time Difference of Arrival - TDoA 10235 Direction of Arrival - DoA 11236 Time of Arrival - ToA 12
3 System Thinking 1531 Solution Method 1532 Hardware Constraints 1633 QPSK Modulation 1734 Kasami Sequences 1935 Correlation Method 1936 Offline Validation and Results 21
361 Improving the ToA Estimation - Hilbert Transform 2237 Summary 24
4 Digital Implementation 2541 Hardware Platforms 25
411 Transmission 25412 Reception 28
42 Digital System Developed 31421 32 RAMs 32422 Corr 00 and 11 34423 RAM holding 16 Kasami Sequences 37424 Correlation Associator and Total Window Accumulator 37425 Peak Finder 39
ix
x CONTENTS
426 Implementation Results 4043 Software 4044 Summary 40
5 Results 4351 Simulation Results 4352 FEUPrsquos Tank Results 46
521 First Test 46522 Second Test 47
6 Conclusion 4961 Objectives Completion 4962 Future Work 49
List of Figures
21 Commercial AUv example - Iver 3 Standard model 422 Multi-path 523 Sound profile in seawater 624 Example of an SBL positioning system 825 Example of an USBL positioning system [11] 926 Example of an LBL positioning system [8] 1027 Illustration of Multilateration 1128 Illustration of Trilateration 1229 Frequency selective system 12210 Comparison between pure tone cross correlation and pure tone with distortion
cross-correlation [7] 14
31 System architecture - transmitting sequence 16 1632 Implemented constellation 1833 Modulated signal spectrum 1834 Symbols 01 and 11 of QPSK modulation with square approximation 2035 Square symbols 00 and 10 of QPSK modulation with square approximation 2036 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1 2137 Original signal correlation vs Square signal correlation 2238 Original signal modulation vs Square signal modulation - ToA comparison 2239 Absolute correlation values vs HT applied 23310 Absolute correlation values vs HT applied (close-up) 23
41 Transmitter system overview 2542 FPGA used for the signal generation 2643 Signal amplifier board 2744 Signal amplifier schematic [5] 2745 Transducer hardware 2846 Reception schematic 2847 Hydrophone 2848 Analog filtering and amplifying 2949 RedPitaya on the left Analog board on the right 30410 RedPitaya system_wrapper overview 30411 QPSK module - top level 31412 32 RAMs module organisation 32413 Information hold by counters 33414 Timing diagram 33415 corr_00 module overview 34
xi
xii LIST OF FIGURES
416 corr_11 module overview 35417 samples_adder module (present in corr_11 and corr_00) 36418 RAM holding kasami sequences 37419 corr_associator and total_window_accumulator overviews 38420 peak_finder module overview 39
51 QPSK system result 4352 QPSK system result - close up 4453 Sequence 1 correlation result vs Sequence 2 correlation result 4554 QPSK module result 4555 Distances estimated for the four different positions 4756 Second test - Transmission timeline 4757 Second test - Distance estimated results 4858 Second test - Detected sequences 48
List of Tables
41 Example of corr_00 logic operations when ram_index_rd = 2 3542 Utilization percentage - Overall System 4043 Utilization percentage - Developed DSP 40
xiii
xiv LIST OF TABLES
List of Abbreviations
AUV Autonomous Underwater VehicleBPSK Binary Phase-Shift KeyingDSP Digital Signal ProcessingQPSK Quadrate Phase-Shift KeyingGNSS Global Navigation Satellite SystemsTDoA Time Difference of ArrivalToA Time of ArrivalToF Time of FlightLBL Long Base LineSBL Short Base LineUSBL Ultra Short Base LineSNR Signal to Noise RatioADC Analog to Digital ConverterFPGA Field Programmable Gate Array
xv
Chapter 1
Introduction
11 Context
Human kind has studied travelled and achieved greatness in multiple areas but oceanrsquos exploration
represents one in which there are still manifold questions to be answered In fact only 5 of the
searsquos ground has been explored by Human beings Consequently the need to investigate such a
large remaining area in depth arises and aims for example to discover new energetic food or
medicinal resources a better understand magnetic field changes discovery of new species etc
This phenomenon is yet to be achieved due to appended costs and lacking of available and
capable technologies For example on earthrsquos surface users are able to use cheap and efficient
localization systems (GNSS - Global Navigation Satellite Systems) that allow them to check their
global positions in a short time period On the contrary underwater localization and communica-
tion bring new challenges As standard methods used to communicate and locate on the earthrsquos
surface use electromagnetic waves that suffer an unbearable attenuation underwater other alterna-
tives must be taken into consideration
The work here presented has the goal of mitigating this need of developing and improving
underwater localisation technologies
12 Motivation
This project is part of a INESC TEC project and aims to continue a master thesis work [7] which
achieved promising preliminary results These were accomplished when implementing a system
based on signal processing to determine the time of arrival (ToA) of an acoustic signal modulated
in BPSK through correlation The system developed in [7] was able to generate a sharp correlation
peak in adverse conditions (noise and multi-path) and as a side effect transfer data (low-debit)
from the transmitter to the receiver (AUV)
The necessary precision for the localisation of an AUV varies from task to task If a high
precision is needed the system should be able to reconfigure itself in order to achieve that higher
precision On the other hand the system should also reconfigure its localization method when this
1
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
Contents
1 Introduction 111 Context 112 Motivation 113 Objectives 2
2 State of the Art 321 Underwater Vehicles 322 Localization Techniques 4
221 Inertial Navigation System 4222 Geographic position 4
23 Acoustic Localization 5231 Underwater Acoustic Communication Channel 5232 Range Measurement 7233 Underwater Acoustic Positioning Systems 8234 Time Difference of Arrival - TDoA 10235 Direction of Arrival - DoA 11236 Time of Arrival - ToA 12
3 System Thinking 1531 Solution Method 1532 Hardware Constraints 1633 QPSK Modulation 1734 Kasami Sequences 1935 Correlation Method 1936 Offline Validation and Results 21
361 Improving the ToA Estimation - Hilbert Transform 2237 Summary 24
4 Digital Implementation 2541 Hardware Platforms 25
411 Transmission 25412 Reception 28
42 Digital System Developed 31421 32 RAMs 32422 Corr 00 and 11 34423 RAM holding 16 Kasami Sequences 37424 Correlation Associator and Total Window Accumulator 37425 Peak Finder 39
ix
x CONTENTS
426 Implementation Results 4043 Software 4044 Summary 40
5 Results 4351 Simulation Results 4352 FEUPrsquos Tank Results 46
521 First Test 46522 Second Test 47
6 Conclusion 4961 Objectives Completion 4962 Future Work 49
List of Figures
21 Commercial AUv example - Iver 3 Standard model 422 Multi-path 523 Sound profile in seawater 624 Example of an SBL positioning system 825 Example of an USBL positioning system [11] 926 Example of an LBL positioning system [8] 1027 Illustration of Multilateration 1128 Illustration of Trilateration 1229 Frequency selective system 12210 Comparison between pure tone cross correlation and pure tone with distortion
cross-correlation [7] 14
31 System architecture - transmitting sequence 16 1632 Implemented constellation 1833 Modulated signal spectrum 1834 Symbols 01 and 11 of QPSK modulation with square approximation 2035 Square symbols 00 and 10 of QPSK modulation with square approximation 2036 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1 2137 Original signal correlation vs Square signal correlation 2238 Original signal modulation vs Square signal modulation - ToA comparison 2239 Absolute correlation values vs HT applied 23310 Absolute correlation values vs HT applied (close-up) 23
41 Transmitter system overview 2542 FPGA used for the signal generation 2643 Signal amplifier board 2744 Signal amplifier schematic [5] 2745 Transducer hardware 2846 Reception schematic 2847 Hydrophone 2848 Analog filtering and amplifying 2949 RedPitaya on the left Analog board on the right 30410 RedPitaya system_wrapper overview 30411 QPSK module - top level 31412 32 RAMs module organisation 32413 Information hold by counters 33414 Timing diagram 33415 corr_00 module overview 34
xi
xii LIST OF FIGURES
416 corr_11 module overview 35417 samples_adder module (present in corr_11 and corr_00) 36418 RAM holding kasami sequences 37419 corr_associator and total_window_accumulator overviews 38420 peak_finder module overview 39
51 QPSK system result 4352 QPSK system result - close up 4453 Sequence 1 correlation result vs Sequence 2 correlation result 4554 QPSK module result 4555 Distances estimated for the four different positions 4756 Second test - Transmission timeline 4757 Second test - Distance estimated results 4858 Second test - Detected sequences 48
List of Tables
41 Example of corr_00 logic operations when ram_index_rd = 2 3542 Utilization percentage - Overall System 4043 Utilization percentage - Developed DSP 40
xiii
xiv LIST OF TABLES
List of Abbreviations
AUV Autonomous Underwater VehicleBPSK Binary Phase-Shift KeyingDSP Digital Signal ProcessingQPSK Quadrate Phase-Shift KeyingGNSS Global Navigation Satellite SystemsTDoA Time Difference of ArrivalToA Time of ArrivalToF Time of FlightLBL Long Base LineSBL Short Base LineUSBL Ultra Short Base LineSNR Signal to Noise RatioADC Analog to Digital ConverterFPGA Field Programmable Gate Array
xv
Chapter 1
Introduction
11 Context
Human kind has studied travelled and achieved greatness in multiple areas but oceanrsquos exploration
represents one in which there are still manifold questions to be answered In fact only 5 of the
searsquos ground has been explored by Human beings Consequently the need to investigate such a
large remaining area in depth arises and aims for example to discover new energetic food or
medicinal resources a better understand magnetic field changes discovery of new species etc
This phenomenon is yet to be achieved due to appended costs and lacking of available and
capable technologies For example on earthrsquos surface users are able to use cheap and efficient
localization systems (GNSS - Global Navigation Satellite Systems) that allow them to check their
global positions in a short time period On the contrary underwater localization and communica-
tion bring new challenges As standard methods used to communicate and locate on the earthrsquos
surface use electromagnetic waves that suffer an unbearable attenuation underwater other alterna-
tives must be taken into consideration
The work here presented has the goal of mitigating this need of developing and improving
underwater localisation technologies
12 Motivation
This project is part of a INESC TEC project and aims to continue a master thesis work [7] which
achieved promising preliminary results These were accomplished when implementing a system
based on signal processing to determine the time of arrival (ToA) of an acoustic signal modulated
in BPSK through correlation The system developed in [7] was able to generate a sharp correlation
peak in adverse conditions (noise and multi-path) and as a side effect transfer data (low-debit)
from the transmitter to the receiver (AUV)
The necessary precision for the localisation of an AUV varies from task to task If a high
precision is needed the system should be able to reconfigure itself in order to achieve that higher
precision On the other hand the system should also reconfigure its localization method when this
1
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
x CONTENTS
426 Implementation Results 4043 Software 4044 Summary 40
5 Results 4351 Simulation Results 4352 FEUPrsquos Tank Results 46
521 First Test 46522 Second Test 47
6 Conclusion 4961 Objectives Completion 4962 Future Work 49
List of Figures
21 Commercial AUv example - Iver 3 Standard model 422 Multi-path 523 Sound profile in seawater 624 Example of an SBL positioning system 825 Example of an USBL positioning system [11] 926 Example of an LBL positioning system [8] 1027 Illustration of Multilateration 1128 Illustration of Trilateration 1229 Frequency selective system 12210 Comparison between pure tone cross correlation and pure tone with distortion
cross-correlation [7] 14
31 System architecture - transmitting sequence 16 1632 Implemented constellation 1833 Modulated signal spectrum 1834 Symbols 01 and 11 of QPSK modulation with square approximation 2035 Square symbols 00 and 10 of QPSK modulation with square approximation 2036 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1 2137 Original signal correlation vs Square signal correlation 2238 Original signal modulation vs Square signal modulation - ToA comparison 2239 Absolute correlation values vs HT applied 23310 Absolute correlation values vs HT applied (close-up) 23
41 Transmitter system overview 2542 FPGA used for the signal generation 2643 Signal amplifier board 2744 Signal amplifier schematic [5] 2745 Transducer hardware 2846 Reception schematic 2847 Hydrophone 2848 Analog filtering and amplifying 2949 RedPitaya on the left Analog board on the right 30410 RedPitaya system_wrapper overview 30411 QPSK module - top level 31412 32 RAMs module organisation 32413 Information hold by counters 33414 Timing diagram 33415 corr_00 module overview 34
xi
xii LIST OF FIGURES
416 corr_11 module overview 35417 samples_adder module (present in corr_11 and corr_00) 36418 RAM holding kasami sequences 37419 corr_associator and total_window_accumulator overviews 38420 peak_finder module overview 39
51 QPSK system result 4352 QPSK system result - close up 4453 Sequence 1 correlation result vs Sequence 2 correlation result 4554 QPSK module result 4555 Distances estimated for the four different positions 4756 Second test - Transmission timeline 4757 Second test - Distance estimated results 4858 Second test - Detected sequences 48
List of Tables
41 Example of corr_00 logic operations when ram_index_rd = 2 3542 Utilization percentage - Overall System 4043 Utilization percentage - Developed DSP 40
xiii
xiv LIST OF TABLES
List of Abbreviations
AUV Autonomous Underwater VehicleBPSK Binary Phase-Shift KeyingDSP Digital Signal ProcessingQPSK Quadrate Phase-Shift KeyingGNSS Global Navigation Satellite SystemsTDoA Time Difference of ArrivalToA Time of ArrivalToF Time of FlightLBL Long Base LineSBL Short Base LineUSBL Ultra Short Base LineSNR Signal to Noise RatioADC Analog to Digital ConverterFPGA Field Programmable Gate Array
xv
Chapter 1
Introduction
11 Context
Human kind has studied travelled and achieved greatness in multiple areas but oceanrsquos exploration
represents one in which there are still manifold questions to be answered In fact only 5 of the
searsquos ground has been explored by Human beings Consequently the need to investigate such a
large remaining area in depth arises and aims for example to discover new energetic food or
medicinal resources a better understand magnetic field changes discovery of new species etc
This phenomenon is yet to be achieved due to appended costs and lacking of available and
capable technologies For example on earthrsquos surface users are able to use cheap and efficient
localization systems (GNSS - Global Navigation Satellite Systems) that allow them to check their
global positions in a short time period On the contrary underwater localization and communica-
tion bring new challenges As standard methods used to communicate and locate on the earthrsquos
surface use electromagnetic waves that suffer an unbearable attenuation underwater other alterna-
tives must be taken into consideration
The work here presented has the goal of mitigating this need of developing and improving
underwater localisation technologies
12 Motivation
This project is part of a INESC TEC project and aims to continue a master thesis work [7] which
achieved promising preliminary results These were accomplished when implementing a system
based on signal processing to determine the time of arrival (ToA) of an acoustic signal modulated
in BPSK through correlation The system developed in [7] was able to generate a sharp correlation
peak in adverse conditions (noise and multi-path) and as a side effect transfer data (low-debit)
from the transmitter to the receiver (AUV)
The necessary precision for the localisation of an AUV varies from task to task If a high
precision is needed the system should be able to reconfigure itself in order to achieve that higher
precision On the other hand the system should also reconfigure its localization method when this
1
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
List of Figures
21 Commercial AUv example - Iver 3 Standard model 422 Multi-path 523 Sound profile in seawater 624 Example of an SBL positioning system 825 Example of an USBL positioning system [11] 926 Example of an LBL positioning system [8] 1027 Illustration of Multilateration 1128 Illustration of Trilateration 1229 Frequency selective system 12210 Comparison between pure tone cross correlation and pure tone with distortion
cross-correlation [7] 14
31 System architecture - transmitting sequence 16 1632 Implemented constellation 1833 Modulated signal spectrum 1834 Symbols 01 and 11 of QPSK modulation with square approximation 2035 Square symbols 00 and 10 of QPSK modulation with square approximation 2036 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1 2137 Original signal correlation vs Square signal correlation 2238 Original signal modulation vs Square signal modulation - ToA comparison 2239 Absolute correlation values vs HT applied 23310 Absolute correlation values vs HT applied (close-up) 23
41 Transmitter system overview 2542 FPGA used for the signal generation 2643 Signal amplifier board 2744 Signal amplifier schematic [5] 2745 Transducer hardware 2846 Reception schematic 2847 Hydrophone 2848 Analog filtering and amplifying 2949 RedPitaya on the left Analog board on the right 30410 RedPitaya system_wrapper overview 30411 QPSK module - top level 31412 32 RAMs module organisation 32413 Information hold by counters 33414 Timing diagram 33415 corr_00 module overview 34
xi
xii LIST OF FIGURES
416 corr_11 module overview 35417 samples_adder module (present in corr_11 and corr_00) 36418 RAM holding kasami sequences 37419 corr_associator and total_window_accumulator overviews 38420 peak_finder module overview 39
51 QPSK system result 4352 QPSK system result - close up 4453 Sequence 1 correlation result vs Sequence 2 correlation result 4554 QPSK module result 4555 Distances estimated for the four different positions 4756 Second test - Transmission timeline 4757 Second test - Distance estimated results 4858 Second test - Detected sequences 48
List of Tables
41 Example of corr_00 logic operations when ram_index_rd = 2 3542 Utilization percentage - Overall System 4043 Utilization percentage - Developed DSP 40
xiii
xiv LIST OF TABLES
List of Abbreviations
AUV Autonomous Underwater VehicleBPSK Binary Phase-Shift KeyingDSP Digital Signal ProcessingQPSK Quadrate Phase-Shift KeyingGNSS Global Navigation Satellite SystemsTDoA Time Difference of ArrivalToA Time of ArrivalToF Time of FlightLBL Long Base LineSBL Short Base LineUSBL Ultra Short Base LineSNR Signal to Noise RatioADC Analog to Digital ConverterFPGA Field Programmable Gate Array
xv
Chapter 1
Introduction
11 Context
Human kind has studied travelled and achieved greatness in multiple areas but oceanrsquos exploration
represents one in which there are still manifold questions to be answered In fact only 5 of the
searsquos ground has been explored by Human beings Consequently the need to investigate such a
large remaining area in depth arises and aims for example to discover new energetic food or
medicinal resources a better understand magnetic field changes discovery of new species etc
This phenomenon is yet to be achieved due to appended costs and lacking of available and
capable technologies For example on earthrsquos surface users are able to use cheap and efficient
localization systems (GNSS - Global Navigation Satellite Systems) that allow them to check their
global positions in a short time period On the contrary underwater localization and communica-
tion bring new challenges As standard methods used to communicate and locate on the earthrsquos
surface use electromagnetic waves that suffer an unbearable attenuation underwater other alterna-
tives must be taken into consideration
The work here presented has the goal of mitigating this need of developing and improving
underwater localisation technologies
12 Motivation
This project is part of a INESC TEC project and aims to continue a master thesis work [7] which
achieved promising preliminary results These were accomplished when implementing a system
based on signal processing to determine the time of arrival (ToA) of an acoustic signal modulated
in BPSK through correlation The system developed in [7] was able to generate a sharp correlation
peak in adverse conditions (noise and multi-path) and as a side effect transfer data (low-debit)
from the transmitter to the receiver (AUV)
The necessary precision for the localisation of an AUV varies from task to task If a high
precision is needed the system should be able to reconfigure itself in order to achieve that higher
precision On the other hand the system should also reconfigure its localization method when this
1
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
xii LIST OF FIGURES
416 corr_11 module overview 35417 samples_adder module (present in corr_11 and corr_00) 36418 RAM holding kasami sequences 37419 corr_associator and total_window_accumulator overviews 38420 peak_finder module overview 39
51 QPSK system result 4352 QPSK system result - close up 4453 Sequence 1 correlation result vs Sequence 2 correlation result 4554 QPSK module result 4555 Distances estimated for the four different positions 4756 Second test - Transmission timeline 4757 Second test - Distance estimated results 4858 Second test - Detected sequences 48
List of Tables
41 Example of corr_00 logic operations when ram_index_rd = 2 3542 Utilization percentage - Overall System 4043 Utilization percentage - Developed DSP 40
xiii
xiv LIST OF TABLES
List of Abbreviations
AUV Autonomous Underwater VehicleBPSK Binary Phase-Shift KeyingDSP Digital Signal ProcessingQPSK Quadrate Phase-Shift KeyingGNSS Global Navigation Satellite SystemsTDoA Time Difference of ArrivalToA Time of ArrivalToF Time of FlightLBL Long Base LineSBL Short Base LineUSBL Ultra Short Base LineSNR Signal to Noise RatioADC Analog to Digital ConverterFPGA Field Programmable Gate Array
xv
Chapter 1
Introduction
11 Context
Human kind has studied travelled and achieved greatness in multiple areas but oceanrsquos exploration
represents one in which there are still manifold questions to be answered In fact only 5 of the
searsquos ground has been explored by Human beings Consequently the need to investigate such a
large remaining area in depth arises and aims for example to discover new energetic food or
medicinal resources a better understand magnetic field changes discovery of new species etc
This phenomenon is yet to be achieved due to appended costs and lacking of available and
capable technologies For example on earthrsquos surface users are able to use cheap and efficient
localization systems (GNSS - Global Navigation Satellite Systems) that allow them to check their
global positions in a short time period On the contrary underwater localization and communica-
tion bring new challenges As standard methods used to communicate and locate on the earthrsquos
surface use electromagnetic waves that suffer an unbearable attenuation underwater other alterna-
tives must be taken into consideration
The work here presented has the goal of mitigating this need of developing and improving
underwater localisation technologies
12 Motivation
This project is part of a INESC TEC project and aims to continue a master thesis work [7] which
achieved promising preliminary results These were accomplished when implementing a system
based on signal processing to determine the time of arrival (ToA) of an acoustic signal modulated
in BPSK through correlation The system developed in [7] was able to generate a sharp correlation
peak in adverse conditions (noise and multi-path) and as a side effect transfer data (low-debit)
from the transmitter to the receiver (AUV)
The necessary precision for the localisation of an AUV varies from task to task If a high
precision is needed the system should be able to reconfigure itself in order to achieve that higher
precision On the other hand the system should also reconfigure its localization method when this
1
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
List of Tables
41 Example of corr_00 logic operations when ram_index_rd = 2 3542 Utilization percentage - Overall System 4043 Utilization percentage - Developed DSP 40
xiii
xiv LIST OF TABLES
List of Abbreviations
AUV Autonomous Underwater VehicleBPSK Binary Phase-Shift KeyingDSP Digital Signal ProcessingQPSK Quadrate Phase-Shift KeyingGNSS Global Navigation Satellite SystemsTDoA Time Difference of ArrivalToA Time of ArrivalToF Time of FlightLBL Long Base LineSBL Short Base LineUSBL Ultra Short Base LineSNR Signal to Noise RatioADC Analog to Digital ConverterFPGA Field Programmable Gate Array
xv
Chapter 1
Introduction
11 Context
Human kind has studied travelled and achieved greatness in multiple areas but oceanrsquos exploration
represents one in which there are still manifold questions to be answered In fact only 5 of the
searsquos ground has been explored by Human beings Consequently the need to investigate such a
large remaining area in depth arises and aims for example to discover new energetic food or
medicinal resources a better understand magnetic field changes discovery of new species etc
This phenomenon is yet to be achieved due to appended costs and lacking of available and
capable technologies For example on earthrsquos surface users are able to use cheap and efficient
localization systems (GNSS - Global Navigation Satellite Systems) that allow them to check their
global positions in a short time period On the contrary underwater localization and communica-
tion bring new challenges As standard methods used to communicate and locate on the earthrsquos
surface use electromagnetic waves that suffer an unbearable attenuation underwater other alterna-
tives must be taken into consideration
The work here presented has the goal of mitigating this need of developing and improving
underwater localisation technologies
12 Motivation
This project is part of a INESC TEC project and aims to continue a master thesis work [7] which
achieved promising preliminary results These were accomplished when implementing a system
based on signal processing to determine the time of arrival (ToA) of an acoustic signal modulated
in BPSK through correlation The system developed in [7] was able to generate a sharp correlation
peak in adverse conditions (noise and multi-path) and as a side effect transfer data (low-debit)
from the transmitter to the receiver (AUV)
The necessary precision for the localisation of an AUV varies from task to task If a high
precision is needed the system should be able to reconfigure itself in order to achieve that higher
precision On the other hand the system should also reconfigure its localization method when this
1
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
xiv LIST OF TABLES
List of Abbreviations
AUV Autonomous Underwater VehicleBPSK Binary Phase-Shift KeyingDSP Digital Signal ProcessingQPSK Quadrate Phase-Shift KeyingGNSS Global Navigation Satellite SystemsTDoA Time Difference of ArrivalToA Time of ArrivalToF Time of FlightLBL Long Base LineSBL Short Base LineUSBL Ultra Short Base LineSNR Signal to Noise RatioADC Analog to Digital ConverterFPGA Field Programmable Gate Array
xv
Chapter 1
Introduction
11 Context
Human kind has studied travelled and achieved greatness in multiple areas but oceanrsquos exploration
represents one in which there are still manifold questions to be answered In fact only 5 of the
searsquos ground has been explored by Human beings Consequently the need to investigate such a
large remaining area in depth arises and aims for example to discover new energetic food or
medicinal resources a better understand magnetic field changes discovery of new species etc
This phenomenon is yet to be achieved due to appended costs and lacking of available and
capable technologies For example on earthrsquos surface users are able to use cheap and efficient
localization systems (GNSS - Global Navigation Satellite Systems) that allow them to check their
global positions in a short time period On the contrary underwater localization and communica-
tion bring new challenges As standard methods used to communicate and locate on the earthrsquos
surface use electromagnetic waves that suffer an unbearable attenuation underwater other alterna-
tives must be taken into consideration
The work here presented has the goal of mitigating this need of developing and improving
underwater localisation technologies
12 Motivation
This project is part of a INESC TEC project and aims to continue a master thesis work [7] which
achieved promising preliminary results These were accomplished when implementing a system
based on signal processing to determine the time of arrival (ToA) of an acoustic signal modulated
in BPSK through correlation The system developed in [7] was able to generate a sharp correlation
peak in adverse conditions (noise and multi-path) and as a side effect transfer data (low-debit)
from the transmitter to the receiver (AUV)
The necessary precision for the localisation of an AUV varies from task to task If a high
precision is needed the system should be able to reconfigure itself in order to achieve that higher
precision On the other hand the system should also reconfigure its localization method when this
1
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
List of Abbreviations
AUV Autonomous Underwater VehicleBPSK Binary Phase-Shift KeyingDSP Digital Signal ProcessingQPSK Quadrate Phase-Shift KeyingGNSS Global Navigation Satellite SystemsTDoA Time Difference of ArrivalToA Time of ArrivalToF Time of FlightLBL Long Base LineSBL Short Base LineUSBL Ultra Short Base LineSNR Signal to Noise RatioADC Analog to Digital ConverterFPGA Field Programmable Gate Array
xv
Chapter 1
Introduction
11 Context
Human kind has studied travelled and achieved greatness in multiple areas but oceanrsquos exploration
represents one in which there are still manifold questions to be answered In fact only 5 of the
searsquos ground has been explored by Human beings Consequently the need to investigate such a
large remaining area in depth arises and aims for example to discover new energetic food or
medicinal resources a better understand magnetic field changes discovery of new species etc
This phenomenon is yet to be achieved due to appended costs and lacking of available and
capable technologies For example on earthrsquos surface users are able to use cheap and efficient
localization systems (GNSS - Global Navigation Satellite Systems) that allow them to check their
global positions in a short time period On the contrary underwater localization and communica-
tion bring new challenges As standard methods used to communicate and locate on the earthrsquos
surface use electromagnetic waves that suffer an unbearable attenuation underwater other alterna-
tives must be taken into consideration
The work here presented has the goal of mitigating this need of developing and improving
underwater localisation technologies
12 Motivation
This project is part of a INESC TEC project and aims to continue a master thesis work [7] which
achieved promising preliminary results These were accomplished when implementing a system
based on signal processing to determine the time of arrival (ToA) of an acoustic signal modulated
in BPSK through correlation The system developed in [7] was able to generate a sharp correlation
peak in adverse conditions (noise and multi-path) and as a side effect transfer data (low-debit)
from the transmitter to the receiver (AUV)
The necessary precision for the localisation of an AUV varies from task to task If a high
precision is needed the system should be able to reconfigure itself in order to achieve that higher
precision On the other hand the system should also reconfigure its localization method when this
1
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
Chapter 1
Introduction
11 Context
Human kind has studied travelled and achieved greatness in multiple areas but oceanrsquos exploration
represents one in which there are still manifold questions to be answered In fact only 5 of the
searsquos ground has been explored by Human beings Consequently the need to investigate such a
large remaining area in depth arises and aims for example to discover new energetic food or
medicinal resources a better understand magnetic field changes discovery of new species etc
This phenomenon is yet to be achieved due to appended costs and lacking of available and
capable technologies For example on earthrsquos surface users are able to use cheap and efficient
localization systems (GNSS - Global Navigation Satellite Systems) that allow them to check their
global positions in a short time period On the contrary underwater localization and communica-
tion bring new challenges As standard methods used to communicate and locate on the earthrsquos
surface use electromagnetic waves that suffer an unbearable attenuation underwater other alterna-
tives must be taken into consideration
The work here presented has the goal of mitigating this need of developing and improving
underwater localisation technologies
12 Motivation
This project is part of a INESC TEC project and aims to continue a master thesis work [7] which
achieved promising preliminary results These were accomplished when implementing a system
based on signal processing to determine the time of arrival (ToA) of an acoustic signal modulated
in BPSK through correlation The system developed in [7] was able to generate a sharp correlation
peak in adverse conditions (noise and multi-path) and as a side effect transfer data (low-debit)
from the transmitter to the receiver (AUV)
The necessary precision for the localisation of an AUV varies from task to task If a high
precision is needed the system should be able to reconfigure itself in order to achieve that higher
precision On the other hand the system should also reconfigure its localization method when this
1
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
2 Introduction
higher precision is no longer needed (for example open sea operation where no obstacles) Also
since power is a limited resource available on AUVs and the available hardware is re-configurable
(FPGAs both responsible for the digital signal processing and transmission) the system can benefit
from those hardware characteristics and alternate between multiple localization processes allowing
advantageous trade-offs regarding the needs of each task to perform
The work here presented intends to explore how the system can benefit from the re-configurable
capabilities the hardware presents and propose a valid and advantageous solution
13 Objectives
The main objectives of this work are
1 Study and select multiple characteristics of the transmitted signals (modulation codification
and duration)
2 Implement signal decoding processes aiming for a low debit digital communications system
3 Implement a system capable of switching between multiple localization processes
4 Integrate the developed system on an infrastructure used for localization and on a vehicle to
locate using Long Base Line or Ultra Short Base Line architectures
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
Chapter 2
State of the Art
This chapter highlights the available underwater vehicles and the multiple localization techniques
to detect them
Given the fact that this work is intended to continue Joatildeo Magalhatildeesrsquos work [7] the acoustic
localization topic and more specifically the Time of Arrival (ToA) technique will be the main
focus of this chapter
21 Underwater Vehicles
Typically three types of vehicles can be found on underwater applications
1 Manned Submersibles
2 Remotely Operated Vehicles
3 Autonomous Underwater Vehicles
Motivated by military reasons in 1775 there was a first attempt to build an underwater vehicle
David Bushnell designed and built an underwater vessel with the objective to through it attach
explosive charges to enemy ships during the American Revolutionary War
Secondly the US Navy funded the ROV technology development in the 1960s into what
was then named a Cable-Controlled Underwater Recovery Vehicle (CURV) This created the
capability to perform deep-sea rescue operations and to recover objects from the seabed Building
on this technology base the offshore oil and gas industry created the work-class ROVs to assist
in the development of offshore oil fields Furthermore ROVs became essential in the 1980s when
much of the new offshore development exceeded the reach of human divers
Finally the first AUV was developed at the Applied Physics Laboratory at the University
of Washington at 1957 by Stan Murphy Bob Francois and later on Terry Ewart The Special
Purpose Underwater Research Vehicle or SPURV was built with the purpose to study diffusion
acoustic transmission and submarine wakes Since AUVs donrsquot require human control for their
3
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
4 State of the Art
actions and knowing that they were developed to perform long-range missions they have to present
a low power consumption Otherwise therersquos time wasted when coming back again to the surface
and descending again with a new battery for example
Figure 21 Commercial AUv example - Iver 3 Standard model
22 Localization Techniques
When going on a mission it is necessary to know the vehiclersquos position since one of the primary
objectives is to collect valid data from the environment
This following section will describe multiple existing techniques to estimate the vehicle coor-
dinates However due to the importance of Acoustic Localization on this work this approach will
be presented separately at 23
221 Inertial Navigation System
An inertial navigation system (INS) is a navigation device that uses a computer motion sensors
(accelerometers) and rotation sensors (gyroscopes) to continuously calculate by dead reckoning
the position the orientation and the velocity (direction and speed of movement) of a moving object
without the need for external references [2] Occasionally the inertial sensors are supplemented by
magnetic sensors (magnetometers) and speed measuring devices INSs are used on vehicles such
as ships aircraft submarines guided missiles and spacecraft
A high quality INS system presents position drift rates in an order of few kilometres per day
However a high cost and power consumption are associated Thus this localization technique
becomes inadequate for an AUV system due to for instance its limited battery life
222 Geographic position
Geographic position methods use a database that has certain characteristics related to the mis-
sionrsquos operation area Thus they are not adequate for the purpose of this work Nevertheless the
most common techniques are image processing and sonar These will be briefly explained in the
following subsections
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
23 Acoustic Localization 5
2221 Image Processing
This method uses cameras to capture images of the surrounding area and tries to match them with
the database images in order to navigate Thus for optical systems in underwater environments the
reduced range of cameras the water turbidity susceptibility to scattering and inadequacy of light-
ing represent disadvantages for this strategy In addition visual odometry and feature extraction
rely on the existence of static features in range of the vision systems and this is only achieved when
navigating close to the sea floor Therefore optical underwater navigation methods are particularly
well suited to a small-scale mapping of environments rich in static features [10]
2222 Sonar
Sonar is used to detect using acoustic waves features in the environment that could be used as
navigation landmarks With bathymetric sonar features can be extracted almost directly from
the scans With side-scan sonar (imaging) feature extraction is achieved through image process-
ing [10] Similarly to the optical systems after capturing the surrounding features those can be
matched with the information present on the database
23 Acoustic Localization
231 Underwater Acoustic Communication Channel
Multiple factors influence the communication quality when using the underwater environment as
the communication channel The main factors are Multi-path and variable sound speed Thus
communicating on the underwater acoustic channel is a real challenge [16]
Following up the influential factors are going to be described
2311 Multi-path
In such environment the sound waves may suffer deviations This is caused by the different
temperature salinity and pressure conditions provided in the various areas that the sound waves
go through An example of this phenomenon is described in 22
TX RXDirect path
Oceans surface
Multi-path
Figure 22 Multi-path
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
6 State of the Art
Multi-path raises problems mainly on communication systems causing high Inter-Symbol
Interference (ISI) due to the delayed signals illustrated at 22 This negative effect presents is
severer in shallower waters due to their proximity to the surface boundary and is less noticeable if
operating in deeper waters
2312 Sound Speed Profile
The sound speed is mainly affected by pressure salinity and temperature Taking into account
these parameters an alternative to estimate the sound speed is presented bellow [13]
C = 14492+46T +(134minus001T )(Sminus35)+0016Z (21)
Where C is the sound speed in seawater T is the temperature in Celsius S is the salinity in parts
per thousands and Z is the depth of the water
This means that at a temperature of 25 C normal salinity conditions and a depth of 300 meters
the sound speed in the water is 1482 ms which is approximately 45 times the speed of sound in the
air This has a direct impact on the available bandwidth and on the latency of communications
The underwater sound speed profile can be found in figure 23
Figure 23 Sound profile in seawater
2313 Doppler Effect
The Doppler effect is the change in frequency or wavelength of a wave in relation to an observer
who is moving relative to the source
The following formula represents how this effect influences the frequency observed by a mov-
ing or fixed target (AUV for example)
f =(
cplusmn vr
cplusmn vs
)f0 (22)
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
23 Acoustic Localization 7
Where vs represents the velocity of the source relative to the medium vr the velocity of the
receiver relative to the medium and c the speed of the waves in the communication channel
An algorithm was proposed in [7] Even though it never has been implemented and tested in
real-time the MATLAB simulations revealed that when trying to calculate a correlation peak in
underwater acoustic applications the algorithm was able to compensate Doppler effect
2314 Channel Attenuation and Noise
Both attenuation and noise are present in underwater environments and have a negative effect on
signal strength and SNR
Noise is usually modelled as Gaussian but not white since its power spectral density decays
at around 18 dB per decade [3]
When modelling the attenuation the overall path loss is approximately given by
A(L f ) = Lkα f L [13] (23)
where L is the transmission distance f is the signal frequency and k is the spreading loss (repre-
sents the sound waves expansion in the form of a cylindrical wave when its value is k=1) Finally
α is the absorption coefficient in dBKm and its value can be obtained from Thorprsquos equation
α = 011f 2
1+ f 2 +44f 2
4100+ f 2 +275times10minus4 f 2 +0003 [13] (24)
where f is the signal frequency in kHz
232 Range Measurement
The distance between the transmitter and the receiver is crucial when trying to achieve an under-
water vehicle location The following methods are the most commonly used to calculate the range
[16]
2321 Received Signal Strength Indicator - RSSI
This technique consists on a node estimating its distance to the signal source by analyzing the sig-
nal strength and comparing it to a range dependent signal model However these models canrsquot be
relied on for high accuracy localisation systems As explained in 231 the path loss in underwa-
ter acoustic channels varies with several factors and multi-path can result in considerable energy
fading Thus this methodology is not an efficient approach for underwater localisation systems
2322 Time of Flight - ToF
This method requires a transducer and a transponder The transducer transmits a signal and upon
reception the transponder sends a response Once that response reaches the transducer the round-
trip-time is obtained and the distance is estimated using the estimation of the sound speed at the
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
8 State of the Art
sight As previously discussed the sound speed on the water is susceptible to variations which can
cause accuracy problems for range estimation
2323 Time of Arrival - ToA
This approach requires a receiver that knows when the signal was transmitted Upon receiving the
acoustic signal the receiver calculates the delay and once again using the estimated underwater
sound speed calculates the distance to the reference point
233 Underwater Acoustic Positioning Systems
An underwater acoustic positioning system is a system for the tracking and navigation of un-
derwater vehicles or divers by means of acoustic distance andor direction measurements and
subsequent position triangulation There are three alternatives for underwater acoustic positioning
systems Short Baseline Ultra Short Baseline and Long Baseline
The next subsections will focus on the description of those three alternatives
2331 Short Baseline - SBL
SBL systems are characterized by an inter-baseline transponder distance of 20ndash50 m These sys-
tems are mounted on floating platforms like boats ships or barges and are used for tracking
underwater targets Like LBL systems they use round-trip signal propagation time of acoustic
signals between transponders and target to compute the distance and then trilateration to deter-
mine the position often with supplementary depth data from a pressure sensor The accuracy of
SBL system improves as the distance between baseline transponders increases and can achieve
similar performance levels as seafloor mounted LBL systems Conversely when used on smaller
vessels that reduce the inter-baseline transponder distance the accuracy also deteriorates [19]
Figure 24 Example of an SBL positioning system
2332 Ultra-Short Baseline - USBL
USBL is by far the most popular category of underwater positioning systems due to its ease of
use A USBL system comprises two elements a transceiver with an array of transducers that are
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
23 Acoustic Localization 9
typically less than 10 cm apart thus giving the ultra short baseline and a transponderresponder
The transceiver sends an acoustic pulse and when the transponder (mounted on the tracked object)
detects this pulse it replies with its own acoustic pulse The round-trip propagation time of the
initial acoustic pulse and the reply is used to compute the distance between them To measure
the direction of the transponder from the transceiver the transceiver uses a method called phase-
differencing within this transducer array to calculate the angle to the underwater transponder The
position of the undersea object (transponder) is then obtained using the range and angle from the
transceiver to the transponder What the system gains in ease of use and deployment it loses in
the level of positioning accuracy [19]
An example of an USBL system is illustrated at 25
Figure 25 Example of an USBL positioning system [11]
2333 Long Baseline - LBL
The name derives from the fact that the distance between the baseline stations is long or similar
to the distance between object and transponders Baseline distance typically ranges from 50 m to
more than 2000 m ([15]) The baseline transponders are typically deployed on the seafloor along
the edge of the area of operation An interrogating signal from the object (transponder) is sent
Upon receiving it the transponder (object) sends a reply The signal propagation times are then
used to compute the distances between the object and transponders Together with depth data from
pressure gauges the position of the object can then be computed using trilateration This position
is relative to the baseline transponders but can be easily converted into geo-referenced coordinates
if the geographic positions of the baseline transponders are known a priori
The baseline transponders can also be mounted in fixed relative positions on a moving platform
like a ship for applications like in-water ship hull inspections and other specialized tasks LBL
systems are independent of water depth and provide an accuracy higher than 1 m (can achieve an
accuracy of a few centimetres) Thus this architecture exceeds the accuracy provided by USBL
and SBL systems [19]
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
10 State of the Art
The positioning system is demonstrated at 26
Figure 26 Example of an LBL positioning system [8]
Derivered from LBL devices GPS Intelligent Buoys (GIB) can be viewed as an inverted LBL
structure Instead of deploying the baseline transponders on the seafloor they are installed on
GPS equipped sonobuoys that are either drifting or moored [17] [1] In a typical deployment
scenario several GIBs are deployed over a given area of operation where the total number required
is determined by the size of the operation area and the desired accuracy (an accuracy between
centimeters and meters is achievable in real-time) The position of the tracked object is calculated
in real-time based on the acoustic signals transmitted by the underwater object GIB uses one-
way acoustic signal transmission from object (emitter) to buoys as compared to the round-trip
transmission of LBL SBL and USBL making it less susceptible to reflections from surface or
other undersea structures
234 Time Difference of Arrival - TDoA
The time difference of arrival (TDOA) method has been used many times for passive acoustic
source positioning by measuring the time difference between signals arriving in two or more hy-
drophones and then use that result to infer the relative position of the acoustic source One of
the methods used for estimating the time difference of arrival is the generalized cross-correlation
GCC [4] [14] The process consists in detecting the peak position of the correlation function be-
tween the received signal on both hydrophones as the delay or time shift between them Even
though it is a computationally intensive method it is widely used because it can compensate the
impact of the ambient noise on the accuracy of the signal lag estimation
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
23 Acoustic Localization 11
235 Direction of Arrival - DoA
In localisation systems it is important to be able to determine the direction of the signal source
When the TDoA is known the following are the two main strategies used
2351 Multilateration
The multilateration strategy is based on hyperbolic positioning (common approach for a passive
source localization) and uses the time delays between pairs of sensors to derive a curve of a con-
stant time difference which is an hyperbola [6] Considering that the source distance is a lot
higher compared to the sensor spacing it is acceptable to acknowledge that the wave relative to
the sensors is plane Therefore the direction of propagation can be described by the asymptote of
the hyperbola and the slope of the asymptote will then define the direction relative to the axis of
the sensors
Figure 27 illustrates the method described
Figure 27 Illustration of Multilateration
2352 Trilateration
This method depends once again on first determining TDoA For simplicity reasons the receiver
in the configuration found in figure 28 uses two sensors which are sufficient to determine the
angle between the sensors axis and the transmitter on a two dimensional plane One more sensor
in the receiver cluster would allow three dimensional localisation The red point represents sensor
number one the blue point represents sensor number two and the green point represents the trans-
mitter The distance between the transmitter and sensor number two is R the distance between the
transmitter and the sensor number one is (R+r) where r is equivalent to the distance a sound wave
travels during TDoA
The following equations can be found at [18]
X =r(r+2R)
4d(25)
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
12 State of the Art
Y =plusmn14
radicminus16d4 +8d2r2 minus r4 +16d2rRminus4r3R+16d2R2 minus4r2R2
d2 (26)
α = arctanXY
(27)
All the variables are represented at figure 28
Figure 28 Illustration of Trilateration
236 Time of Arrival - ToA
The time of arrival of the signal is crucial in every approach to determine the vehiclersquos position
It is a very similar approach to ToF but it implies a synchronization between the transmitter and
the receiver
2361 Frequency Selective Amplification
This system was developed by INESC Tec and it is currently used by its AUVs It detects the
time of arrival of a set of pure tones transmitted by different buoys (each buoy has a different tone
associated) The pure tone is detected when the output of one amplifier reaches the predefined
threshold
The system is described in figure 29
Figure 29 Frequency selective system
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
23 Acoustic Localization 13
The amplifiers in 29 have a high gain to saturate the filtered signal The intention is to guar-
antee the detection of the specific frequency after applying the threshold
As stated before this feature is useful because as the system is frequency selective multiple
commands may be associated to those frequencies allowing a one-way communication
2362 Correlation method
The correlation method consists in correlating the expected source signal with the actual received
signal The correlation result presents a maximum value when the correlated signals are equal
This method represents the most common approach when calculating the ToA However the
resultsrsquo precision depends on the type of signals used
Both at [9] and [12] were proposed methods based on the correlation of signals encoded by
Pseudo-Noise (PN) sequences but the objectives established for each one of them were clearly
different
In [9] the main goal was to have a system capable of detecting a transmitted signal over
large distances Therefore once the attenuation of the acoustic signal increases inversely to the
increase of the signalrsquos frequency the channel frequency used was 264 hertz and the signal had
a bandwidth of 3 Hz Since the higher the duration of a signal the higher the signalrsquos energy the
characteristics of the transmitted signals were 32 seconds duration and a modulation of 1024 bits
The main objective of increasing the transmitted signalrsquos energy was to also increase the chances
of detecting those signals over large distances and in fact the implemented system showed that it
was capable of detecting signals transmitted at distances over 1000 km with a distance estimation
error in the order of a few hundred meters
One of the main goals in [12] was to develop a system that should be able to work with a cheap
low power consumption piezzo-electric cristal oscillator (wich presents an unstable frequency re-
sulting in transmitting signals with frequency deviations) Thus this work proposes the use of dual
PN sequences to estimate the time of arrival In this setup the transmitted signals consist in trans-
mitting a modulated PN sequence followed by a guard time followed by the same PN sequence
The time of arrival estimation is derived from correlating the two PN sequences transmitted per
signal This idea was also explored in an attempt to diminish the problems associated with the
Doppler effect multi-path and clock drift The presented results show that this setup is capable of
yielding a clear correlation peak
In the next figure (210) therersquos a comparison between the results obtained with a pure tone
and a pure tone with added noise [7]
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
14 State of the Art
Figure 210 Comparison between pure tone cross correlation and pure tone with distortion cross-correlation [7]
As shown in 210 the results obtained when the pure tone suffers deviations from the original
signal due to noise multipath and Doppler effects are far from ideal considering that no clear
correlation peak to infer the ToA is found
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
Chapter 3
System Thinking
Since a BPSK system was already implemented ([7]) and achieved good results taking advantage
of the re-configurable capabilities of the system switching between other signal modulations
duration or even repetition was the next step to take
The bandwidth required by QPSK for the same bit error rate is reduced to half when compar-
ing with BPSK Consequently the reduced bandwidth allows a higher transmission rate of infor-
mation (exactly 2times higher when comparing with BPSK) and a more efficient use of the available
bandwidth
Thus this chapter describes a solution to implement a QPSK system explores the hardware
constraints the QPSK modulation the correlation method to be used and lastly the results ob-
tained (offline) in order to validate the system
31 Solution Method
The work here developed is based on the correlation method Even though it is a good approach
the underwater acoustic channel presents noise and multipath effects creating an unclear correla-
tion peak (as seen in 210) Therefore encoding the transmitted signals is a solution As previously
referred in [7] a system capable of estimating the ToA of an acoustic signal modulated in BPSK
was developed and the results obtained were far better than when only using a pure sine wave as
the transmitted signal Taking that into consideration the possibility to extend the available BPSK
system to a QPSK system was put into practice
Benefiting from the idea already present on the implemented system the use of a set of PRBS
16 sequences with low cross correlation and high auto-correlation allows the system to exchange
multiple messagesPRBS sequences (equal to the number of sequences) with a low probability of
detecting a wrong message
Furthermore maintaining the time per symbol (Ts) the necessary time to send a symbol is
reduced by half when using a QPSK modulation instead of BPSK Thus the same PRBS can
be sent in half the time use half the bandwidth and the system is still able to detect the correct
message sent (explained in depth on 33)
15
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
16 System Thinking
Taking advantage of the fact that the transmitter is flexible (able to transmit BPSK and QPSK
messages) only the receiver switches between the two modulations
A system overview can be found at 31
TransmitterBPSKQPSK ADCs
x(t) x[n]
BPSKCorrelator
QPSKCorrelator
Multipath
Direct pathUnderwaterMicrophone
16
2
1
Figure 31 System architecture - transmitting sequence 16
32 Hardware Constraints
The target hardware (explained in detail later on 4) has a maximum sampling frequency of 125MHz
This represents a maximum precision available of
vs
Fs= 001184mm (31)
However receiving samples at 125MHz would be high resource consuming it would imply cal-
culating a correlation result for each one of the 16 sequences per clock cycle Thus in order to
allow the system to have sequential logic and still be able to provide a good precision the receiver
decimates the samples by a factor of 320 (once more the decision will be further ahead explained
on 4) Therefore the new sampling frequency is set on
new_Fs =Fs
D f= 390625KHz (32)
And the precision that the system provides is equal to
precision =vs
new_Fs= 37888mm (33)
With this new sampling frequency the system has 320 clocks available to output the 16 correlation
values and the addition of sequential logic is possible
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
33 QPSK Modulation 17
Finally the transmitter hardware presents a good frequency response (not attenuated) between
the 20kHz-30kHz interval (also described on 4) Therefore this characteristic limits the available
bandwidth
33 QPSK Modulation
As stated at the beginning of this chapter the QPSK modulation was chosen for its characteris-
tics to complement the reconfigurable system Those characteristics become advantageous when
compared to the BPSK modulation due to
1 A reduced bandwidth usage 2times lower
2 A higher transmission rate of data 2times higher
However those advantages have a trade off
1 A higher probability of error Pe = er f c(radic
EbN0
)gt 1
2 er f c(radic
EbN0
)
That was considered insignificant since the obtained results (in both offline validation 36 and
practical results 5) were positive
The adopted values for the carrier frequency and time per symbol were respectively fc =
24414kHz and Ts = 4 lowast 1fc
in order to provide a significant reduction of complexity on the DSP
system because these values result in an integer number of samples per symbol
samples_per_carrier_period =
f pga_clock_ f requencyD f
fc=
125times106
32024414times103 asymp 16 (34)
samples_per_symbol = samples_per_carrier_period times4 = 64 (35)
The implemented constellation can be found on the next figure 32
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
18 System Thinking
Figure 32 Implemented constellation
As seen in 32 an integer number of samples per symbol 64 is achieved Furthermore the
chosen constellation represents symbol 00 at phase φ symbol 01 at φ + π
2 symbol 10 at φ +π and
symbol 11 at φ + 3π
2
The following plot shows the modulated signal spectrum and its respective bandwidth
Figure 33 Modulated signal spectrum
As evidenced above the bandwidth used by the QPSK modulation is approximately 12kHz
which is validated by B = fb =1Tb
= 12lowastTb
asymp 12207kHz
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
34 Kasami Sequences 19
34 Kasami Sequences
There are two sets of Kasami sequences the small set and the large set The large set contains
all the sequences in the small set Only the small set is optimal in the sense of matching Welchrsquos
lower bound for correlation functions
The QPSK system uses a set of Kasami sequences which belong to the small set generated by
the following polynomial
p(z) = z8 + z4 + z3 + z2 + z0 (36)
This way the system is able to transmit
sequences = 2d2 = 2
82 = 16 d = polynomial_degree = 8 (37)
16 messagessequences with a low cross-correlation (between sequences of the small set) and
high auto-correlation values
Each sequence is composed by
length = 2d = 255 d = polynomial_degree = 8 (38)
255 bits However as a QPSK symbol is composed by 2 bits and the resulting length is not an
ever number a bit valued 0 was added to the end of each one of the 16 set of sequences Thus the
transmitted sequences are composed by 256 bits (128 symbols) represented as section 33 defines
by 8192 samples at the receiver end
35 Correlation Method
At 31 it is stated that the QPSK system also uses a set of 16 PRBS sequences but moduled in
QPSK Knowing that each sequence has 8192 samples 128 symbols the DSP system needs to
calculate
nsequences timesnsamples_per_sequence
D f= 16times 8192
320asymp 410 (39)
calculationscycle (multiplication and additions) Considering that the implemented system
would use the original modulation 32 and do the amount of operations calculated above a high
amount of resources would be needed In order to limit the usage of the available resources a
similar approach to [7] was followed
The correlation method consists in multiplying the expected result (size x) with a window of
received samples (holding the last x samples) and subsequently adding those partial results When
a positive maximum value happens the expected signal and the last x samples received present
the highest similarity possible In this application the system considers that when a correlation
peak happens the estimated signal has been received The mathematical expression considering
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
20 System Thinking
that both signals are real and limited in time can be found bellow
(ylowast x)[n] =Nminus1
summ=0
(y[mminusn]x[m]) (310)
As stated above a similar approach to the BPSK correlation method was followed This method
consists in instead of using the real signal (cosine wave modulated) use square signals (valued
at 1 or -1) as described in 35 and 34 This allows the system to not only replace the products
by additions and subtractions (both resource friendly when compared to multipliers) but also take
advantage of the similarity between the symbols
Figure 34 Symbols 01 and 11 of QPSK modulation with square approximation
Figure 35 Square symbols 00 and 10 of QPSK modulation with square approximation
The referred similarity is evidenced in figures 35 and 34 Since the correlation of 32 samples
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
36 Offline Validation and Results 21
with symbol at phase φ (result β ) is equal to the negative value of the same operation between those
32 samples and symbol at phase φ +π (result minusβ ) two symbols can share the same correlation
calculus (but inverted) Therefore this correlation method becomes efficient since it shares the
available resources and still provides the same pretended result on time (later described in detail
on 4)
36 Offline Validation and Results
Using real data captured on the FEUPrsquos tank (4mtimes4mtimes16m) an offline validation was per-
formed Since it is such a small environment multipath effects are noticeable
Two objectives were established to consider this solution valid
1 A sequence when transmitted was clearly detected (higher correlation value)
2 The square signal approximation did not compromise the ToA detection
Firstly the test that was driven was transmitting the 1 sequence of the 16 and performing the
correlation between the received signal and both 1st and 2nd sequences of the set Figure 36
illustrates the first objective being fulfilled
Figure 36 Correlation with sequence 1 vs sequence 2 when transmitting sequence 1
Secondly the test performed to validate the second objective was comparing the maximum
value of the correlation result of both square and original signals As shown in 38 (a closeup
around the maximum value also present in figure 37) the second objective is also accomplished
(this is a result already stated at [7] but for the BPSK modulation)
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
22 System Thinking
Figure 37 Original signal correlation vs Square signal correlation
Figure 38 Original signal modulation vs Square signal modulation - ToA comparison
361 Improving the ToA Estimation - Hilbert Transform
F(HT (s(t)))(ω) =minus jsgn(ω) middotF(s(t))(ω) (311)
The Hilbert transform (311 illustrates its Fourier transform) derives the analytic representation
of a real-valued signal s(t) Specifically the Hilbert transform of s(t) is its harmonic conjugate
sT (t) and the resulting analytic signal is
sA(t) = s(t)+ jsT (t) (312)
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
36 Offline Validation and Results 23
Since the analytic signal is complex valued it can also be represented by
sA(t) = A(t)e jψ(t)s (313)
Where A(t) represents the instantaneous amplitude (envelope of the signal) and ψ(t) represents
the instantaneous frequency
Since the main objective is to find the maximum correlation value within 16 possible se-
quences only the instantaneous amplitude is useful In figure 39 it is presented a comparison
between only calculating the absolute value of the correlation and calculating the absolute value
of the analytic received signal (using Matlabrsquos hilbert function which provides the analytic signal)
Figure 39 Absolute correlation values vs HT applied
Figure 310 Absolute correlation values vs HT applied (close-up)
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
24 System Thinking
As illustrated in 310 the maximum correlation value presents a higher precision if searched
within the absolute value of the analytic signal
However the HT presents a high computing power associated since the system has to work
with imaginary numbers and calculate the amplitude of the analytic signal
37 Summary
This chapter described the generic solution proposed the hardware constraints to consider the
QPSK modulation the correlation method the offline validation performed and at last a possible
optimization to have a higher precision when detecting the maximum correlation value
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
Chapter 4
Digital Implementation
The following chapter starts with the description of the hardware platforms used for the transmis-
sion and reception of the acoustic encoded signals used in the system illustrated in 3 and lastly
describes the digital system used for the ToA calculation
41 Hardware Platforms
This section presents the hardware platforms used in the developed system and its characteristics
411 Transmission
The transmitted signals are generated by an FPGA The output of the FPGA drives a signal am-
plifier The amplified signal serves as input to the piezoelectric acoustic transducer producing the
acoustic waves transmitted
An overview of the transmission system is represented at 41
FPGA SignalAmplifier
piezoelectrictransducer
Figure 41 Transmitter system overview
4111 FPGA
The board used by the system for the signal generation is an Atlys that includes a Xilinx LX45
FPGA The board is illustrated at 42
25
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
26 Digital Implementation
Figure 42 FPGA used for the signal generation
Circled is the 12-pin PMOD wich outputs the created signal
4112 Signal Amplifier
At the input of the amplifier is a square signal derived from the previous board (Atlys) This board
besides amplifying the signal at the input transforms it in a sinusoidal wave This is achieved by
two transistors that conduct at opposite logical values (0V or 33V) and create a current flow-
ing through the transformer in opposite directions Thus the signal generated at the output is
controlled by logical values generates a sinusoidal wave and amplifies the signal as intended
Figures 43 and 44 represent respectively the used board and the hardware schematic
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
41 Hardware Platforms 27
Figure 43 Signal amplifier board
Figure 44 Signal amplifier schematic [5]
4113 Piezoeletric Transducer
Figure 45 shows the used transducer This specific model T217 also presents the capability to
work as an hydrophone However this feature was not used on the system
As it was referred in 32 the transducer presents a good frequency response between 16kHz
and 30kHz
Finally it can emit a signal with a maximum power of 400W with an approximate hemispheric
pattern
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
28 Digital Implementation
Figure 45 Transducer hardware
412 Reception
The reception end is composed by an hydrophone connected to a board which filters and amplifies
the received signal The boardrsquos output serves as input to the RedPitaya (where the DSP was
developed)
Figure 46 illustrates the described reception connections
Filtering andAmplifying RedPitaya
Hydrophone
Figure 46 Reception schematic
4121 Hydrophone
H2a hydrophone was the model used to record the received signals It includes a 35mm jack
interface and a working frequency range between 20Hz and 100kHz
Figure 47 represents the used device
Figure 47 Hydrophone
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
41 Hardware Platforms 29
4122 Analog Filtering and Amplifying
Figure 48 illustrates the path followed by the signal since it is received until being outputted to
the RepPitayarsquos ADC
I2C adjustable gain(01-2500 X)
Lowpass FilterFc=250kHz
Adjustable amplifier(10X)
receivedsignal
0
1
S0
Secondaryboard
1b1
RedPitayasADC input
Figure 48 Analog filtering and amplifying
The signal starts by being amplified with an amplifier with a an adjustable gain of 10times the
input signal Then it enters another amplifiers but this time controlled by I2C and with a gain
range between 01 and 2500 After being amplified the signal is filtered by a lowpass filter with
a cut-off frequency equal to 250kHz Finally the filtered and amplified signal passes through a
multiplexer which allows the output to be either the one described or the alternate channel provided
by the analog board In this application only one channel is needed
The interface provided by the analog board is a female 35mm jack as input and a female SMA
jack
4123 RedPitaya
The digital platform used to perform the digital signal processing is the RedPitaya represented at
49
This board integrates a Zynq device that includes a dual-core ARM Cortex A9 processor and
an FPGA The ARM processor runs Linux uses DDR3 RAM has an Ethernet interface SD flash
memory and three USB interfaces The RedPitaya has two ADCrsquos available to sample at 125
Msampless and two DACrsquos connected to the FPGA
An implemented communication channel between the FPGA and the ARM processor was
provided as an open source Verilog project and it was used as a wrapper for the developed system
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
30 Digital Implementation
Figure 49 RedPitaya on the left Analog board on the right
Figure 410 illustrates how the RedPitayarsquos system is organised internally AXI represents
the existing communication interface responsible by establishing the communication between the
digital signal processing system and the ARM processor
ZYNQ ARM
DSP (BPSK ampQPSK)DAC FIR
AXI
Figure 410 RedPitaya system_wrapper overview
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
42 Digital System Developed 31
42 Digital System Developed
RAM 0
RAM 31
RAM 1
Corr 00
Corr 11
Corr Associator
Correlation History
seq transmitted [30]time det [310]
Peak Finder
max sample [310]
valid result
oldest pos [80]
32 RAMS
QPSK Module
idata [150]
ien_data
rd addr
rd addrwr addr
FSMRAM kasami seq
new transmission
current time [310]
detection threshold [310]
Total Window
Accumulator
Figure 411 QPSK module - top level
This section details how the developed system is organized all the decisions taken when designing
and implementing it and the reasons that motivated them
The top level receives a new sample every 320 clock cycles and outputs within the interval
waiting for a new sample
1 the maximum correlation value detected
2 the time since the signal was transmitted until it being detected by the receiver
3 the number of the sequence transmitted
4 a trigger that indicates the outputted result is valid
Figure 411 illustrates the top level modulersquos organization The main sub modules are
1 32 RAMs
2 Corr 00
3 Corr 11
4 Corr Associator
5 Total Window Accumulator
6 RAM Kasami seq
7 Correlation History
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
32 Digital Implementation
8 Peak Finder
The following sub-sections are going to detail in depth the modules enumerated above
421 32 RAMs
01
255
0
255
0
255
RAM 31
RAM 2
RAM 1
12
1
2
FSM
rd_addr
wr_addrrd_addr
rd_addr
Figure 412 32 RAMs module organisation
This section describes how the 32 RAMs module operates and is organized Figure 412 illustrates
that this module is composed by 32 RAMs (256 positions times 16 bits each) and a FSM machine that
provides both write and read addresses
The chosen size and number of RAMs was defined by the available number of clock cycles
between a new sample arrival As stated before 320 clock cycles available to perform a cor-
relation of a window holding the latest sample with all the 16 expected sequences Therefore
outputting 32 samples per cycle leads to 256 clock cycles needed to output all samples stored
in the RAMs clock_cylestimes RAMS = 256times 32 = 8192 Thus this implementation leads to
clock_cycles_available = 320minus256 = 64clock_cycles allowing a sequential (pipelined) imple-
mentation to save the limited existing resources
Writing and reading operations will be described in depth on the following sub-section 4211
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
42 Digital System Developed 33
4211 RD and WR operations
The global write and read addresses for the 32 RAMS module are defined by a set of two counters
13 bits each that is controlled by the Finite State Machine (represented at 412)
One of the counters is responsible for providing the read address and the respective RAM
index holding the oldest sample present in all the 32 RAMs This counter starts incrementing (32
units each clock cycle) when a new sample is received and stops at the 256th clock cycle
The remaining counter provides the write address (the global address where the newest sample
is stored) It has a simpler implementation increments by one when a new sample arrives
The decoding of the reading counter follows the next rules
1 Bits [125] indicate the start reading address inside the RAM being pointed by bits [40]
2 Bits [40] indicate the RAMrsquos index holding the oldest sample
The decoding of the writing counter follows the next rules
1 Bits [125] indicate the position to be written inside each RAM
2 Bits [40] indicate the RAMrsquos index where the newest sample received must be written
Bellow 414 and 413 illustrate respectively the temporal behaviour and the decoding of both
counters for the writing and reading processes
Address [125] RAM index[40]
Figure 413 Information hold by counters
256 cycles
320 cycles
clk
new_data
counter_rd
time
counter_wr counter_wr + 1
newest sample position
counter_rd = counter_wr + 2 counter_rd= rd + 32
Figure 414 Timing diagram
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
34 Digital Implementation
422 Corr 00 and 11
Modules Corr 00 and Corr 11 are responsible for calculating permanently the correlation of 64
samples (outputted from the 32 RAMs after 2 clock cycles of reading operations) with symbols
00 and 11 (represented by 64 samples)
As explained in 35 from the correlation results of both symbols (00 and 11) the remaining
possible symbols correlations 01 and 10 can be obtained by inverting the results of the 64 received
samples times 64 samples of the reference signals because symbol_00 = -symbol_10 and symbol_11
= -symbol_01
An overview of both modulersquos implementation can be found at figures 415 and 416
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
rel_pos[2]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 415 corr_00 module overview
As illustrated above corr_00 receives 32 samples stemming from the 32 RAMs and the
ram_index_rd (derived from the reading counter that as explained in 421 indicates which ram
has the oldest position) Thus a relative position is calculated by subtracting the RAM index of
the received samples (the index of the RAM from which each sample was outputted from) with
the ram_index_rd Having a relative position of the 32 received samples it is possible to establish
an order and perform a subtraction or keep the received sample As depicted in 415 the select
signal on each multiplexer of the 32 set is defined by the XOR operation between bits 2 and 3 of
rel_pos_i (where i indicates what ram it is referring to) For example if ram_index_rd = 2 the
relative positions and XOR operations for symbol_00 present the following results
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
42 Digital System Developed 35
Table 41 Example of corr_00 logic operations when ram_index_rd = 2
Ram index (i) rel_pos_i = iminus ram_index_rd rel_pos_i[3]oplus rel_pos_i[2] +-
0 -2 0 +1 -1 0 +2 0 0 +3 1 0 +4 2 0 +5 3 0 +6 4 1 -7 5 1 -8 6 1 -9 7 1 -10 8 1 -11 9 1 -12 10 1 -13 11 1 -14 12 0 +15 13 0 +16 14 0 +17 15 0 +18 16 0 +19 17 0 +20 18 0 +21 19 0 +22 20 1 -23 21 1 -24 22 1 -25 23 1 -26 24 1 -27 25 1 -28 26 1 -29 27 1 -30 28 0 +31 29 0 +
rel[_pos[50]
-
rel_pos[50]-
rel_pos[50]
-
0
1
31
ram_index_rd[40]
0
1
S0
0
1
S0
0
1
S0rel_pos[3]
rel_pos[3]
rel_pos[3]
-
-
-
do_31
do_1
do_0par_res_0
par_res_1
par_res_0
samples_adder
total_res[220]+total_par_res
Figure 416 corr_11 module overview
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
36 Digital Implementation
The same logic is applied to the correlator of symbol 11 But instead of calculating the XOR
operation between bits 2 and 3 of the result derived from the relative position computation only
bit 3 of rel_pos_i is relevant to decide if the sample is kept or subtracted (see figure 416)
Both correlators share a sub-module samples_adder (depicted in 417) that is responsible
for adding the first and second set of 32 partial results This way the 64 samples corresponding
to one symbol are summed and a result is ready to move forward to the following module the
corr_associator
+ + +
par_res_0 par_res_1 par_res_2 par_res_3 par_res_31par_res_30
+
1st level - 16 adders and 16 registers
2nd level - 8 adders and 8 registers
3rd level - 4 adders and 4 registers
4th level - 2 adders and 2 registers
5th level - 1 adders and 1 registers
+
total_par_res
Figure 417 samples_adder module (present in corr_11 and corr_00)
The data size hold on each register increases by one unit each level the higher the pipeline
level is This decision was made to avoid the risk of an overflow occurring since the maximum
value of the sum of two operands with x bits is represented by x+1 bits
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
42 Digital System Developed 37
423 RAM holding 16 Kasami Sequences
The module illustrated in 418 holds the 16 expected sequences It is a 32 bit times 128 lines RAM
in order to be able to output 16 symbols (32 bits) when a reading operation is complete
128
lines
32 bits
seq 16 seq 15 seq 2 seq 1
bits 255 and 256 of the 16 seq
bits 2 and 3 of the 16 seq
bits 0 and 1 of the 16 seq
Figure 418 RAM holding kasami sequences
As described in 418 bits 0 and 1 of each sequence are stored on the first line bits 2 and 3 on
the second line etc
The reading process will be described later in 424
424 Correlation Associator and Total Window Accumulator
This section aggregates the description of two modules the correlation associator and the total
window accumulator
Mentioned in 35 figure 419 illustrates how the system takes advantage of the symmetry
between the symbols and consequently the symmetry of the correlation results
The results calculated by both corr_00 and corr_11 serve as input to each one of the 16 mul-
tiplexers present on the correlation associator module Thus the inputs of the 16 multiplexers
are total_res_11 -total_res_11 total_res_00 and -total_res_00 They are selected according to
the outputted symbols derived from the previously described module (423) The sym_16[1] and
sym_16[0] are attributed respectively to the MSB and LSB of the first of the 16 multiplexersrsquo
set Following the same idea the remaining multiplexers are attributed with the rest of the sym-
bols outputted in the sym_16 array The multiplexersrsquo select signal corresponding bits of array
sym_16 is updated every time the results from both modules corr_00 and corr_11 are ready
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
38 Digital Implementation
Once the results are associated to the symbol with each Kasami sequence a total symbol cor-
relation is ready to be stored in the total_window_accumulator module This module is composed
by a set of 16 accumulators each one composed by a register (once again with enough size to
avoid an overflow) and an adder that adds 256 valid results from the corr_associator The 256
valid results summed represent a full correlation window result of the received signal with the
expected signal the Kasami sequence
Mux
sym_16[1] sym_16[0]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq1
Mux
sym_16[31] sym_16[30]
-
-
total_res_11
MSB LSB
total_res_00
corr_res_seq16
D Q
D Q
+
+total_window_corr_seq1 [310]
total_window_corr_seq16 [310]
corr_associator total_window_accumulator
Figure 419 corr_associator and total_window_accumulator overviews
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
42 Digital System Developed 39
425 Peak Finder
This section describes the main objective of the Peak Finder module and its implementation A
module overview is illustrated in 420
total_window_corr_seq16
total_window_corr_seq1
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current_time
If 3rd register from shift is higher than all remaining four storevalue hold on the 3rd register and current time
Com
pares all max
values
max_value_seq16
max_value_seq1
new_transmission
time_max_value_seq16
time_max_value_seq1
time_det
seq_det
max_det
valid_res
enable
enable
curr_time
curr_time
enable
enablesift[2]sift[2]
Figure 420 peak_finder module overview
The Peak finderrsquos main objective is to find a maximum correlation value among the 16 possible
sequences in order to determine which sequence was transmitted
To achieve its objective the module receives all the total window results from the expected
sequences (derived from the total window accumulator) and feeds them as inputs to a set of sixteen
5 level shift-registers New values are shifted to the set every time a valid total window result is
ready
For any of the shift-registers once the third register holds a value above the pre-defined thresh-
old (inputparameter) and that same value is higher than all the remaining values held in the shift
register the current time and maximum values are stored
Finally when a new transmission occurs all maximum values detected for each sequence are
compared Once the 16 values stored are compared the module outputs the number of the trans-
mitted sequence the maximum value detected the time associated and a trigger indicating a valid
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
40 Digital Implementation
result is ready
426 Implementation Results
After post place and route the developed QPSK system and the remaining RedPitayarsquos system
together presented the following occupation of resources
Table 42 Utilization percentage - Overall System
Resource Utilization
LUT 4587FF 2227
BRAM 5083
The QPSK system isolated and post place and route occupies the following percentages of
resources
Table 43 Utilization percentage - Developed DSP
Resource Utilization
LUT 132FF 57
BRAM 1
As seen in 43 the use of resources diminishes when comparing with the percentages described
at 42 This is due to the logic the system wrapper 410 has associated besides the DSP module
developed
43 Software
This subsection analyzes the developed software to read in real-time the outputted results from
the DSP described on this chapter
The software running at the ARM processor represented at 410 starts by initializing the
system with all the parameters present in a configuration file Then in order to communicate with
the FPGA it opens a mounted character device and instantiates a memory map that corresponds
to the addresses used in the FPGA Once the system is running the software reads by polling
the address that corresponds to the trigger signaling that a valid correlation result was calculated
After the trigger the software reads the maximum value of the correlation the timestamp and
number of the associated received sequence
44 Summary
This chapter analyzed in depth the hardware platforms used for the transmission and reception
of the acoustic encoded signals used in the system the digital system developed used for the ToA
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
44 Summary 41
estimation and its implementation results and lastly the software developed in order to read the
results derived by the system
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
42 Digital Implementation
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
Chapter 5
Results
This chapter analyzes the results obtained from both verification and real-time performance of the
implemented system
51 Simulation Results
The following results were obtained while verifying the digital system developed in 4 and using
real data captured in a 4times4times16m3 tank
The main objective of the first presented result was to validate the correlation result derived
by the QPSK system when a sequence was transmitted Figure 51 presents the output of the
transmitted sequence
Figure 51 QPSK system result
43
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
44 Results
There are two clear correlation peaks However only one (first peak) represents the arrival
of the transmitted signal and is used for determining the AUVrsquos position The second correlation
peak is derived from the multi-path suffered from the transmitted message (as referred in 36 since
it is such a small testing environment the multi-path effects are noticeable)
Figure 52 QPSK system result - close up
Figure 52 evidences both correlation peaks The time difference between the second peak de-
rived from multi-path and the first peak is equal to 00462minus004426 = 194times10minus3s Multiply-
ing the time difference by the sound speed (considered 1480ms) results in 194times10minus3times1480 =
28712m The calculated difference can be justified by the transmitted signal suffering multi-path
within the testing environment
The next plot 53 evidences the clear detection of the transmitted sequence (in this case
sequence number 1)
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
51 Simulation Results 45
Figure 53 Sequence 1 correlation result vs Sequence 2 correlation result
The following testrsquos objective was to confirm that the QPSK system is able to detect cor-
rectly all 16 possible Kasami sequences transmitted Therefore guaranteeing the synchronization
between the transmitter and receiver the following results were obtained once more using the
FEUPrsquos fresh water tank as the test environment
Figure 54 QPSK module result
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
46 Results
Plot 54 illustrates the 16 binary sequences being transmitted in round-robin and the QPSK
system being able to correctly detect them
52 FEUPrsquos Tank Results
Once the simulation results were validated by the developed testbench the bitstream generated
by the QPSK system was uploaded to the RedPitayarsquos FPGA (responsible for the digital signal
processing) In order to read the estimated distances by the developed QPSK module in real time
the developed software described in 43 was used
The following considerations were taken
1 The considered sound speed was 1480ms
2 Synchronism between TX and RX was guaranteed with a wired connection
3 Precision imposed by sampling frequency and decimation factor 1125times106
320
times1480 asymp 379mm
521 First Test
The first testrsquos objective was to determine if the QPSK system was able to correctly and consis-
tently determine the relative distance between the receiver and transmitter
The experiment performed presented the following configuration
1 4 different relative distances ndash 12m 23m 34m and 44m
2 Same sequence being transmitted
3 100 transmissions for each position
4 Transmission period 1s
Figure 55 illustrates how the QPSK system was able to consistently estimate the four different
positions in all experiment indexes
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
52 FEUPrsquos Tank Results 47
Figure 55 Distances estimated for the four different positions
522 Second Test
The second testrsquos objective was to Determine if the QPSK system is able to correctly detect the
different transmitted sequences in a short time period
The experiment performed presented the following configuration
1 44m x 455m x 16m sized tank
2 Position ndash 23m
3 All sequences being transmitted in Round-Robin
4 100 transmissions
5 Transmission period between 16 sequences 2s
Figure 56 illustrates how the sequences were transmitted in time
time(s)
RP (2s)
MD (209ms)
MP (80ms)
1 2 16 1 2
Figure 56 Second test - Transmission timeline
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
48 Results
Were MD represents the message duration (sequence transmitted duration) MP represents
the message period (time between sequences transmitted) and RP represents the repetition period
(time between new set of 16 sequences)
The following plots represent the results obtained with the described configuration
Figure 57 Second test - Distance estimated results
Figure 58 Second test - Detected sequences
Figure 57 represents the estimated distance among the 100 experiment indexes The system
is able to correctly detected its distance independently of the transmitted sequence
Plot 58 illustrates how the system is capable of detecting correctly all the transmitted se-
quences in the short time transmission period
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
Chapter 6
Conclusion
61 Objectives Completion
One of the main motivations of the work developed was to explore the re-configurable capabilities
present on both transmission and reception ends of the available system and take advantage of
those
Chapter 4 presents an implemented solution which allows the system to reduce the bandwidth
usage by half and transmit the same information at a 2times higher rate The results in chapter 5
suggest that the QPSK system continues to present a high precision comparing with the previously
implemented BPSK system This precision can be justified by the higher sampling frequency
applied in the QPSK system
Therefore two valid alternatives are available for the underwater acoustic positioning system
in order to fulfill the different types of tasks required when the AUV is on a mission For instance
if a higher data transmission rate presents a higher priority the system can be reconfigured to use
QPSK modulation option at a cost as it was previously referred of a higher error probability In
the other hand if the AUVrsquos localization presents a higher priority the BPSK system shall be used
Once it is more robust to noise and consequently presents a higher precision
62 Future Work
1 Implement the Hilbert Transform (361) in order to better estimate the ToA
2 Test the developed system on the sea to better test the systemrsquos limits
3 Test the systemrsquos response if multiple transmitters transmit at the same time sequences
modulated in BPSK and QPSK
4 Test the systemrsquos precision in an environment which allows the tester to compare the ex-
act location of the AUV and the AUVrsquos estimation Hence it would be more correct to
determine the exact systemrsquos precision
49
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
50 Conclusion
5 Study the data transmission rate limits imposed by the transmission hardware and the im-
plemented QPSK system
6 Use more than one hydrophone in order to extract more information regarding to the AUVrsquos
position
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
Bibliography
[1] Alcocer A Oliveira P and Pascoal A (2006) Underwater acoustic positioning systems
based on buoys with gps In Proceedings of the Eighth European Conference on Underwater
Acoustics volume 8 pages 1ndash8
[2] Basic Principles of Inertial Navigation Seminar on inertial navigation systems (PDF) AeroS-
tudentscom Tampere University of Technology page 5
[3] H M P Cabrala Acoustic Modem for Underwater Communication Thesis 2014 URL
httpspaginasfeuppt~ee09142publicfilesthesispdf
[4] Chen J Benesty J and Huang Y (2006) Time delay estimation in room acoustic environ-
ments an overview EURASIP Journal on applied signal processing 2006170ndash170
[5] N Cruz Emissatildeo de sinais subaquaacuteticos acuacutesticos June 2007
[6] Daniel Dalskov and Soslashren Krarup Olesen Locating acoustic sources with multilateration
Masterrsquos 2014
[7] J Magalhatildees Improving Time of Arrival Estimation Using Encoded Acoustic Signals Thesis
2018 URL httpsrepositorio-abertouppthandle10216114081
[8] Kongsberg Maritime (2016) Hipap xx2 - acoustic underwater positioning and navigation
systems Available from httpswwwkmkongsbergcomkswebnokbg0240
nsfAllWeb9DC12B00C48A0B63C1257F0900319BCF
[9] M Obara G Fischer and Sangmok Lee A monolithic time of arrival detector for acoustic
sig- nals In The 2002 45th Midwest Symposium on Circuits and Systems 2002 MWSCAS-
2002 volume 1 pages Indash44ndash7 vol1 Aug 2002 doi 101109MWSCAS20021187149
[10] L Paull S Saeedi M Seto and H Li Auv navigation and localization A review
IEEE Journal of Oceanic Engineering 39(1)131ndash149 Jan 2014 ISSN 0364-9059 doi
101109JOE2013 2278891
[11] Hsin-Hung Chen In-situ alignment calibration of attitude and ultra short baseline sensors
for precision underwater positioning Volume 35 Issues 14ndash15 October 2008 Pages 1448-
1462 httpsdoiorg101016joceaneng200806013
51
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-
52 BIBLIOGRAPHY
[12] H Huang Y R Zheng and W Duan Pseudo-noise based time of arrival estimation for
underwater acoustic sensor localization In OCEANS 2016 - Shanghai pages 1ndash5 April
2016 doi 101109 OCEANSAP20167485588
[13] M W Khan Y Zhou and G Xu Modeling of acoustic propagation channel in underwa-
ter wire- less sensor networks In The 2014 2nd International Conference on Systems and
Informatics (ICSAI 2014) pages 586ndash590 Nov 2014 doi 101109ICSAI20147009354
[14] Liu S Zhang C and Huang Y (2012) Research on acoustic source localization using
time difference of arrival measurements In Measurement Information and Control (MIC)
2012 International Conference on volume 1 pages 220ndash224 IEEE
[15] E Rowan Lbl underwater positioning httpswwwhydro-internationalcom
contentarticlelbl-underwater-positioning January 2008 (Accessed on
29012019)
[16] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
[17] Thomas H C (1998) Gib buoys an interface between space and depths of the oceans In
Autonomous Underwater Vehicles 1998 AUVrsquo98 Proceedings of the 1998 Workshop on
pages 181ndash184 IEEE
[18] J F R Valente Real-Time Passive Acoustic Tracking of Underwater Vehicles Thesis 2016
URL httphdlhandlenet1021685105
[19] Hwee-Pink Tan Roee Diamant Winston KG Seah and Marc Waldmeyer A survey of tech-
niques and challenges in underwater localization Ocean Engineering 38(14)1663 ndash 1676
2011 ISSN 0029-8018 doi httpsdoiorg101016joceaneng201107017 URL http
wwwsciencedirectcomsciencearticlepiiS0029801811001624
- Front Page
- Table of Contents
- List of Figures
- List of Tables
- 1 Introduction
-
- 11 Context
- 12 Motivation
- 13 Objectives
-
- 2 State of the Art
-
- 21 Underwater Vehicles
- 22 Localization Techniques
-
- 221 Inertial Navigation System
- 222 Geographic position
-
- 23 Acoustic Localization
-
- 231 Underwater Acoustic Communication Channel
- 232 Range Measurement
- 233 Underwater Acoustic Positioning Systems
- 234 Time Difference of Arrival - TDoA
- 235 Direction of Arrival - DoA
- 236 Time of Arrival - ToA
-
- 3 System Thinking
-
- 31 Solution Method
- 32 Hardware Constraints
- 33 QPSK Modulation
- 34 Kasami Sequences
- 35 Correlation Method
- 36 Offline Validation and Results
-
- 361 Improving the ToA Estimation - Hilbert Transform
-
- 37 Summary
-
- 4 Digital Implementation
-
- 41 Hardware Platforms
-
- 411 Transmission
- 412 Reception
-
- 42 Digital System Developed
-
- 421 32 RAMs
- 422 Corr 00 and 11
- 423 RAM holding 16 Kasami Sequences
- 424 Correlation Associator and Total Window Accumulator
- 425 Peak Finder
- 426 Implementation Results
-
- 43 Software
- 44 Summary
-
- 5 Results
-
- 51 Simulation Results
- 52 FEUPs Tank Results
-
- 521 First Test
- 522 Second Test
-
- 6 Conclusion
-
- 61 Objectives Completion
- 62 Future Work
-