reconfigurable localization for auvs based on time of ... · this project is part of a inesc tec...

70
FACULDADE DE E NGENHARIA DA UNIVERSIDADE DO P ORTO Reconfigurable localization for AUVs based on Time of Arrival of encoded acoustic signals Localização de AUVs reconfigurável baseada no Tempo de Chegada de sinais acústicos Tiago Coelho Brandão Pinto Mestrado Integrado em Engenharia Eletrotécnica e de Computadores Supervisor: Professor José Carlos Alves July 24, 2019

Upload: others

Post on 19-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 2: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 3: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 4: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 5: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 6: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 7: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 8: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 9: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 10: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 11: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 12: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 13: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 14: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 15: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 16: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 17: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 18: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 19: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 20: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 21: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 22: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 23: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 24: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 25: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 26: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 27: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 28: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 29: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 30: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 31: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 32: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 33: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 34: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 35: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 36: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 37: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 38: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 39: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 40: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 41: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 42: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 43: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 44: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 45: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 46: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 47: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 48: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 49: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 50: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 51: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 52: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 53: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 54: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 55: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 56: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 57: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 58: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 59: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 60: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 61: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 62: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 63: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 64: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 65: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 66: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 67: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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
Page 68: Reconfigurable localization for AUVs based on Time of ... · This project is part of a INESC TEC project and aims to continue a master thesis work [7], which achieved promising preliminary

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